SlideShare una empresa de Scribd logo
1 de 54
Descargar para leer sin conexión
NoSQL 
and 
SQL: 
The 
Best 
of 
Both 
Worlds 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Andrew 
Morgan 
@andrewmorgan 
clusterdb.com 
18th 
November 
2014
Safe 
Harbor 
Statement 
The 
following 
is 
intended 
to 
outline 
our 
general 
product 
direcPon. 
It 
is 
intended 
for 
informaPon 
purposes 
only, 
and 
may 
not 
be 
incorporated 
into 
any 
contract. 
It 
is 
not 
a 
commitment 
to 
deliver 
any 
material, 
code, 
or 
funcPonality, 
and 
should 
not 
be 
relied 
upon 
in 
making 
purchasing 
decisions. 
The 
development, 
release, 
and 
Pming 
of 
any 
features 
or 
funcPonality 
described 
for 
Oracle’s 
products 
remains 
at 
the 
sole 
discrePon 
of 
Oracle. 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
|
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
|
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Session 
Agenda 
• NoSQL 
– 
What 
are 
people 
looking 
for? 
• RDBMS 
– 
What 
advantages 
do 
they 
sPll 
have? 
• How 
MySQL 
Delivers 
the 
Best 
of 
Both 
Worlds 
– MySQL 
Cluster 
• NoSQL 
aXributes: 
Scale-­‐out, 
performance, 
ease-­‐of-­‐use, 
schema 
flexibility, 
on-­‐line 
operaPons 
• NoSQL 
APIs 
– Key-­‐Value 
store 
access 
to 
InnoDB 
(Memcached)
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Types 
of 
NoSQL 
stores 
Key-­‐Value 
• Cassandra 
• Memcached 
• BigTable 
• Hadoop 
• Voldermort 
Document 
• MongoDB 
• CouchDB 
Graph 
• Neo4J 
• FlockDB
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Key-­‐Value 
Store
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
|
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Graph 
Database
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
• Massive 
scalability 
– No 
applicaPon-­‐level 
sharding 
• Performance 
• High 
Availability/Fault 
Tolerance 
• Ease 
of 
use 
– Simple 
operaPons/administraPon 
– Simple 
APIs 
– Quickly 
evolve 
applicaPon 
& 
schema 
Scalability 
Performance 
HA 
Ease 
of 
use 
What 
NoSQL 
must 
deliver
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
|
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
NoSQL 
Simple 
access 
paXerns 
Compromise 
on 
consistency 
for 
performance 
Ad-­‐hoc 
data 
format 
Simple 
operaPon 
SQL 
Complex 
queries 
with 
joins 
ACID 
transacPons 
Well 
defined 
schemas 
Rich 
set 
of 
tools 
• No 
best 
single 
soluPon 
fits 
all 
• Mix 
and 
match 
SPll 
a 
role 
for 
SQL 
(RDBMS)? 
Scalability 
Performance 
HA 
Ease 
of 
use 
SQL/Joins 
ACID 
Transac>ons
The 
TemptaPon 
to 
Jejson 
RelaPonal 
Model 
• RelaPonal 
commenter 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Model: 
– Data 
stored 
in 
mulPple 
tables 
– Many 
lookups 
to 
retrieve 
a 
user’s 
Pmeline 
– Is 
it 
worth 
the 
effort 
in 
sejng 
up 
this 
complex 
data 
model? 
• Simpler 
just 
to 
store 
as 
one 
document? 
The 
allure 
of 
document 
stores 
Examples 
borrowed 
from 
@sarahmei 
one 
hXps://speakerdeck.com/sarahmei/switching-­‐data-­‐stores-­‐a-­‐postmodern-­‐comedy 
user 
friend 
post 
comment 
like 
liker 
many 
many 
many 
one 
many
The 
TemptaPon 
to 
Jejson 
RelaPonal 
Model 
• Document 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Model: 
– EnPre 
Pmeline 
in 
a 
single 
document 
(row) 
– Single 
lookup 
to 
retrieve 
the 
user’s 
Pmeline 
– Brilliantly 
efficient 
model 
when 
the 
document 
truly 
contains 
self-­‐ 
contained 
informaPon 
• Like 
a 
real-­‐world 
document! 
The 
allure 
of 
document 
stores 
{name: ‘Joe’, 
url: ‘http://clusterdb.com’, 
stream:[ 
{friend:{ 
name: ‘Jane’, 
posts:[{content: ‘…’, 
comments:[ 
{comment: ‘…’, 
commenter: ‘Joe’}, 
{…} 
], 
likes: [‘Joe’, ‘Fred’, ‘Billy’] 
}, 
{…},{…},… 
] 
}, {…},{…},… 
}
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
|
The 
TemptaPon 
to 
Jejson 
RelaPonal 
Model 
• These 
are 
all 
people 
who 
have 
their 
own 
data 
that 
users 
will 
want 
to 
view 
or 
click 
through: 
– Name 
– url 
– Timeline 
• Easy 
to 
represent 
with 
FKs 
in 
a 
relaPonal 
model 
commenter 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
But 
when 
the 
data 
isn’t 
self 
contained… 
user 
friend 
post 
comment 
one 
like 
liker 
many 
many 
many 
one 
many
The 
TemptaPon 
to 
Jejson 
RelaPonal 
Model 
• Do 
I 
store 
all 
data 
for 
all 
friends 
and 
likers 
again 
at 
every 
point 
they 
appear 
in 
the 
document? 
• Massive 
amount 
of 
repeated 
data 
– Wasted 
space 
– Needs 
to 
be 
kept 
in 
sync 
(and 
you 
don’t 
have 
transacPons 
to 
provide 
consistency) 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
The 
allure 
of 
document 
stores 
{name: ‘Joe’, 
url: ‘http://clusterdb.com’, 
stream:[ 
{friend:{ 
name: ‘Jane’, 
posts:[{content: ‘…’, 
comments:[ 
{comment: ‘…’, 
commenter: ‘Joe’}, 
{…} 
], 
likes: [‘Joe’, ‘Fred’, ‘Billy’] 
}, 
{…},{…},… 
] 
}, {…},{…},… 
}
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
|
The 
TemptaPon 
to 
Jejson 
RelaPonal 
Model 
• The 
reality 
is 
that 
the 
developer 
will 
store 
the 
user-­‐ids 
instead 
• Developer 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
is 
responsible 
for 
implemenPng 
‘joins’ 
in 
the 
applicaPon 
– e.g. 
scanning 
all 
Pmelines 
for 
where 
a 
user 
made 
a 
comment 
or 
liked 
a 
post 
• No 
transacPons 
to 
ensure 
consistency 
between 
documents 
The 
allure 
of 
document 
stores 
{name: 83746251, 
url: ‘…’ 
stream:[ 
{friend:{ 
name: 9384726153, 
posts:[{content: ‘…’, 
comments:[ 
{comment: ‘…’, 
commenter: 83746251}, 
{…} 
], 
likes: [83746251, 750730283, 
2938493820] 
}, 
{…},{…},… 
] 
}, {…},{…},… 
}
The 
TemptaPon 
to 
Jejson 
RelaPonal 
Model 
• Each 
aXribute’s 
labels 
are 
stored 
in 
every 
document 
– More 
wasted 
space 
– Developers 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
compensate 
by 
replacing 
with 
short 
names 
The 
allure 
of 
document 
stores 
{n5: 83746251, 
u2: ‘…’ 
s1:[ 
{f2:{ 
n5: 9384726153, 
p4:[{c4: ‘…’, 
c3:[ 
{c2: ‘…’, 
c8: 83746251}, 
{…} 
], 
l5: [83746251, 750730283, 
2938493820] 
}, 
{…},{…},… 
] 
}, {…},{…},… 
}
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
|
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
MySQL 
Cluster 
Overview 
• Auto-­‐Sharding, 
MulP-­‐Master 
• ACID 
Compliant, 
OLTP 
+ 
Real-­‐Time 
AnalyPcs 
HIGH 
SCALE, 
READS 
+ 
WRITES 
• Shared 
nothing, 
no 
Single 
Point 
of 
Failure 
• Self 
Healing 
99.999% 
AVAILABILITY 
+ 
On-­‐Line 
OperaPons 
• In-­‐Memory 
OpPmizaPon 
+ 
Disk-­‐Data 
REAL-­‐TIME 
• Predictable 
Low-­‐Latency, 
Bounded 
Access 
Time 
• Key/Value 
+ 
Complex, 
RelaPonal 
Queries 
SQL 
+ 
NoSQL 
• SQL 
+ 
Memcached 
+ 
JavaScript 
+ 
Java 
+ 
HTTP/REST 
& 
C++ 
• Open 
Source 
+ 
Commercial 
EdiPons 
LOW 
TCO 
• Commodity 
hardware 
+ 
Management, 
Monitoring 
Tools
Who’s 
Using 
MySQL 
Cluster? 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
|
MySQL 
Cluster 
Architecture 
MySQL 
Cluster 
Data 
Nodes 
Clients 
ApplicaPon 
Layer 
Data 
Layer 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
|
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
MySQL 
Cluster 
Scaling 
MySQL 
Cluster 
Data 
Nodes 
Clients 
ApplicaPon 
Layer 
Data 
Layer
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
|
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
MySQL 
Cluster 
HA 
MySQL 
Cluster 
Data 
Nodes 
Clients 
ApplicaPon 
Layer 
Data 
Layer
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
On-­‐line 
OperaPons 
• Scale 
the 
cluster 
(add 
& 
remove 
nodes 
on-­‐line) 
• ReparPPon 
tables 
• Upgrade 
/ 
patch 
servers 
& 
OS 
• Upgrade 
/ 
patch 
MySQL 
Cluster 
• Back-­‐Up 
• Evolve 
the 
schema 
on-­‐line, 
in 
real-­‐Pme
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
|
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
|
1.2 
Billion 
UPDATEs 
per 
Minute 
• NoSQL 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
C++ 
API, 
flexaSynch 
benchmark 
• 30 
x 
Intel 
E5-­‐2600 
Intel 
Servers, 
2 
socket, 
64GB 
• ACID 
TransacPons, 
with 
Synchronous 
ReplicaPon 
25 
Millions of UPDATEs per Second MySQL Cluster Data Nodes 
20 
15 
10 
5 
0 
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
Query Execution Time Seconds 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Join 
Performance 
100 
90 
80 
70 
60 
50 
40 
30 
20 
10 
• Web-­‐Based 
87.23 
seconds 
Content 
Management 
System 
– JOINs 
11-­‐tables, 
33.5k 
rows 
– Returns 
2k 
rows, 
19 
columns 
per 
row 
0 
MySQL Cluster 7.1 MySQL Cluster 7.2 
1.26 
seconds 
70x 
Faster 
Scalability 
!" 
Performance 
!" 
HA 
!" 
Ease 
of 
use 
SQL/Joins 
!" 
ACID 
Transac>ons 
!"
MySQL Cluster 7.4.1 DMR 
Better performance and operational simplicity 
9000" 
8000" 
7000" 
6000" 
5000" 
4000" 
3000" 
2000" 
1000" 
Sysbench)R/W) 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
10000" 
9000" 
8000" 
7000" 
6000" 
5000" 
4000" 
3000" 
2000" 
1000" 
• Performance 
Sysbench)RO) 
gain 
over 
7.3 
– 47% 
(Read-­‐Only) 
– 38% 
(Read-­‐Write) 
0" 
64" 128" 256" 512" 
Transac'on)per)second) 
Threads) 
7.4.0" 
7.3.5" 
7.2.16" 
0" 
64" 128" 256" 512" 
Transac'ons)per)second) 
Threads) 
7.4.0" 
7.3.5" 
7.2.16" 
• Faster 
node 
restarts
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
|
CreaPng 
& 
running 
your 
first 
Cluster 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Download 
& 
Extract 
• edelivery.oracle.com 
• www.mysql.com 
• dev.mysql.com 
Configure 
• Cluster-­‐wide 
“config.ini” 
• Per-­‐mysqld 
“my.cnf” 
Start 
processes 
• Management 
Nodes 
• Data 
Nodes 
• MySQL 
Servers
Scalability 
!" 
Performance 
!" 
HA 
!" 
Ease 
of 
use 
!" 
SQL/Joins 
!" 
ACID 
Transac>ons 
!" 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
|
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
|
MySQL 
Cluster 
Auto-­‐Installer 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
• Fast 
configuraPon 
• Auto-­‐discovery 
• Workload 
opPmized 
• Repeatable 
best 
pracPces 
Specify 
Workload 
Auto-­‐ 
Discover 
Define 
Deploy 
Topology
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
|
MySQL 
Cluster 
Manager 
1. Download 
MCM/Cluster 
package 
from 
edelivery.oracle.com: 
2. Unzip 
3. Run 
agent, 
define, 
create 
& 
start 
Cluster! 
$> binmcmd --bootstrap 
MySQL Cluster Manager 1.1.2 started 
Connect to MySQL Cluster Manager by running "D:AndrewDocumentsMySQLmcmbinmcm" -a NOVA:1862 
Configuring default cluster 'mycluster'... 
Starting default cluster 'mycluster'... 
Cluster 'mycluster' started successfully 
ndb_mgmd NOVA:1186 
ndbd NOVA 
ndbd NOVA 
mysqld NOVA:3306 
mysqld NOVA:3307 
ndbapi * 
Connect to the database by running "D:AndrewDocumentsMySQLmcmclusterbinmysql" -h NOVA -P 3306 -u root 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
|
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
MCM: 
Upgrade 
Cluster 
mysql> upgrade cluster 
--package=7.3 mycluster;
Scalability 
!" 
Performance 
!" 
HA 
!" 
Ease 
of 
use 
!" 
SQL/Joins 
!" 
ACID 
Transac>ons 
!" 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
|
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
|
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
|
NoSQL 
Access 
to 
MySQL 
Cluster 
data 
Apps 
Apps 
Apps 
Apps 
Apps 
Apps 
Apps 
Apps 
Apps 
Apps 
Apps 
Apps 
JPA 
Cluster 
JPA 
PHP 
Perl 
Python 
Ruby 
JDBC 
Cluster 
J 
JS 
Apache 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Memcached 
MySQL 
JNI 
Node.JS 
mod_ndb 
ndb_eng 
NDB 
API 
(C++) 
MySQL 
Cluster 
Data 
Nodes
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Schema-­‐Free 
apps 
• Rapid 
applicaPon 
evoluPon 
– New 
types 
of 
data 
constantly 
added 
– No 
Pme 
to 
get 
schema 
extended 
– Missing 
skills 
to 
extend 
schema 
– IniPally 
roll 
out 
to 
just 
a 
few 
users 
– Constantly 
adding 
to 
live 
system
Cluster 
& 
Memcached 
– 
Schema-­‐Free 
key 
value 
<town:maidenhead,SL6> 
key 
value 
<town:maidenhead,SL6> 
Key 
Value 
town:maidenhead 
SL6 
generic 
table 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
ApplicaPon 
view 
SQL 
view
Cluster 
& 
Memcached 
-­‐ 
Configured 
Schema 
key 
value 
<town:maidenhead,SL6> 
prefix 
key 
value 
<town:maidenhead,SL6> 
Prefix 
Table 
Key-­‐col 
Val-­‐col 
policy 
town: 
map.zip 
town 
code 
cluster 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Config 
tables 
town 
... 
code 
... 
maidenhead 
... 
SL6 
... 
map.zip 
ApplicaPon 
view 
SQL 
view
MySQL 
5.6 
Memcached 
with 
InnoDB 
80000 
70000 
60000 
50000 
40000 
30000 
20000 
10000 
0 
8 32 128 512 
TPS 
SQL 
Memcached 
Protocol 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Client Connections 
Memcached API 
SQL 
Clients 
and 
Applica>ons 
MySQL 
Server 
Memcached 
Plug-­‐in 
innodb_ 
memcached 
local 
cache 
(opPonal) 
Handler 
API 
InnoDB 
API 
InnoDB 
Storage 
Engine 
mysqld 
process 
Up 
to 
9x 
Higher 
“SET 
/ 
INSERT” 
Throughput
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Node.js 
NoSQL 
API 
• NaPve 
JavaScript 
access 
to 
MySQL 
Cluster 
– End-­‐to-­‐End 
JavaScript: 
browser 
to 
the 
app 
& 
DB 
– Storing 
and 
retrieving 
JavaScript 
objects 
directly 
in 
MySQL 
Cluster 
– Eliminate 
SQL 
transformaPon 
• Implemented 
as 
a 
module 
for 
node.js 
– Integrates 
Cluster 
API 
library 
within 
the 
web 
app 
• Couple 
high 
performance, 
distributed 
apps, 
with 
high 
performance 
distributed 
database 
• OpPonally 
routes 
through 
MySQL 
Server 
– Use 
with 
InnoDB 
V8 JavaScript Engine 
MySQL Cluster Node.js Module 
MySQL Cluster Data Nodes 
Clients
NoSQL 
API 
for 
Node.js 
& 
FKs 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
FKs 
enforced 
on 
all 
APIs: 
{ message: 'Error', 
sqlstate: '23000', 
ndb_error: null, 
cause: 
{message: 'Foreign key constraint violated: No parent row found [255]', 
sqlstate: '23000', 
ndb_error: 
{ message: 'Foreign key constraint violated: No parent row found', 
code: 255, 
classification: 'ConstraintViolation', 
handler_error_code: 151, 
status: 'PermanentError' }, 
cause: null } }
Oracle University MySQL Training Services 
Prepare Your Organization to Enable Reliable and High-Performance Web-Based Database Applications 
Top Courses for Administrators and Developers 
Top Certifications 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
“Training and team skill 
have the most significant impact on overall performance of 
technology and success of technology projects.” - IDC, 2013 
Premier Support customers eligible to 
save 20% on learning credits. 
Benefits 
§ 
Expert-led training to support your MySQL learning needs 
§ Flexibility to train in the classroom or online 
§ Hands-on experience to gain real world experience 
§ Key skills needed for database administrators and developers 
• MySQL for Beginners 
§ MySQL for Database Administrators 
§ MySQL Performance Tuning 
§ MySQL Cluster – NEW - Register Your Interest! 
§ MySQL and PHP - Developing Dynamic Web Applications 
§ MySQL for Developers 
§ MySQL Developer Techniques 
§ MySQL 5.6 Database Administrator 
§ MySQL 5.6 Developer 
To find out more about available MySQL Training & Certification 
offerings, go to: education.oracle.com/mysql 
RECENTLY 
RELEASED 
!!ALL 
NEW!! 
MySQL 
Cluster 
Training 
To 
Register 
your 
interest 
to 
influence 
the 
schedule 
on 
this 
newly 
released 
course 
– 
go 
to 
educaPon.oracle.com/mysql 
and 
click 
on 
the 
MySQL 
Cluster 
Course
• Tomas 
Ulin 
– Vice 
President 
of 
the 
MySQL 
Engineering 
Team 
• Oracle 
DBAs, 
Make 
the 
Most 
of 
MySQL 
• Wednesday 
11:00-­‐11:45 
MySQL 
Keynote 
@ 
DOAG2014 
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
|
Copyright 
© 
2014, 
Oracle 
and/or 
its 
affiliates. 
All 
rights 
reserved. 
| 
Next 
Steps 
Learn 
More 
• www.mysql.com/cluster 
• AuthenPc 
MySQL 
Curriculum: 
hXp://oracle.com/educaPon/mysql 
Try 
it 
Out 
• dev.mysql.com/downloads/cluster/ 
Let 
us 
know 
what 
you 
think 
• clusterdb.com 
• @clusterdb 
• forums.mysql.com/list.php?25
NoSQL and SQL - Why Choose? Enjoy the best of both worlds with MySQL

Más contenido relacionado

La actualidad más candente

Unbreakable SharePoint 2016 with SQL Server 2016 Always On Availability groups
Unbreakable SharePoint 2016 with SQL Server 2016 Always On Availability groupsUnbreakable SharePoint 2016 with SQL Server 2016 Always On Availability groups
Unbreakable SharePoint 2016 with SQL Server 2016 Always On Availability groupsserge luca
 
KoprowskiT_Session2_SDNEvent_SourceControlForDBA
KoprowskiT_Session2_SDNEvent_SourceControlForDBAKoprowskiT_Session2_SDNEvent_SourceControlForDBA
KoprowskiT_Session2_SDNEvent_SourceControlForDBATobias Koprowski
 
Walkthrough Neo4j 1.9 & 2.0
Walkthrough Neo4j 1.9 & 2.0Walkthrough Neo4j 1.9 & 2.0
Walkthrough Neo4j 1.9 & 2.0Neo4j
 
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...J V
 
Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...
Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...
Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...serge luca
 
New life inside monolithic application
New life inside monolithic applicationNew life inside monolithic application
New life inside monolithic applicationTaras Matyashovsky
 
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...Lars Platzdasch
 
The Rise of NoSQL and Polyglot Persistence
The Rise of NoSQL and Polyglot PersistenceThe Rise of NoSQL and Polyglot Persistence
The Rise of NoSQL and Polyglot PersistenceAbdelmonaim Remani
 
SQL Server Alwayson for SharePoint HA/DR Step by Step Guide
SQL Server Alwayson for SharePoint HA/DR Step by Step GuideSQL Server Alwayson for SharePoint HA/DR Step by Step Guide
SQL Server Alwayson for SharePoint HA/DR Step by Step GuideLars Platzdasch
 
Dockerizing Oracle Database
Dockerizing Oracle Database Dockerizing Oracle Database
Dockerizing Oracle Database gvenzl
 
Ultimate SharePoint Infrastructure Best Practises Session - Isle of Man Share...
Ultimate SharePoint Infrastructure Best Practises Session - Isle of Man Share...Ultimate SharePoint Infrastructure Best Practises Session - Isle of Man Share...
Ultimate SharePoint Infrastructure Best Practises Session - Isle of Man Share...Michael Noel
 
Oracle SQL Developer for the DBA
Oracle SQL Developer for the DBAOracle SQL Developer for the DBA
Oracle SQL Developer for the DBAJeff Smith
 
Running Oracle EBS in the cloud (DOAG TECH17 edition)
Running Oracle EBS in the cloud (DOAG TECH17 edition)Running Oracle EBS in the cloud (DOAG TECH17 edition)
Running Oracle EBS in the cloud (DOAG TECH17 edition)Andrejs Prokopjevs
 
LinkedIn - A Professional Network built with Java Technologies and Agile Prac...
LinkedIn - A Professional Network built with Java Technologies and Agile Prac...LinkedIn - A Professional Network built with Java Technologies and Agile Prac...
LinkedIn - A Professional Network built with Java Technologies and Agile Prac...LinkedIn
 
Using Oracle Database with Amazon Web Services
Using Oracle Database with Amazon Web ServicesUsing Oracle Database with Amazon Web Services
Using Oracle Database with Amazon Web Servicesguest484c12
 
Plone pas.plugins.ldap user/group search
Plone pas.plugins.ldap user/group searchPlone pas.plugins.ldap user/group search
Plone pas.plugins.ldap user/group searchfredvd
 
Workflow Manager Tips & Tricks
Workflow Manager Tips & TricksWorkflow Manager Tips & Tricks
Workflow Manager Tips & TricksMai Omar Desouki
 

La actualidad más candente (20)

Unbreakable SharePoint 2016 with SQL Server 2016 Always On Availability groups
Unbreakable SharePoint 2016 with SQL Server 2016 Always On Availability groupsUnbreakable SharePoint 2016 with SQL Server 2016 Always On Availability groups
Unbreakable SharePoint 2016 with SQL Server 2016 Always On Availability groups
 
KoprowskiT_Session2_SDNEvent_SourceControlForDBA
KoprowskiT_Session2_SDNEvent_SourceControlForDBAKoprowskiT_Session2_SDNEvent_SourceControlForDBA
KoprowskiT_Session2_SDNEvent_SourceControlForDBA
 
Walkthrough Neo4j 1.9 & 2.0
Walkthrough Neo4j 1.9 & 2.0Walkthrough Neo4j 1.9 & 2.0
Walkthrough Neo4j 1.9 & 2.0
 
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
 
Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...
Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...
Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...
 
New life inside monolithic application
New life inside monolithic applicationNew life inside monolithic application
New life inside monolithic application
 
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...
SQL AlwaysON for SharePoint HA/DR on Azure Global Azure Bootcamp 2017 Eisenac...
 
YARN
YARNYARN
YARN
 
The Rise of NoSQL and Polyglot Persistence
The Rise of NoSQL and Polyglot PersistenceThe Rise of NoSQL and Polyglot Persistence
The Rise of NoSQL and Polyglot Persistence
 
SQL Server Alwayson for SharePoint HA/DR Step by Step Guide
SQL Server Alwayson for SharePoint HA/DR Step by Step GuideSQL Server Alwayson for SharePoint HA/DR Step by Step Guide
SQL Server Alwayson for SharePoint HA/DR Step by Step Guide
 
Dockerizing Oracle Database
Dockerizing Oracle Database Dockerizing Oracle Database
Dockerizing Oracle Database
 
Ultimate SharePoint Infrastructure Best Practises Session - Isle of Man Share...
Ultimate SharePoint Infrastructure Best Practises Session - Isle of Man Share...Ultimate SharePoint Infrastructure Best Practises Session - Isle of Man Share...
Ultimate SharePoint Infrastructure Best Practises Session - Isle of Man Share...
 
Oracle SQL Developer for the DBA
Oracle SQL Developer for the DBAOracle SQL Developer for the DBA
Oracle SQL Developer for the DBA
 
Running Oracle EBS in the cloud (DOAG TECH17 edition)
Running Oracle EBS in the cloud (DOAG TECH17 edition)Running Oracle EBS in the cloud (DOAG TECH17 edition)
Running Oracle EBS in the cloud (DOAG TECH17 edition)
 
LinkedIn - A Professional Network built with Java Technologies and Agile Prac...
LinkedIn - A Professional Network built with Java Technologies and Agile Prac...LinkedIn - A Professional Network built with Java Technologies and Agile Prac...
LinkedIn - A Professional Network built with Java Technologies and Agile Prac...
 
Using Oracle Database with Amazon Web Services
Using Oracle Database with Amazon Web ServicesUsing Oracle Database with Amazon Web Services
Using Oracle Database with Amazon Web Services
 
Wt unit 1 ppts web development process
Wt unit 1 ppts web development processWt unit 1 ppts web development process
Wt unit 1 ppts web development process
 
Plone pas.plugins.ldap user/group search
Plone pas.plugins.ldap user/group searchPlone pas.plugins.ldap user/group search
Plone pas.plugins.ldap user/group search
 
Avoid boring work_v2
Avoid boring work_v2Avoid boring work_v2
Avoid boring work_v2
 
Workflow Manager Tips & Tricks
Workflow Manager Tips & TricksWorkflow Manager Tips & Tricks
Workflow Manager Tips & Tricks
 

Similar a NoSQL and SQL - Why Choose? Enjoy the best of both worlds with MySQL

MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)Ryusuke Kajiyama
 
OUG Scotland 2014 - NoSQL and MySQL - The best of both worlds
OUG Scotland 2014 - NoSQL and MySQL - The best of both worldsOUG Scotland 2014 - NoSQL and MySQL - The best of both worlds
OUG Scotland 2014 - NoSQL and MySQL - The best of both worldsAndrew Morgan
 
A practical introduction to Oracle NoSQL Database - OOW2014
A practical introduction to Oracle NoSQL Database - OOW2014A practical introduction to Oracle NoSQL Database - OOW2014
A practical introduction to Oracle NoSQL Database - OOW2014Anuj Sahni
 
New data dictionary an internal server api that matters
New data dictionary an internal server api that mattersNew data dictionary an internal server api that matters
New data dictionary an internal server api that mattersAlexander Nozdrin
 
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)Andrew Morgan
 
