Relational Databases in the Cloud
Jun 14, 2015
Relational 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 ( A N D A D A S H O F O P S )
M Y S Q L
R E L AT I O N A L D AT A B A S E S
P O S T G R E S Q L
Http://Www.Flickr.Com/Photos/Nathaninsandiego/5819143579/
Let’s Get
Started!
Relational Intro & Tenets
Relational Origin
Relational DatabasesD AT A P E R C E I V E D B Y U S E R S A S T A B L E S & O N LY T A B L E S
O P E R AT O R S G E N E R AT E N E W T A B L E S F R O M O L D
* Trivia Q1: Why ‘Relation’?
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 Concepts
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 Concepts
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 Concepts
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 Concepts
Relational Data Model
Relational Data Model
On SQLD M L : D AT A M A N I P U L AT I O N ( S E L E C T , I N S E R T , U P D AT E … )
D D L : D AT A D E F I N I T I O N ( C R E AT E , D R O P , A LT E R )
D C L : D AT A C O N T R O L ( G R A N T , R E V O K E )
Relational Properties AT O M I C I T Y
C O N S I S T E N C Y
I S O L AT I O N
D U R A B I L I T Y
Http://Www.Flickr.Com/Photos/Mukumbura/12828737425/
Our Databases
A Little Context I N T R O D U C E D 1 9 9 4 ( I S H ) V 5 . 6 . 1 7 C U R R E N T S T A B L E
* Trivia Q2: Why ‘My’?
V E R Y P E R V A S I V E D U E T O L A M P S T A C K & D E F A U LT S
Multi Masters 1 0 / 2 0 0 5 O R A C L E B U Y S I N N O B A S E 0 2 / 2 0 0 6 O R A C L E B U Y S S L E E P Y C AT 0 1 / 2 0 0 8 S U N B U Y S M Y S Q L 0 4 - 0 8 / 2 0 0 9 O R A C L E B U Y S S U N
Pro: Storage Engines
* Trivia Q3: Current Default?
I N N O D B
M Y I S A M
M E M O R Y
C S V
A R C H I V E
Pro: Distros & ClusteringX T R A D B
M A R I A D B
W E B S C A L E D B
T O K U D B
G A L E R A
Pro: Extras C R A Z Y M I G R AT I O N S O N R E P L I C A S
C O M M E R C I A L E C O S Y S T E M R E P L I C AT O R S & C O N N E C T O R S
ConsE X P L A I N & Q U E R Y P L A N N E R K I N D A M E H
O R A C L E R E L AT I O N S H I P I S P R O B L E M AT I C F O R I T S C O M M U N I T Y
Common MistakesS I M P L E T U R N S Y O U L A Z Y
N O T U S I N G I N N O D B
W E A K / M I S S I N G V A L I D AT I O N S
Best Use CaseWhen you need a clustered RDBMS
* that works off the shelf and the option of commercial
support
A Little Context D E E P A C A D E M I C R O O T S B E R K E L E Y ’ S P O S T G R E S ( 9 5 )
* Trivia Q: Why An Elephant?
O B J E C T D AT A B A S E C O M M U N I T Y O W N E D
Pro: Versatile M V C C
F T S
F D W S
E X T E N S I O N S
L A N G U A G E S
F L E X I B L E D AT A
Pro: Versatile L I S T E N / N O T I F Y
F L E X I B L E I N D E X E S
P E R T R A N S A C T I O N S Y N C H R O N O U S R E P L I C AT I O N
B - T R E E S D E F A U LT. N U M E R I C , T E X T , N U L L
H A S H E Q U A L I T Y . D O N ’ T U S E G I N A R R AY V A L U E S & F T S G I S T G E O M E T R I C D AT A & F T S
They Can Be Created Concurrently!
Many Indexes
P A R T I A L I N D E X E S I N D E X + W H E R E C L A U S E
E X P R E S S I O N I N D E X E S M AT C H O N F U N C T I O N / M O D I F I C AT I O N U N I Q U E I N D E X E S P R E V E N T S D U P E S S O R T E D I N D E X E S A LT E R B - T R E E F R O M A S C T O D E S C
Many Indexes
ConsC L U S T E R I N G S T O R Y I S N O T Q U I T E T H E R E Y E T
M O R E S T R I C T I N T E R M S O F T Y P E S . N O M O R E S H E N A N I G A N S !
Common MistakesU N N E C E S S A R Y I N D E X E S ( M U LT I - C O L U M N )
O V E R L O O K E X T E N S I O N S
G I V I N G U P O N I N S T A L L
When you need an amazingly versatile & powerful RDBMS
* and replica promotion is enough
Best Use Case
Developing & Running * D B S I N T H E C L O U D
Know Your ReplicationD B R E P L I C AT I O N I S A M U S T H AV E
U S E D I F F E R E N T F A I L U R E D O M A I N S
U N D E R S T A N D D R / H A O P T I O N S
P R A C T I C E R E P L I C A P R O M O T I O N S
B A C K U P S≠D I S A S T E R R E C O V E R Y
H AV E A P L A N & P R A C T I C E I T !
Expect Failures
DB Masterus-east-1a
Replicaus-east-1b
App
App X
Let’s Wrap Up
( + R E S O U R C E S & Q & A )
RDBMSs C O M P L I C AT E D B Y D E S I G N T O
M A K E Y O U R L I F E S I M P L E R
L E V E R A G E T H E M A P P R O P R I AT E LY
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