nosql databases in the cloud - great wide open 2014
DESCRIPTION
In this session we'll introduce NoSQL databases and the movement's emerging patterns. We will contrast them to the concepts presented in workshop 1 (attendance is not mandatory). We will discuss a few of the most common open source NoSQL databases, their strengths, use cases, and their operational stories when running in the Cloud. Note: This talk is aimed to developersTRANSCRIPT
NoSQL Databases in the Cloud
Inés SombraI N E S @ E N G I N E Y A R D . C O M
@ R A N D O M M O O D
Today’s Agenda
D E V E L O P M E N T I N T H E C L O U D
M O N G O D B
N O S Q L D AT A B A S E S
R I A K
Https://Www.Flickr.Com/Photos/Danielmarchese/4790411561/
Let’s Jump In
NoSQL Intro & Tenets
Relational Origin
NoSQL Origin
Nosql DatabasesP R A G M AT I C B E G I N N I N G S A D D R E S S R E L AT I O N A L L I M I T AT I O N S
N O U N I F I E D M O D E L S F O R Q U E R Y I N G & D AT A
E N T I T I E S
R E L AT I O N S H I P S
C O N S T R A I N T S
AT T R I B U T E S
Relational ConceptsX
NoSQL PropertiesC O N S I S T E N C Y
AV A I L A B I L I T Y
P A R T I T I O N T O L E R A N C E
What Matters To You When A Partition Happens?
Many Data ModelsK E Y / V A L U E
D O C U M E N T O R I E N T E D
G R A P H
C O L U M N O R I E N T E D
Consistency ModelsS I N G L E M A S T E R M U LT I - M A S T E R
Master
Replica
node
node
node
node
node
N O S Q L D B S I N T H E C L O U D ( A N D A L I T T L E O P S )
Developing & Running
A Little Context D O C U M E N T O R I E N T E D D B B I N A R Y J S O N
* Trivia Q: Why ‘Mongo’?
“ S C H E M A - L E S S ” F L E X I B L E S C H E M A S
Pro: Dreamy ( For Devs)
D E V E L O P E R F R I E N D LY
M A P / R E D U C E
G E O S P AT I A L D AT A
A G G R E G AT I O N F R A M E W O R K
H O W D O E S A G I V E N D AT A B A S E H A N D L E
G R O W T H R E D U C T I O N N O D E F A I L U R E S U P G R A D E S
Detour
( T H I N K I N G I N O P S )
Ops For Devs
Master
Secondary
SecondaryR E P L I C A S E T S
A U T O M AT I C F A I L O V E R
N O D E R E C O V E R Y
Ops For Devs
Sharding Support Out Of The Box!
Pro: There’s More H A N DY S H E L L ‘ M O N G O ’ A L L T H E M J AV A S C R I P T S
V I B R A N T C O M M U N I T Y T O N S O F H O S T I N G O P T I O N S & R E S O U R C E S
ConsC O L L E C T I O N L E V E L L O C K I N G L I M I T S D B S C O P E
S H A R D I N G I S T H E O N LY W AY T O S C A L E W R I T E S
S O M E T I M E S N A I V E A P P R O A C H
Common MistakesN O T U S I N G A F U L L ( 3 ) S E T
U S I N G R E L AT I O N A L S C H E M A S
D I S A B L I N G T H E J O U R N A L
Best Use CaseWhen you need to
store json data & want to richly query it.
* and your app does more reads than writes
N O T L I K E P H Y S I C A L H A R D W A R E C L O U D R E S O U R C E S V I R T U A L I Z E D
* Trivia Q: What is a PaaS?
M O N I T O R I N G M AT T E R S A L O T C A P A C I T Y P L A N N I N G T O O
General Cloud Tips
Cloud Tips
S I Z I N G Y O U R C L U S T E R 6 4 - B I T O N LY - K E E P C U R R E N T
K E E P W O R K I N G S E T I N M E M O R Y D AT A + I N D E X E S
S C A L E U P I F M E T R I C S S H O W I T M M S I S H A N DY
A Little Context K E Y / V A L U E D AT A B A S E V A L U E A G N O S T I C
* Trivia Q: Who Did Dynamo?
E X T R E M E LY F A U LT - T O L E R A N T A L L N O D E S E Q U A L
Pro: Dreamy (For Ops)F A I L U R E S A R E O K
M A P / R E D U C E
S E C O N D A R Y I N D E X E S
F U L L T E X T S E A R C H
Ops For Devs
node1.4.1
node1.4.1
node1.4.1
node1.4.1
node1.4.1
node1.3.0
App
App
App
Pro: Highly Available A LW AY S R E S P O N D I N G M U LT I - D AT A C E N T E R R E P L
S T O R A G E B A C K E N D S B I T C A S K , L E V E L D B , M E M O R Y
* Trivia Q: is MDC free?
ConsM I N I M U M C L U S T E R - S E T I S 5 N O D E S
E V E N T U A L C O N S I S T E N C Y T A K E S S O M E T I M E T O G R O K
Q U E R Y I N G S T O R Y I S M E H G E T T I N G B E T T E R W F T S
Common MistakesN O T U S I N G 5 O R M O R E N O D E S
C H O O S I N G W R O N G B A C K E N D
P R O T O C O L S F O R D E V V S P R O D
L E AV I N G D E F A U LT R I N G S I Z E
Best Use CaseWhen you need a
highly available DB
* and your app does not need a lot of introspection on values
Cloud Tips
M I N D Y O U R D AT A L O C AT I O N E B S V S E P H E M E R A L D R I V E S
C L U S T E R S I Z E M AY N E E D M O R E B I G G E R R I N G S H E L P
C H E C K O U T B A S H O ’ S C L O U D D O C S T H E I R D O C S A R E G R E AT
Let’s Wrap Up
( + R E S O U R C E S & Q & A )
Another Advantage
NoSQL Distilled: Fowler & Sadalage
My awesome e-commerce site
Shopping cart & session data
Completed Inventory and item pricing
Session Storage serviceK/V Store
Order Persistence
serviceDocument
Store
Inventory & Price service
RDBMS
Nodes and relations service
Graph Store
Recommendations engine
Questions?
T H A N K Y O U !
G I T H U B . C O M / R A N D O M M O O D /G R E AT W I D E O P E N 2 0 1 4