20141011 my sql clusterv01pptx
20141011 my sql clusterv01pptx20141011 my sql clusterv01pptx
20141011 my sql clusterv01pptxIvan Ma
 
Simplify IT: Oracle SuperCluster
Simplify IT: Oracle SuperCluster Simplify IT: Oracle SuperCluster
Simplify IT: Oracle SuperCluster Fran Navarro
 
Using MySQL Enterprise Monitor for Continuous Performance Improvement
Using MySQL Enterprise Monitor for Continuous Performance ImprovementUsing MySQL Enterprise Monitor for Continuous Performance Improvement
Using MySQL Enterprise Monitor for Continuous Performance ImprovementMark Matthews
 
MySQL & Oracle Linux Keynote at Open Source India 2014
MySQL & Oracle Linux Keynote at Open Source India 2014MySQL & Oracle Linux Keynote at Open Source India 2014
MySQL & Oracle Linux Keynote at Open Source India 2014Sanjay Manwani
 
MySQL 5.6, news in 5.7 and our HA options
MySQL 5.6, news in 5.7 and our HA optionsMySQL 5.6, news in 5.7 and our HA options
MySQL 5.6, news in 5.7 and our HA optionsTed Wennmark
 
Introduction to MySQL
Introduction to MySQLIntroduction to MySQL
Introduction to MySQLTed Wennmark
 
