Transcript
Page 1: The Dark Side of NoSQL

The Dark

Side of NoSQLJohn A. De Goes - @jdegoes

CTO SlamData Inc.

May 20, 2014 -- campDevOps

Page 2: The Dark Side of NoSQL

What

is N

oSQ

L? NoSQL = non-relational, operational,

(generally) distributed

databases.

Page 3: The Dark Side of NoSQL

Battle

of th

e

Para

dig

ms

SQL

• Flat

• Schema-ful

• Uniform

• SQL QL

• Atomic

• Ops Power

• Old/Boring

NoSQL

• Nested

• Schema-less

• Non-Uniform

• Ad Hoc QL

• Varies

• Dev Power

• New/

Exciting!

Page 4: The Dark Side of NoSQL

The R

ise o

f N

oSQ

L

Google Trends“MongoDB vs. Oracle DB”

Page 5: The Dark Side of NoSQL

So what’s the #1

problem with NoSQL?It’s not scaling, migrations, training, etc.

Page 6: The Dark Side of NoSQL

A S

ad, C

om

mon

Sto

ry

1.Dev chooses NoSQL DB

2.App generates data3.PHB wants answers4.Dev / Ops morph into

report monkeys, or5.Dev / Ops build ETL

equivalent of Death Star

Page 7: The Dark Side of NoSQL

What’s the solution?[Drumroll…]

Page 8: The Dark Side of NoSQL

“BI fo

r N

oSQ

L”

Page 9: The Dark Side of NoSQL

• 100% SQL

• 100% NoSQL

• 100% Open Source

• Doors open June 23!!!

“So simple my cat could use it!”*

*Simulated quote from hypothetical user

Page 10: The Dark Side of NoSQL

HTML5 GUI

SlamSQL

SlamEngineMRA

Ria

k

MongoD

B

Etc

.

Page 11: The Dark Side of NoSQL

SlamData

Snazzy BI interface for NoSQL

Page 12: The Dark Side of NoSQL

SlamData

Snazzy BI interface for NoSQL

• Run SlamSQL on different backends and visualize

results

• Create static or interactive reports

• Publish reports online or send them by email

• Very simple now but will evolve into NoSQL BI

Page 13: The Dark Side of NoSQL

SlamSQL

SQL for NoSQL

SELECT C

OUNT(*)

AS cnt,

v

iews[*].

searchTe

rms[*] A

S term,

v

iews[*].

date AS

date

FROM pro

ducts

GROUP BY

views[*

].date,

views[*

].search

Terms[*]

Page 14: The Dark Side of NoSQL

SlamSQL

SQL for NoSQL

• Nothing new to learn

• Backward compatible with ANSI SQL

• New operators to work with heterogeneous, nested

data

• Substantially more composable & expressive than

SQL

• Fully-inferred structural typing

• Intuitive JS syntax for accessing nested data

Page 15: The Dark Side of NoSQL

MRA

Multi-Dimensional Relational Algebra

1.Extends relational algebra

2.Extends relational data model

3.Strictly more powerful than relational

1. Unlike most NoSQL QLs designed for operations!

4.Natively designed for schema-less data

Page 16: The Dark Side of NoSQL

SlamEngine

The Brainz of SlamData

SlamSQL Parser

Structural Type-Inferencer

Logical Plan Compiler

Ria

k Pl

anner

MongoD

B

Planner

Etc

.

Page 17: The Dark Side of NoSQL

SlamEngine

The Brainz of SlamData

1.Written in 100% Scala

2.Clean, modular, robust architecture

3.Geared at supporting many back-ends

4.MongoDB first supported backend

5.Early in development (doesn’t fully support MRA)

6.Rapid progress with growing team

7.Easy admin: install, point & launch!

Page 18: The Dark Side of NoSQL

Quest

ions?

Q: Why is all the text

slanted?

A: Because you should

be paying attention to

the speaker and not trying to read the slides!

Page 19: The Dark Side of NoSQL

Thank you!*

*Special thanks to Laura Crow & the awesome JumpCloud team for

making this talk possible on shorter-than-short notice!

Page 20: The Dark Side of NoSQL

MRA

More

deta

il th

an y

ou e

ver

wante

d t

o k

now

• [*] – array flatten / hidden deconstructing expansion

• {*} – object flatten / hidden deconstructing

expansion• [<] – array dimensional expansion

• {<} – object dimensional expansion

• [e…] – array dimensional aggregation

• {e…} – object dimensional aggregation

• INDICES A – Array index replicating expansion

• FIELDS A – Field name replicating expansion

• A GROUP BY B – dimensional contractionPlus all the standard and extended relational operators!


Top Related