MySQL Enterprise Portfolio
MySQL Enterprise PortfolioMySQL Enterprise Portfolio
MySQL Enterprise PortfolioAbel Flórez
 
Oracle Cloud DBaaS
Oracle Cloud DBaaSOracle Cloud DBaaS
Oracle Cloud DBaaSArush Jain
 
MySQL London Tech Tour March 2015 - Embedded Database of Choice
MySQL London Tech Tour March 2015 - Embedded Database of ChoiceMySQL London Tech Tour March 2015 - Embedded Database of Choice
MySQL London Tech Tour March 2015 - Embedded Database of ChoiceMark Swarbrick
 
Introdução ao Oracle NoSQL
Introdução ao Oracle NoSQLIntrodução ao Oracle NoSQL
Introdução ao Oracle NoSQLBruno Borges
 
[db tech showcase Tokyo 2018] #dbts2018 #B31 『1,2,3 and Done! 3 easy ways to ...
[db tech showcase Tokyo 2018] #dbts2018 #B31 『1,2,3 and Done! 3 easy ways to ...[db tech showcase Tokyo 2018] #dbts2018 #B31 『1,2,3 and Done! 3 easy ways to ...
[db tech showcase Tokyo 2018] #dbts2018 #B31 『1,2,3 and Done! 3 easy ways to ...Insight Technology, Inc.
 
20140722 Taiwan MySQL User Group Meeting Tech Updates
20140722 Taiwan MySQL User Group Meeting Tech Updates20140722 Taiwan MySQL User Group Meeting Tech Updates
20140722 Taiwan MySQL User Group Meeting Tech UpdatesRyusuke Kajiyama
 
Change Management for Oracle Database with SQLcl
Change Management for Oracle Database with SQLcl Change Management for Oracle Database with SQLcl
Change Management for Oracle Database with SQLcl Jeff Smith
 

Similar a NoSQL and SQL - Why Choose? Enjoy the best of both worlds with MySQL (20)

MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)
 
OUG Scotland 2014 - NoSQL and MySQL - The best of both worlds
OUG Scotland 2014 - NoSQL and MySQL - The best of both worldsOUG Scotland 2014 - NoSQL and MySQL - The best of both worlds
OUG Scotland 2014 - NoSQL and MySQL - The best of both worlds
 
A practical introduction to Oracle NoSQL Database - OOW2014
A practical introduction to Oracle NoSQL Database - OOW2014A practical introduction to Oracle NoSQL Database - OOW2014
A practical introduction to Oracle NoSQL Database - OOW2014
 
New data dictionary an internal server api that matters
New data dictionary an internal server api that mattersNew data dictionary an internal server api that matters
New data dictionary an internal server api that matters
 
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
 
Oracle Database Cloud Service
Oracle Database Cloud ServiceOracle Database Cloud Service
Oracle Database Cloud Service
 
20141011 my sql clusterv01pptx
20141011 my sql clusterv01pptx20141011 my sql clusterv01pptx
20141011 my sql clusterv01pptx
 
Simplify IT: Oracle SuperCluster
Simplify IT: Oracle SuperCluster Simplify IT: Oracle SuperCluster
Simplify IT: Oracle SuperCluster
 
Using MySQL Enterprise Monitor for Continuous Performance Improvement
Using MySQL Enterprise Monitor for Continuous Performance ImprovementUsing MySQL Enterprise Monitor for Continuous Performance Improvement
Using MySQL Enterprise Monitor for Continuous Performance Improvement
 
MySQL & Oracle Linux Keynote at Open Source India 2014
MySQL & Oracle Linux Keynote at Open Source India 2014MySQL & Oracle Linux Keynote at Open Source India 2014
MySQL & Oracle Linux Keynote at Open Source India 2014
 
MySQL 5.6, news in 5.7 and our HA options
MySQL 5.6, news in 5.7 and our HA optionsMySQL 5.6, news in 5.7 and our HA options
MySQL 5.6, news in 5.7 and our HA options
 
Introduction to MySQL
Introduction to MySQLIntroduction to MySQL
Introduction to MySQL
 
MySQL Enterprise Portfolio
MySQL Enterprise PortfolioMySQL Enterprise Portfolio
MySQL Enterprise Portfolio
 
Oracle Cloud DBaaS
Oracle Cloud DBaaSOracle Cloud DBaaS
Oracle Cloud DBaaS
 
MySQL London Tech Tour March 2015 - Embedded Database of Choice
MySQL London Tech Tour March 2015 - Embedded Database of ChoiceMySQL London Tech Tour March 2015 - Embedded Database of Choice
MySQL London Tech Tour March 2015 - Embedded Database of Choice
 
Introdução ao Oracle NoSQL
Introdução ao Oracle NoSQLIntrodução ao Oracle NoSQL
Introdução ao Oracle NoSQL
 
[db tech showcase Tokyo 2018] #dbts2018 #B31 『1,2,3 and Done! 3 easy ways to ...
[db tech showcase Tokyo 2018] #dbts2018 #B31 『1,2,3 and Done! 3 easy ways to ...[db tech showcase Tokyo 2018] #dbts2018 #B31 『1,2,3 and Done! 3 easy ways to ...
[db tech showcase Tokyo 2018] #dbts2018 #B31 『1,2,3 and Done! 3 easy ways to ...
 
MySQL Fabric
MySQL FabricMySQL Fabric
MySQL Fabric
 
20140722 Taiwan MySQL User Group Meeting Tech Updates
20140722 Taiwan MySQL User Group Meeting Tech Updates20140722 Taiwan MySQL User Group Meeting Tech Updates
20140722 Taiwan MySQL User Group Meeting Tech Updates
 
Change Management for Oracle Database with SQLcl
Change Management for Oracle Database with SQLcl Change Management for Oracle Database with SQLcl
Change Management for Oracle Database with SQLcl
 

Más de Andrew Morgan

Powering Microservices with MongoDB, Docker, Kubernetes & Kafka – MongoDB Eur...
Powering Microservices with MongoDB, Docker, Kubernetes & Kafka – MongoDB Eur...Powering Microservices with MongoDB, Docker, Kubernetes & Kafka – MongoDB Eur...
Powering Microservices with MongoDB, Docker, Kubernetes & Kafka – MongoDB Eur...Andrew Morgan
 
Data Streaming with Apache Kafka & MongoDB - EMEA
Data Streaming with Apache Kafka & MongoDB - EMEAData Streaming with Apache Kafka & MongoDB - EMEA
Data Streaming with Apache Kafka & MongoDB - EMEAAndrew Morgan
 
The rise of microservices - containers and orchestration
The rise of microservices - containers and orchestrationThe rise of microservices - containers and orchestration
The rise of microservices - containers and orchestrationAndrew Morgan
 
PistonHead's use of MongoDB for Analytics
PistonHead's use of MongoDB for AnalyticsPistonHead's use of MongoDB for Analytics
PistonHead's use of MongoDB for AnalyticsAndrew Morgan
 
Joins and Other MongoDB 3.2 Aggregation Enhancements
Joins and Other MongoDB 3.2 Aggregation EnhancementsJoins and Other MongoDB 3.2 Aggregation Enhancements
Joins and Other MongoDB 3.2 Aggregation EnhancementsAndrew Morgan
 
Document validation in MongoDB 3.2
Document validation in MongoDB 3.2Document validation in MongoDB 3.2
Document validation in MongoDB 3.2Andrew Morgan
 
What's new in MySQL Cluster 7.4 webinar charts
What's new in MySQL Cluster 7.4 webinar chartsWhat's new in MySQL Cluster 7.4 webinar charts
What's new in MySQL Cluster 7.4 webinar chartsAndrew Morgan
 
MySQL High Availability Solutions - Feb 2015 webinar
MySQL High Availability Solutions - Feb 2015 webinarMySQL High Availability Solutions - Feb 2015 webinar
MySQL High Availability Solutions - Feb 2015 webinarAndrew Morgan
 
FOSDEM 2015 - NoSQL and SQL the best of both worlds
FOSDEM 2015 - NoSQL and SQL the best of both worldsFOSDEM 2015 - NoSQL and SQL the best of both worlds
FOSDEM 2015 - NoSQL and SQL the best of both worldsAndrew Morgan
 
MySQL Replication: What’s New in MySQL 5.7 and Beyond
MySQL Replication: What’s New in MySQL 5.7 and BeyondMySQL Replication: What’s New in MySQL 5.7 and Beyond
MySQL Replication: What’s New in MySQL 5.7 and BeyondAndrew Morgan
 
NoSQL & SQL - Best of both worlds - BarCamp Berkshire 2013
NoSQL & SQL - Best of both worlds - BarCamp Berkshire 2013NoSQL & SQL - Best of both worlds - BarCamp Berkshire 2013
NoSQL & SQL - Best of both worlds - BarCamp Berkshire 2013Andrew Morgan
 
NoSQL and SQL - blending the best of both worlds
NoSQL and SQL - blending the best of both worldsNoSQL and SQL - blending the best of both worlds
NoSQL and SQL - blending the best of both worldsAndrew Morgan
 
Mysql cluster introduction
Mysql cluster introductionMysql cluster introduction
Mysql cluster introductionAndrew Morgan
 
Developing high-throughput services with no sql ap-is to innodb and mysql clu...
Developing high-throughput services with no sql ap-is to innodb and mysql clu...Developing high-throughput services with no sql ap-is to innodb and mysql clu...
Developing high-throughput services with no sql ap-is to innodb and mysql clu...Andrew Morgan
 

Más de Andrew Morgan (15)

MongoDB 3.4 webinar
MongoDB 3.4 webinarMongoDB 3.4 webinar
MongoDB 3.4 webinar
 
Powering Microservices with MongoDB, Docker, Kubernetes & Kafka – MongoDB Eur...
Powering Microservices with MongoDB, Docker, Kubernetes & Kafka – MongoDB Eur...Powering Microservices with MongoDB, Docker, Kubernetes & Kafka – MongoDB Eur...
Powering Microservices with MongoDB, Docker, Kubernetes & Kafka – MongoDB Eur...
 
Data Streaming with Apache Kafka & MongoDB - EMEA
Data Streaming with Apache Kafka & MongoDB - EMEAData Streaming with Apache Kafka & MongoDB - EMEA
Data Streaming with Apache Kafka & MongoDB - EMEA
 
The rise of microservices - containers and orchestration
The rise of microservices - containers and orchestrationThe rise of microservices - containers and orchestration
The rise of microservices - containers and orchestration
 
PistonHead's use of MongoDB for Analytics
PistonHead's use of MongoDB for AnalyticsPistonHead's use of MongoDB for Analytics
PistonHead's use of MongoDB for Analytics
 
Joins and Other MongoDB 3.2 Aggregation Enhancements
Joins and Other MongoDB 3.2 Aggregation EnhancementsJoins and Other MongoDB 3.2 Aggregation Enhancements
Joins and Other MongoDB 3.2 Aggregation Enhancements
 
Document validation in MongoDB 3.2
Document validation in MongoDB 3.2Document validation in MongoDB 3.2
Document validation in MongoDB 3.2
 
What's new in MySQL Cluster 7.4 webinar charts
What's new in MySQL Cluster 7.4 webinar chartsWhat's new in MySQL Cluster 7.4 webinar charts
What's new in MySQL Cluster 7.4 webinar charts
 
MySQL High Availability Solutions - Feb 2015 webinar
MySQL High Availability Solutions - Feb 2015 webinarMySQL High Availability Solutions - Feb 2015 webinar
MySQL High Availability Solutions - Feb 2015 webinar
 
FOSDEM 2015 - NoSQL and SQL the best of both worlds
FOSDEM 2015 - NoSQL and SQL the best of both worldsFOSDEM 2015 - NoSQL and SQL the best of both worlds
FOSDEM 2015 - NoSQL and SQL the best of both worlds
 
MySQL Replication: What’s New in MySQL 5.7 and Beyond
MySQL Replication: What’s New in MySQL 5.7 and BeyondMySQL Replication: What’s New in MySQL 5.7 and Beyond
MySQL Replication: What’s New in MySQL 5.7 and Beyond
 
NoSQL & SQL - Best of both worlds - BarCamp Berkshire 2013
NoSQL & SQL - Best of both worlds - BarCamp Berkshire 2013NoSQL & SQL - Best of both worlds - BarCamp Berkshire 2013
NoSQL & SQL - Best of both worlds - BarCamp Berkshire 2013
 
NoSQL and SQL - blending the best of both worlds
NoSQL and SQL - blending the best of both worldsNoSQL and SQL - blending the best of both worlds
NoSQL and SQL - blending the best of both worlds
 
Mysql cluster introduction
Mysql cluster introductionMysql cluster introduction
Mysql cluster introduction
 
Developing high-throughput services with no sql ap-is to innodb and mysql clu...
Developing high-throughput services with no sql ap-is to innodb and mysql clu...Developing high-throughput services with no sql ap-is to innodb and mysql clu...
Developing high-throughput services with no sql ap-is to innodb and mysql clu...
 

Último

Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfIdiosysTechnologies1
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 

Último (20)

Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 

NoSQL and SQL - Why Choose? Enjoy the best of both worlds with MySQL

  • 1. NoSQL and SQL: The Best of Both Worlds Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Andrew Morgan @andrewmorgan clusterdb.com 18th November 2014
  • 2. Safe Harbor Statement The following is intended to outline our general product direcPon. It is intended for informaPon purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or funcPonality, and should not be relied upon in making purchasing decisions. The development, release, and Pming of any features or funcPonality described for Oracle’s products remains at the sole discrePon of Oracle. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 3. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 4. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Session Agenda • NoSQL – What are people looking for? • RDBMS – What advantages do they sPll have? • How MySQL Delivers the Best of Both Worlds – MySQL Cluster • NoSQL aXributes: Scale-­‐out, performance, ease-­‐of-­‐use, schema flexibility, on-­‐line operaPons • NoSQL APIs – Key-­‐Value store access to InnoDB (Memcached)
  • 5. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Types of NoSQL stores Key-­‐Value • Cassandra • Memcached • BigTable • Hadoop • Voldermort Document • MongoDB • CouchDB Graph • Neo4J • FlockDB
  • 6. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Key-­‐Value Store
  • 7. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 8. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Graph Database
  • 9. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | • Massive scalability – No applicaPon-­‐level sharding • Performance • High Availability/Fault Tolerance • Ease of use – Simple operaPons/administraPon – Simple APIs – Quickly evolve applicaPon & schema Scalability Performance HA Ease of use What NoSQL must deliver
  • 10. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 11. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | NoSQL Simple access paXerns Compromise on consistency for performance Ad-­‐hoc data format Simple operaPon SQL Complex queries with joins ACID transacPons Well defined schemas Rich set of tools • No best single soluPon fits all • Mix and match SPll a role for SQL (RDBMS)? Scalability Performance HA Ease of use SQL/Joins ACID Transac>ons
  • 12. The TemptaPon to Jejson RelaPonal Model • RelaPonal commenter Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Model: – Data stored in mulPple tables – Many lookups to retrieve a user’s Pmeline – Is it worth the effort in sejng up this complex data model? • Simpler just to store as one document? The allure of document stores Examples borrowed from @sarahmei one hXps://speakerdeck.com/sarahmei/switching-­‐data-­‐stores-­‐a-­‐postmodern-­‐comedy user friend post comment like liker many many many one many
  • 13. The TemptaPon to Jejson RelaPonal Model • Document Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Model: – EnPre Pmeline in a single document (row) – Single lookup to retrieve the user’s Pmeline – Brilliantly efficient model when the document truly contains self-­‐ contained informaPon • Like a real-­‐world document! The allure of document stores {name: ‘Joe’, url: ‘http://clusterdb.com’, stream:[ {friend:{ name: ‘Jane’, posts:[{content: ‘…’, comments:[ {comment: ‘…’, commenter: ‘Joe’}, {…} ], likes: [‘Joe’, ‘Fred’, ‘Billy’] }, {…},{…},… ] }, {…},{…},… }
  • 14. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 15. The TemptaPon to Jejson RelaPonal Model • These are all people who have their own data that users will want to view or click through: – Name – url – Timeline • Easy to represent with FKs in a relaPonal model commenter Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | But when the data isn’t self contained… user friend post comment one like liker many many many one many
  • 16. The TemptaPon to Jejson RelaPonal Model • Do I store all data for all friends and likers again at every point they appear in the document? • Massive amount of repeated data – Wasted space – Needs to be kept in sync (and you don’t have transacPons to provide consistency) Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | The allure of document stores {name: ‘Joe’, url: ‘http://clusterdb.com’, stream:[ {friend:{ name: ‘Jane’, posts:[{content: ‘…’, comments:[ {comment: ‘…’, commenter: ‘Joe’}, {…} ], likes: [‘Joe’, ‘Fred’, ‘Billy’] }, {…},{…},… ] }, {…},{…},… }
  • 17. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 18. The TemptaPon to Jejson RelaPonal Model • The reality is that the developer will store the user-­‐ids instead • Developer Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | is responsible for implemenPng ‘joins’ in the applicaPon – e.g. scanning all Pmelines for where a user made a comment or liked a post • No transacPons to ensure consistency between documents The allure of document stores {name: 83746251, url: ‘…’ stream:[ {friend:{ name: 9384726153, posts:[{content: ‘…’, comments:[ {comment: ‘…’, commenter: 83746251}, {…} ], likes: [83746251, 750730283, 2938493820] }, {…},{…},… ] }, {…},{…},… }
  • 19. The TemptaPon to Jejson RelaPonal Model • Each aXribute’s labels are stored in every document – More wasted space – Developers Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | compensate by replacing with short names The allure of document stores {n5: 83746251, u2: ‘…’ s1:[ {f2:{ n5: 9384726153, p4:[{c4: ‘…’, c3:[ {c2: ‘…’, c8: 83746251}, {…} ], l5: [83746251, 750730283, 2938493820] }, {…},{…},… ] }, {…},{…},… }
  • 20. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 21. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Cluster Overview • Auto-­‐Sharding, MulP-­‐Master • ACID Compliant, OLTP + Real-­‐Time AnalyPcs HIGH SCALE, READS + WRITES • Shared nothing, no Single Point of Failure • Self Healing 99.999% AVAILABILITY + On-­‐Line OperaPons • In-­‐Memory OpPmizaPon + Disk-­‐Data REAL-­‐TIME • Predictable Low-­‐Latency, Bounded Access Time • Key/Value + Complex, RelaPonal Queries SQL + NoSQL • SQL + Memcached + JavaScript + Java + HTTP/REST & C++ • Open Source + Commercial EdiPons LOW TCO • Commodity hardware + Management, Monitoring Tools
  • 22. Who’s Using MySQL Cluster? Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 23. MySQL Cluster Architecture MySQL Cluster Data Nodes Clients ApplicaPon Layer Data Layer Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 24. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Cluster Scaling MySQL Cluster Data Nodes Clients ApplicaPon Layer Data Layer
  • 25. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 26. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Cluster HA MySQL Cluster Data Nodes Clients ApplicaPon Layer Data Layer
  • 27. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | On-­‐line OperaPons • Scale the cluster (add & remove nodes on-­‐line) • ReparPPon tables • Upgrade / patch servers & OS • Upgrade / patch MySQL Cluster • Back-­‐Up • Evolve the schema on-­‐line, in real-­‐Pme
  • 28. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 29. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 30. 1.2 Billion UPDATEs per Minute • NoSQL Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | C++ API, flexaSynch benchmark • 30 x Intel E5-­‐2600 Intel Servers, 2 socket, 64GB • ACID TransacPons, with Synchronous ReplicaPon 25 Millions of UPDATEs per Second MySQL Cluster Data Nodes 20 15 10 5 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
  • 31. Query Execution Time Seconds Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Join Performance 100 90 80 70 60 50 40 30 20 10 • Web-­‐Based 87.23 seconds Content Management System – JOINs 11-­‐tables, 33.5k rows – Returns 2k rows, 19 columns per row 0 MySQL Cluster 7.1 MySQL Cluster 7.2 1.26 seconds 70x Faster Scalability !" Performance !" HA !" Ease of use SQL/Joins !" ACID Transac>ons !"
  • 32. MySQL Cluster 7.4.1 DMR Better performance and operational simplicity 9000" 8000" 7000" 6000" 5000" 4000" 3000" 2000" 1000" Sysbench)R/W) Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 10000" 9000" 8000" 7000" 6000" 5000" 4000" 3000" 2000" 1000" • Performance Sysbench)RO) gain over 7.3 – 47% (Read-­‐Only) – 38% (Read-­‐Write) 0" 64" 128" 256" 512" Transac'on)per)second) Threads) 7.4.0" 7.3.5" 7.2.16" 0" 64" 128" 256" 512" Transac'ons)per)second) Threads) 7.4.0" 7.3.5" 7.2.16" • Faster node restarts
  • 33. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 34. CreaPng & running your first Cluster Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Download & Extract • edelivery.oracle.com • www.mysql.com • dev.mysql.com Configure • Cluster-­‐wide “config.ini” • Per-­‐mysqld “my.cnf” Start processes • Management Nodes • Data Nodes • MySQL Servers
  • 35. Scalability !" Performance !" HA !" Ease of use !" SQL/Joins !" ACID Transac>ons !" Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 36. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 37. MySQL Cluster Auto-­‐Installer Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | • Fast configuraPon • Auto-­‐discovery • Workload opPmized • Repeatable best pracPces Specify Workload Auto-­‐ Discover Define Deploy Topology
  • 38. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 39. MySQL Cluster Manager 1. Download MCM/Cluster package from edelivery.oracle.com: 2. Unzip 3. Run agent, define, create & start Cluster! $> binmcmd --bootstrap MySQL Cluster Manager 1.1.2 started Connect to MySQL Cluster Manager by running "D:AndrewDocumentsMySQLmcmbinmcm" -a NOVA:1862 Configuring default cluster 'mycluster'... Starting default cluster 'mycluster'... Cluster 'mycluster' started successfully ndb_mgmd NOVA:1186 ndbd NOVA ndbd NOVA mysqld NOVA:3306 mysqld NOVA:3307 ndbapi * Connect to the database by running "D:AndrewDocumentsMySQLmcmclusterbinmysql" -h NOVA -P 3306 -u root Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 40. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MCM: Upgrade Cluster mysql> upgrade cluster --package=7.3 mycluster;
  • 41. Scalability !" Performance !" HA !" Ease of use !" SQL/Joins !" ACID Transac>ons !" Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 42. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 43. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 44. NoSQL Access to MySQL Cluster data Apps Apps Apps Apps Apps Apps Apps Apps Apps Apps Apps Apps JPA Cluster JPA PHP Perl Python Ruby JDBC Cluster J JS Apache Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Memcached MySQL JNI Node.JS mod_ndb ndb_eng NDB API (C++) MySQL Cluster Data Nodes
  • 45. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Schema-­‐Free apps • Rapid applicaPon evoluPon – New types of data constantly added – No Pme to get schema extended – Missing skills to extend schema – IniPally roll out to just a few users – Constantly adding to live system
  • 46. Cluster & Memcached – Schema-­‐Free key value <town:maidenhead,SL6> key value <town:maidenhead,SL6> Key Value town:maidenhead SL6 generic table Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | ApplicaPon view SQL view
  • 47. Cluster & Memcached -­‐ Configured Schema key value <town:maidenhead,SL6> prefix key value <town:maidenhead,SL6> Prefix Table Key-­‐col Val-­‐col policy town: map.zip town code cluster Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Config tables town ... code ... maidenhead ... SL6 ... map.zip ApplicaPon view SQL view
  • 48. MySQL 5.6 Memcached with InnoDB 80000 70000 60000 50000 40000 30000 20000 10000 0 8 32 128 512 TPS SQL Memcached Protocol Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Client Connections Memcached API SQL Clients and Applica>ons MySQL Server Memcached Plug-­‐in innodb_ memcached local cache (opPonal) Handler API InnoDB API InnoDB Storage Engine mysqld process Up to 9x Higher “SET / INSERT” Throughput
  • 49. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Node.js NoSQL API • NaPve JavaScript access to MySQL Cluster – End-­‐to-­‐End JavaScript: browser to the app & DB – Storing and retrieving JavaScript objects directly in MySQL Cluster – Eliminate SQL transformaPon • Implemented as a module for node.js – Integrates Cluster API library within the web app • Couple high performance, distributed apps, with high performance distributed database • OpPonally routes through MySQL Server – Use with InnoDB V8 JavaScript Engine MySQL Cluster Node.js Module MySQL Cluster Data Nodes Clients
  • 50. NoSQL API for Node.js & FKs Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | FKs enforced on all APIs: { message: 'Error', sqlstate: '23000', ndb_error: null, cause: {message: 'Foreign key constraint violated: No parent row found [255]', sqlstate: '23000', ndb_error: { message: 'Foreign key constraint violated: No parent row found', code: 255, classification: 'ConstraintViolation', handler_error_code: 151, status: 'PermanentError' }, cause: null } }
  • 51. Oracle University MySQL Training Services Prepare Your Organization to Enable Reliable and High-Performance Web-Based Database Applications Top Courses for Administrators and Developers Top Certifications Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | “Training and team skill have the most significant impact on overall performance of technology and success of technology projects.” - IDC, 2013 Premier Support customers eligible to save 20% on learning credits. Benefits § Expert-led training to support your MySQL learning needs § Flexibility to train in the classroom or online § Hands-on experience to gain real world experience § Key skills needed for database administrators and developers • MySQL for Beginners § MySQL for Database Administrators § MySQL Performance Tuning § MySQL Cluster – NEW - Register Your Interest! § MySQL and PHP - Developing Dynamic Web Applications § MySQL for Developers § MySQL Developer Techniques § MySQL 5.6 Database Administrator § MySQL 5.6 Developer To find out more about available MySQL Training & Certification offerings, go to: education.oracle.com/mysql RECENTLY RELEASED !!ALL NEW!! MySQL Cluster Training To Register your interest to influence the schedule on this newly released course – go to educaPon.oracle.com/mysql and click on the MySQL Cluster Course
  • 52. • Tomas Ulin – Vice President of the MySQL Engineering Team • Oracle DBAs, Make the Most of MySQL • Wednesday 11:00-­‐11:45 MySQL Keynote @ DOAG2014 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 53. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Next Steps Learn More • www.mysql.com/cluster • AuthenPc MySQL Curriculum: hXp://oracle.com/educaPon/mysql Try it Out • dev.mysql.com/downloads/cluster/ Let us know what you think • clusterdb.com • @clusterdb • forums.mysql.com/list.php?25