SlideShare a Scribd company logo
1 of 54
Download to read offline
1 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
MySQL & NoSQL: The Best of Both Worlds
Ted Wennmark
Principal Sales Consultant MySQL
ted.wennmark@oracle.com
2 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Safe Harbour Statement
The following is intended to outline our general product
direction. It is intended for information purposes only, and
may not be incorporated into any contract. It is not a
commitment to deliver any material, code, or functionality,
and should not be relied upon in making purchasing
decisions. The development, release, and timing of any
features or functionality described for Oracle’s products
remains at the sole discretion of Oracle.
3 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
History of MySQL I
 2001 MySQL 3.23 GA – our first GA release ever!
 2005 Oracle Corporation acquired Innobase OY
 2008 Sun acquired MySQL AB for $1 billion
 2010 Oracle acquired Sun on 27 January
 2010 MySQL 5.5 first Oracle release, great feedback from community!
 2012 MySQL 5.6 “Best release ever“
4 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
History of MySQL II
 World’s Most Popular Open Source Database
 Over 12 million product installations
 65,000 downloads/day
 The ”M” of the widely deployed LAMP stack
 MySQL Commercial Editions Available
5 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Session Agenda
• NoSQL – What are people looking for?
• RDBMS – What advantages do they still have?
• How MySQL Delivers the Best of Both Worlds
– MySQLCluster
• NoSQL attributes: Scale-out, performance, ease-of-use, schema
flexibility, on-line operations
• NoSQL APIs
– Key-Value store access to InnoDB (Memcached)
• What is coming with future releases
6 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
What NoSQL must deliver
• Massive scalability
– No application-level sharding
• Performance
• High Availability/Fault Tolerance
• Ease of use
– Simple operations/administration
– Simple APIs
– Quickly evolve application & schema
Scalability
Performance
HA
Ease of use
7 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Still a role for the RDBMS?
NoSQL
Simple access patterns
Compromise on consistency
for performance
Ad-hoc data format
Simple operation
RDBMS
Complex queries with joins
ACID transactions
Well defined schemas
Rich set of tools
• No best single solution fits all
• Mix and match
Scalability
Performance
HA
Ease of use
SQL/Joins
ACID Transactions
8 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
MySQL Cluster introduction
9 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
MySQL Cluster Architecture
Data
Nodes
Node Group 1
F1
F3
F3
F1
Node1Node2
Node Group 2
F2
F4
F4
F2
Node3Node4
ApplicationNodes
Cluster
Mgr
Cluster
Mgr
REST Scalability
Performance
HA
Ease of use
SQL/Joins a
ACID Transactions a
10 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Copyright 2013, Oracle and/or its affiliates. All rights reserved.
MySQL Cluster: Extensive Choice of NoSQL APIs
Mix
&
Match
11 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
C++ example
NdbOperation *op = trx->getNdbOperation(myTable);
op->insertTuple();
op->equal("key", i);
op->setValue("value", &value);
trx->execute( NdbTransaction::Commit );
12 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Copyright 2013, Oracle and/or its affiliates. All rights reserved.
• NoSQL C++ API, flexaSynch benchmark
• 30 x Intel E5-2600 Intel Servers, 2 socket, 64GB
• ACID Transactions, with Synchronous Replication
0
5
10
15
20
25
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
MillionsofUPDATEsper
Second
MySQL Cluster Data Nodes
1.2 Billion UPDATEs per Minute
13 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
MySQL Cluster Architecture
Data
Nodes
Node Group 1
F1
F3
F3
F1
Node1Node2
Node Group 2
F2
F4
F4
F2
Node3Node4
ApplicationNodes
Cluster
Mgr
Cluster
Mgr
REST Scalability
Performance
HA a
Ease of use
SQL/Joins a
ACID Transactions a
http://clusterdb.com/u/demo
14 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Data Node 1
Data Node 2
Data Node 3
Data Node 4
Table T1
P2
P3
P4
P1
Scale-Out: Auto-Partitioning
15 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Data Node 1
Data Node 2
F1
Data Node 3
Data Node 4
Table T1
P2
P3
P4
P1
Scale-Out: Auto-Partitioning
16 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Data Node 1
Data Node 2
F1
F1
Data Node 3
Data Node 4
Table T1
P2
P3
P4
P1
Scale-Out: Auto-Partitioning
17 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Data Node 1
Data Node 2
F1
F3 F1
Data Node 3
Data Node 4
Table T1
P2
P3
P4
P1
Scale-Out: Auto-Partitioning
18 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Data Node 1
Data Node 2
F1 F3
F3 F1
Data Node 3
Data Node 4
Table T1
P2
P3
P4
P1
Scale-Out: Auto-Partitioning
19 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Data Node 1
Data Node 2
F1 F3
F3 F1
Data Node 3
Data Node 4
F2 F4
F4 F2
Node Group 1
Node Group 2
Table T1
P2
P3
P4
P1
Scale-Out: Auto-Partitioning
20 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Data Node 1
Data Node 2
F1 F3
F3 F1
Data Node 3
Data Node 4
F2 F4
F4 F2
Node Group 1
Node Group 2
Table T1
P2
P3
P4
P1
Scale-Out: Auto-Partitioning
21 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Table T1
P2
P3
P4
P1
Scale-Out: Auto-Partitioning
Scalability a
Performance
HA a
Ease of use
SQL/Joins a
ACID Transactions a
22 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Scale-Out Reads & Writes on Commodity Hardware
• 8 x Commodity Intel Servers
– 2 x 6-core processors 2.93GHz
– x5670 processors (24 threads)
– 48GB RAM
• Infiniband networking
• flexAsynch benchmark (NDB API)
0
200
400
600
800
1 000
1 200
2 4 8
Millions
Number of Data Nodes
SELECT Queries per Minute
0
20
40
60
80
100
120
4 8
Millions
Number of Data Nodes
UPDATE Queries per Minute
23 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
On-line Schema changes
• Scale the cluster (add & remove nodes on-line)
• Repartition tables
• Upgrade / patch servers & OS
• Upgrade / patch MySQL Cluster
• Back-Up
• Evolve the schema on-line, in real-time
On-Line Operations
24 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Scalability a
Performance a
HA a
Ease of use a
SQL/Joins a
ACID Transactions a
25 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
NoSQL Access to MySQL Cluster data
Mix & Match!
Same data accessed
simultaneously through
SQL & NoSQL interfaces
26 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
MySQL Cluster 7.1: ClusterJ/JPA
• New Domain Object Model Persistence API (ClusterJ) :
– Java API
– High performance,low latency
– Feature rich
• JPA interface built upon this new Java layer:
– Java Persistence APIcompliant
• Implemented as an OpenJPAplugin
– Uses ClusterJ where possible,reverts to JDBC for some
operations
– Higherperformancethan JDBC
– More naturalfor most Java designers
– EasierClusteradoption forweb applications
27 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Java Access Performance
http://www.mysql.com/why-mysql/white-papers/mysql_wp_cluster_connector_for_java.php
28 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
NoSQL with Memcached (MySQL Cluster 7.2)
• Memcached is a distributed memory based hash-
key/value store with no persistence to disk
• NoSQL, simple API, popular with developers
• MySQL Cluster already provides scalable, in-memory
performance with NoSQL (hashed) access as well as
persistence
– Provide the Memcached API but map to NDB API calls
• Writes-in-place, so no need to invalidate cache
• Simplifies architecture as caching & database integrated
into 1 tier
• Access data from existing relational tables
29 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Traditional Memcached Architecture
Two levels of hashing
Memcache
httpd memcached
memcached
memcached
memcache key
PHP/Perl
friends:12389
hash key
to find data
30 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Cache hit
Memcache
httpd
memcachedPHP/Perl
friends:12389
hash key
to find data
VALUE friends:12389 0 31rn
101, 11009, 11150, 55881, 77798 rn
31 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Cache miss (1): fetch from DB
Memcache
httpd
memcachePHP/Perl
hash key
to find data
mysql
MySQL
Slave
memcached
32 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Cache miss (2): manage cache
Memcache
httpd
PHP/Perl
hash key
to find data
memcached
33 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Data change (1): Write to DB
mysql
httpd
PHP/Perl
MySQL
Master
DELETE FROM user_friends
VALUES (12389, 999101);
34 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Data change (2): manage cache
mysql
httpd
PHP/Perl
MySQL
Master
memcached
35 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
NoSQL with Memcached
• Flexible:
– Deployment options
– Multiple Clusters
– Simultaneous SQL Access
– Can still cache in Memcached server
– Flat key-value store or map to multiple
tables/columns
set maidenhead 0 0 3
SL6
STORED
get maidenhead
VALUE maidenhead 0 3
SL6
END
36 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Cluster & Memcached – Schema-Free
<town:maidenhead,SL6>
key value
<town:maidenhead,SL6>
key value
Key Value
town:maidenhead SL6
generic table
Application view
SQL view
37 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Cluster & Memcached - Configured Schema
<town:maidenhead,SL6>
prefix key value
<town:maidenhead,SL6>
key value
Prefix Table Key-col Val-col policy
town: map.zip town code cluster
pop: map.zip town popul cluster
Config tables
town ... code popul
maidenhead ... SL6 ...
map.zip
Application view
SQL view
38 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Memcached with MySQL Cluster
http://clusterdb.com/u/memcached
Try it out
39 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Memcached NoSQL Access with InnoDB
• Memcachedas a plugin of MySQLServer;
same process space,with very low latency
accessto data
• Memcapable:supports both memcached
ascii protocoland binary protocol
• Supportmultiple columns:users can map
multiple columns into “value”
• Optionallocalcaching:“innodb-only”,
“cache-only”,and “caching”
• Batch operations forperformance
• Availablefrom in MySQL5.6
InnoDBStorageEngine
HandlerAPI
MySQL Server
InnoDB API
memcached plugin
Application
SQL Memcached protocol
mysqld
innodb_memcache local cache
(optional)
40 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Performance
Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Up to 9x Higher “SET / INSERT” Throughput
0
10000
20000
30000
40000
50000
60000
70000
80000
8 32 128 512
TPS
Client Connections
MySQL 5.6: NoSQL Benchmarking
Memcached API
SQL
16 GB, Intel Xeon 2.0 GHz CPU
X86_642 CPUs-4 Core Each,
2 RAID DISKS
41 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
InnoDB & Memcached - Configured Schema
<town:maidenhead,SL6:12000>
prefix key value
<@@town:maidenhead,SL6:12000>
key value
name schema table keycol valcols flags
town map city town code,popul
country world state code name,capital
Config tables
town ... code popul
maidenhead ... SL6 12000
map.city
Application view
SQL view
42 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Which API to use?
43 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Scalability a
Performance a
HA a
Ease of use a
SQL/Joins a
ACID Transactions a
44 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
MySQL Cluster 7.3 DMR: Node.js NoSQL API
• Native JavaScript access to MySQLCluster
– End-to-End JavaScript: browser to the app and
database
– Storing and retrieving JavaScript objects directly
in MySQL Cluster
– Eliminate SQL transformation
• Implemented as a module for node.js
– Integrates full Cluster API library within the web
app
• Couple high performance, distributed apps, with
high performance distributed database
V8 JavaScript Engine
MySQL Cluster Node.js Module
MySQL Cluster Data Nodes
Clients
45 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
What does an asynchronous API mean?
do_stuff1(data,
callback1)
callback1(results) do_stuff2(data,
callback2)
callback2(results)
Get on with other stuff Get on with other stuff
46 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
MySQL Cluster NoSQL API for Node.js
• Modular connector with
various back-end adapters:
• ndb: low-level native
access to MySQL Cluster
• mysql: access to any
MySQL server (translates
operations to SQL
statements)
var nosql = require('mysql-js');
var annotations = new
nosql.Annotations();
annotations.mapClass(lib.Tweet,
{'table' : 'tweet'});
var dbProperties =
nosql.ConnectionProperties('ndb');
nosql.openSession(dbProperties,
annotations, onSession);
47 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
MySQL Cluster NoSQL API for Node.js
var onSession = function(err,
session) {
if (err) {…} else {
var data = new
lib.Tweet(user_args[0],
user_args[1]);
session.persist(data,
onInsert, data);
}
};
48 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
var onInsert = function(err,
object) {
console.log('onInsert.');
if (err) {…} else {
console.log('Inserted: ' +
JSON.stringify(object));
}
};
MySQL Cluster NoSQL API for Node.js
49 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Try Node.js example for yourself
https://github.com/mysql/mysql-js/tree/master/samples
50 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Cloud
Web & Enterprise OEM & ISVs
Industry Leaders Rely on MySQL
51 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Summary
Today’s web workloads demand more from
databases
Performance, scale-out, simples access
patterns & APIs
MySQL meets these needs while still
delivering benefits of an ACID RDBMS
52 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Next Steps
• Guide to MySQL and NoSQL - Delivering the Best of
Both Worlds
– http://mysql.com/why-mysql/white-papers/mysql-wp-guide-to-
nosql.php
• Evaluate MySQL Cluster 7.2
– http://www.mysql.com/downloads/cluster/
• Bootstrap a Cluster
– https://edelivery.oracle.com/
• Try Memcached API for InnoDB in 5.6
• http://www.mysql.com/downloads/
53 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Graphic Section Divider  Keynotes
 Conferences Sessions
 Birds-of-a-feather sessions
 Tutorials
 Hands-on Labs
 Exhibition Hall
 Demo Pods
 Receptions
San Francisco, September 21-23
Additional Day of Tutorials
Oracle.com/mysqlconnect
54 Copyright © 2012, Oracle and/or its affiliates. All rights
reserved.
Thank you!
Copyright 2012, Oracle and/or its affiliates. All rights reserved.

More Related Content

What's hot

Oracle RAC 12c Best Practices with Appendices DOAG2013
Oracle RAC 12c Best Practices with Appendices DOAG2013Oracle RAC 12c Best Practices with Appendices DOAG2013
Oracle RAC 12c Best Practices with Appendices DOAG2013Markus Michalewicz
 
The Oracle RAC Family of Solutions - Presentation
The Oracle RAC Family of Solutions - PresentationThe Oracle RAC Family of Solutions - Presentation
The Oracle RAC Family of Solutions - PresentationMarkus Michalewicz
 
Introduction to MySQL
Introduction to MySQLIntroduction to MySQL
Introduction to MySQLTed Wennmark
 
MySQL Enterprise Edition Overview
MySQL Enterprise Edition OverviewMySQL Enterprise Edition Overview
MySQL Enterprise Edition OverviewMario Beck
 
MySQL Manchester TT - Security
MySQL Manchester TT  - SecurityMySQL Manchester TT  - Security
MySQL Manchester TT - SecurityMark Swarbrick
 
Oracle RAC - A Safe Investment into the Future of Your IT
Oracle RAC - A Safe Investment into the Future of Your ITOracle RAC - A Safe Investment into the Future of Your IT
Oracle RAC - A Safe Investment into the Future of Your ITMarkus Michalewicz
 
Oracle RAC 12c Collaborate Best Practices - IOUG 2014 version
Oracle RAC 12c Collaborate Best Practices - IOUG 2014 versionOracle RAC 12c Collaborate Best Practices - IOUG 2014 version
Oracle RAC 12c Collaborate Best Practices - IOUG 2014 versionMarkus Michalewicz
 
Living with the Oracle Database Appliance
Living with the Oracle Database ApplianceLiving with the Oracle Database Appliance
Living with the Oracle Database ApplianceSimon Haslam
 
A Second Look at Oracle RAC 12c
A Second Look at Oracle RAC 12cA Second Look at Oracle RAC 12c
A Second Look at Oracle RAC 12cLeighton Nelson
 
MySQL Tech Tour 2015 - 5.7 Whats new
MySQL Tech Tour 2015 - 5.7 Whats newMySQL Tech Tour 2015 - 5.7 Whats new
MySQL Tech Tour 2015 - 5.7 Whats newMark Swarbrick
 
Oracle RAC 12c Rel. 2 for Continuous Availability
Oracle RAC 12c Rel. 2 for Continuous AvailabilityOracle RAC 12c Rel. 2 for Continuous Availability
Oracle RAC 12c Rel. 2 for Continuous AvailabilityMarkus Michalewicz
 
Database-as-a-Service with Oracle Enterprise Manager Cloud Control 12c and Or...
Database-as-a-Service with Oracle Enterprise Manager Cloud Control 12c and Or...Database-as-a-Service with Oracle Enterprise Manager Cloud Control 12c and Or...
Database-as-a-Service with Oracle Enterprise Manager Cloud Control 12c and Or...Leighton Nelson
 
Data Mobility for the Oracle Database by JWilliams and RGonzalez
Data Mobility for the Oracle Database by JWilliams and RGonzalezData Mobility for the Oracle Database by JWilliams and RGonzalez
Data Mobility for the Oracle Database by JWilliams and RGonzalezMarkus Michalewicz
 
MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAsMario Beck
 
MySQL Tech Tour 2015 - Manage & Tune
MySQL Tech Tour 2015 - Manage & TuneMySQL Tech Tour 2015 - Manage & Tune
MySQL Tech Tour 2015 - Manage & TuneMark Swarbrick
 
MySQL Security
MySQL SecurityMySQL Security
MySQL SecurityMario Beck
 
Představení Oracle SPARC Miniclusteru
Představení Oracle SPARC MiniclusteruPředstavení Oracle SPARC Miniclusteru
Představení Oracle SPARC MiniclusteruMarketingArrowECS_CZ
 
Oracle Failover Database Cluster with Grid Infrastructure 12c
Oracle Failover Database Cluster with Grid Infrastructure 12cOracle Failover Database Cluster with Grid Infrastructure 12c
Oracle Failover Database Cluster with Grid Infrastructure 12cTrivadis
 

What's hot (20)

Oracle RAC 12c Best Practices with Appendices DOAG2013
Oracle RAC 12c Best Practices with Appendices DOAG2013Oracle RAC 12c Best Practices with Appendices DOAG2013
Oracle RAC 12c Best Practices with Appendices DOAG2013
 
The Oracle RAC Family of Solutions - Presentation
The Oracle RAC Family of Solutions - PresentationThe Oracle RAC Family of Solutions - Presentation
The Oracle RAC Family of Solutions - Presentation
 
Introduction to MySQL
Introduction to MySQLIntroduction to MySQL
Introduction to MySQL
 
MySQL Enterprise Edition Overview
MySQL Enterprise Edition OverviewMySQL Enterprise Edition Overview
MySQL Enterprise Edition Overview
 
Oracle RAC 12c Overview
Oracle RAC 12c OverviewOracle RAC 12c Overview
Oracle RAC 12c Overview
 
MySQL Manchester TT - Security
MySQL Manchester TT  - SecurityMySQL Manchester TT  - Security
MySQL Manchester TT - Security
 
Oracle RAC - A Safe Investment into the Future of Your IT
Oracle RAC - A Safe Investment into the Future of Your ITOracle RAC - A Safe Investment into the Future of Your IT
Oracle RAC - A Safe Investment into the Future of Your IT
 
Oracle RAC 12c Collaborate Best Practices - IOUG 2014 version
Oracle RAC 12c Collaborate Best Practices - IOUG 2014 versionOracle RAC 12c Collaborate Best Practices - IOUG 2014 version
Oracle RAC 12c Collaborate Best Practices - IOUG 2014 version
 
Living with the Oracle Database Appliance
Living with the Oracle Database ApplianceLiving with the Oracle Database Appliance
Living with the Oracle Database Appliance
 
A Second Look at Oracle RAC 12c
A Second Look at Oracle RAC 12cA Second Look at Oracle RAC 12c
A Second Look at Oracle RAC 12c
 
MySQL Tech Tour 2015 - 5.7 Whats new
MySQL Tech Tour 2015 - 5.7 Whats newMySQL Tech Tour 2015 - 5.7 Whats new
MySQL Tech Tour 2015 - 5.7 Whats new
 
Oracle RAC 12c Rel. 2 for Continuous Availability
Oracle RAC 12c Rel. 2 for Continuous AvailabilityOracle RAC 12c Rel. 2 for Continuous Availability
Oracle RAC 12c Rel. 2 for Continuous Availability
 
Database-as-a-Service with Oracle Enterprise Manager Cloud Control 12c and Or...
Database-as-a-Service with Oracle Enterprise Manager Cloud Control 12c and Or...Database-as-a-Service with Oracle Enterprise Manager Cloud Control 12c and Or...
Database-as-a-Service with Oracle Enterprise Manager Cloud Control 12c and Or...
 
Data Mobility for the Oracle Database by JWilliams and RGonzalez
Data Mobility for the Oracle Database by JWilliams and RGonzalezData Mobility for the Oracle Database by JWilliams and RGonzalez
Data Mobility for the Oracle Database by JWilliams and RGonzalez
 
MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAs
 
MySQL Tech Tour 2015 - Manage & Tune
MySQL Tech Tour 2015 - Manage & TuneMySQL Tech Tour 2015 - Manage & Tune
MySQL Tech Tour 2015 - Manage & Tune
 
MySQL Security
MySQL SecurityMySQL Security
MySQL Security
 
Představení Oracle SPARC Miniclusteru
Představení Oracle SPARC MiniclusteruPředstavení Oracle SPARC Miniclusteru
Představení Oracle SPARC Miniclusteru
 
My sql 5.6&MySQL Cluster 7.3
My sql 5.6&MySQL Cluster 7.3My sql 5.6&MySQL Cluster 7.3
My sql 5.6&MySQL Cluster 7.3
 
Oracle Failover Database Cluster with Grid Infrastructure 12c
Oracle Failover Database Cluster with Grid Infrastructure 12cOracle Failover Database Cluster with Grid Infrastructure 12c
Oracle Failover Database Cluster with Grid Infrastructure 12c
 

Similar to MySQL & NoSQL Best of Both

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
 
20141011 my sql clusterv01pptx
20141011 my sql clusterv01pptx20141011 my sql clusterv01pptx
20141011 my sql clusterv01pptxIvan Ma
 
Things learned from OpenWorld 2013
Things learned from OpenWorld 2013Things learned from OpenWorld 2013
Things learned from OpenWorld 2013Connor McDonald
 
Mysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesMysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesTarique Saleem
 
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
 Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL SupportMysql User Camp
 
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
 
MySQL's NoSQL -- Texas Linuxfest August 22nd 2015
MySQL's NoSQL  -- Texas Linuxfest August 22nd 2015MySQL's NoSQL  -- Texas Linuxfest August 22nd 2015
MySQL's NoSQL -- Texas Linuxfest August 22nd 2015Dave Stokes
 
1 architecture & design
1   architecture & design1   architecture & design
1 architecture & designMark Swarbrick
 
MySQL Cluster overview + development slides (2014)
MySQL Cluster overview + development slides (2014) MySQL Cluster overview + development slides (2014)
MySQL Cluster overview + development slides (2014) Frazer Clement
 
Oracle Database 12c Multitenant for Consolidation
Oracle Database 12c Multitenant for ConsolidationOracle Database 12c Multitenant for Consolidation
Oracle Database 12c Multitenant for ConsolidationYudi Herdiana
 
Oracle RAC One Node 12c Overview
Oracle RAC One Node 12c OverviewOracle RAC One Node 12c Overview
Oracle RAC One Node 12c OverviewMarkus Michalewicz
 
6° Sessione Oracle - CRUI: Oracle Database Appliance: Il potere dell’ingegner...
6° Sessione Oracle - CRUI: Oracle Database Appliance:Il potere dell’ingegner...6° Sessione Oracle - CRUI: Oracle Database Appliance:Il potere dell’ingegner...
6° Sessione Oracle - CRUI: Oracle Database Appliance: Il potere dell’ingegner...Jürgen Ambrosi
 
Oracle Database Migration to Oracle Cloud Infrastructure
Oracle Database Migration to Oracle Cloud InfrastructureOracle Database Migration to Oracle Cloud Infrastructure
Oracle Database Migration to Oracle Cloud InfrastructureSinanPetrusToma
 
My sql5.7 whatsnew_presentedatgids2015
My sql5.7 whatsnew_presentedatgids2015My sql5.7 whatsnew_presentedatgids2015
My sql5.7 whatsnew_presentedatgids2015Sanjay Manwani
 
Whats new in Oracle Database 12c release 12.1.0.2
Whats new in Oracle Database 12c release 12.1.0.2Whats new in Oracle Database 12c release 12.1.0.2
Whats new in Oracle Database 12c release 12.1.0.2Connor McDonald
 
200 million qps on commodity hardware : Getting started with MySQL Cluster 7.4
200 million qps on commodity hardware : Getting started with MySQL Cluster 7.4200 million qps on commodity hardware : Getting started with MySQL Cluster 7.4
200 million qps on commodity hardware : Getting started with MySQL Cluster 7.4Frazer Clement
 
Ohio Linux Fest -- MySQL's NoSQL
Ohio Linux Fest -- MySQL's NoSQLOhio Linux Fest -- MySQL's NoSQL
Ohio Linux Fest -- MySQL's NoSQLDave Stokes
 
Breakthrough performance with MySQL Cluster (2012)
Breakthrough performance with MySQL Cluster (2012)Breakthrough performance with MySQL Cluster (2012)
Breakthrough performance with MySQL Cluster (2012)Frazer Clement
 

Similar to MySQL & NoSQL Best of Both (20)

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
 
20141011 my sql clusterv01pptx
20141011 my sql clusterv01pptx20141011 my sql clusterv01pptx
20141011 my sql clusterv01pptx
 
Things learned from OpenWorld 2013
Things learned from OpenWorld 2013Things learned from OpenWorld 2013
Things learned from OpenWorld 2013
 
Mysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesMysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New Features
 
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
 Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
 
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
 
MySQL's NoSQL -- Texas Linuxfest August 22nd 2015
MySQL's NoSQL  -- Texas Linuxfest August 22nd 2015MySQL's NoSQL  -- Texas Linuxfest August 22nd 2015
MySQL's NoSQL -- Texas Linuxfest August 22nd 2015
 
1 architecture & design
1   architecture & design1   architecture & design
1 architecture & design
 
MySQL Cluster overview + development slides (2014)
MySQL Cluster overview + development slides (2014) MySQL Cluster overview + development slides (2014)
MySQL Cluster overview + development slides (2014)
 
Oracle Database 12c Multitenant for Consolidation
Oracle Database 12c Multitenant for ConsolidationOracle Database 12c Multitenant for Consolidation
Oracle Database 12c Multitenant for Consolidation
 
Oracle RAC One Node 12c Overview
Oracle RAC One Node 12c OverviewOracle RAC One Node 12c Overview
Oracle RAC One Node 12c Overview
 
6° Sessione Oracle - CRUI: Oracle Database Appliance: Il potere dell’ingegner...
6° Sessione Oracle - CRUI: Oracle Database Appliance:Il potere dell’ingegner...6° Sessione Oracle - CRUI: Oracle Database Appliance:Il potere dell’ingegner...
6° Sessione Oracle - CRUI: Oracle Database Appliance: Il potere dell’ingegner...
 
Oracle Database Migration to Oracle Cloud Infrastructure
Oracle Database Migration to Oracle Cloud InfrastructureOracle Database Migration to Oracle Cloud Infrastructure
Oracle Database Migration to Oracle Cloud Infrastructure
 
My sql5.7 whatsnew_presentedatgids2015
My sql5.7 whatsnew_presentedatgids2015My sql5.7 whatsnew_presentedatgids2015
My sql5.7 whatsnew_presentedatgids2015
 
Whats new in Oracle Database 12c release 12.1.0.2
Whats new in Oracle Database 12c release 12.1.0.2Whats new in Oracle Database 12c release 12.1.0.2
Whats new in Oracle Database 12c release 12.1.0.2
 
200 million qps on commodity hardware : Getting started with MySQL Cluster 7.4
200 million qps on commodity hardware : Getting started with MySQL Cluster 7.4200 million qps on commodity hardware : Getting started with MySQL Cluster 7.4
200 million qps on commodity hardware : Getting started with MySQL Cluster 7.4
 
MySQL Cluster
MySQL ClusterMySQL Cluster
MySQL Cluster
 
Ohio Linux Fest -- MySQL's NoSQL
Ohio Linux Fest -- MySQL's NoSQLOhio Linux Fest -- MySQL's NoSQL
Ohio Linux Fest -- MySQL's NoSQL
 
Session 307 ravi pendekanti engineered systems
Session 307  ravi pendekanti engineered systemsSession 307  ravi pendekanti engineered systems
Session 307 ravi pendekanti engineered systems
 
Breakthrough performance with MySQL Cluster (2012)
Breakthrough performance with MySQL Cluster (2012)Breakthrough performance with MySQL Cluster (2012)
Breakthrough performance with MySQL Cluster (2012)
 

More from Ted Wennmark

MySQL NDB Cluster 8.0
MySQL NDB Cluster 8.0MySQL NDB Cluster 8.0
MySQL NDB Cluster 8.0Ted Wennmark
 
Upgrade to MySQL 8.0!
Upgrade to MySQL 8.0!Upgrade to MySQL 8.0!
Upgrade to MySQL 8.0!Ted Wennmark
 
MySQL Performance - Best practices
MySQL Performance - Best practices MySQL Performance - Best practices
MySQL Performance - Best practices Ted Wennmark
 
01 upgrade to my sql8
01 upgrade to my sql8 01 upgrade to my sql8
01 upgrade to my sql8 Ted Wennmark
 
MySQL as a Document Store
MySQL as a Document StoreMySQL as a Document Store
MySQL as a Document StoreTed Wennmark
 
Upgrade to MySQL 5.7 and latest news planned for MySQL 8
Upgrade to MySQL 5.7 and latest news planned for MySQL 8Upgrade to MySQL 5.7 and latest news planned for MySQL 8
Upgrade to MySQL 5.7 and latest news planned for MySQL 8Ted Wennmark
 
MySQL Fabric - High Availability & Automated Sharding for MySQL
MySQL Fabric - High Availability & Automated Sharding for MySQLMySQL Fabric - High Availability & Automated Sharding for MySQL
MySQL Fabric - High Availability & Automated Sharding for MySQLTed Wennmark
 
The MySQL Performance Schema & New SYS Schema
The MySQL Performance Schema & New SYS SchemaThe MySQL Performance Schema & New SYS Schema
The MySQL Performance Schema & New SYS SchemaTed Wennmark
 

More from Ted Wennmark (11)

MySQL NDB Cluster 8.0
MySQL NDB Cluster 8.0MySQL NDB Cluster 8.0
MySQL NDB Cluster 8.0
 
Upgrade to MySQL 8.0!
Upgrade to MySQL 8.0!Upgrade to MySQL 8.0!
Upgrade to MySQL 8.0!
 
MySQL Performance - Best practices
MySQL Performance - Best practices MySQL Performance - Best practices
MySQL Performance - Best practices
 
01 upgrade to my sql8
01 upgrade to my sql8 01 upgrade to my sql8
01 upgrade to my sql8
 
MySQL as a Document Store
MySQL as a Document StoreMySQL as a Document Store
MySQL as a Document Store
 
Upgrade to MySQL 5.7 and latest news planned for MySQL 8
Upgrade to MySQL 5.7 and latest news planned for MySQL 8Upgrade to MySQL 5.7 and latest news planned for MySQL 8
Upgrade to MySQL 5.7 and latest news planned for MySQL 8
 
MySQL HA
MySQL HAMySQL HA
MySQL HA
 
MySQL Security
MySQL SecurityMySQL Security
MySQL Security
 
MySQL Fabric - High Availability & Automated Sharding for MySQL
MySQL Fabric - High Availability & Automated Sharding for MySQLMySQL Fabric - High Availability & Automated Sharding for MySQL
MySQL Fabric - High Availability & Automated Sharding for MySQL
 
The MySQL Performance Schema & New SYS Schema
The MySQL Performance Schema & New SYS SchemaThe MySQL Performance Schema & New SYS Schema
The MySQL Performance Schema & New SYS Schema
 
MySQL@king
MySQL@kingMySQL@king
MySQL@king
 

Recently uploaded

APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 

Recently uploaded (20)

APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 

MySQL & NoSQL Best of Both

  • 1. 1 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. MySQL & NoSQL: The Best of Both Worlds Ted Wennmark Principal Sales Consultant MySQL ted.wennmark@oracle.com
  • 2. 2 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Safe Harbour Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
  • 3. 3 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. History of MySQL I  2001 MySQL 3.23 GA – our first GA release ever!  2005 Oracle Corporation acquired Innobase OY  2008 Sun acquired MySQL AB for $1 billion  2010 Oracle acquired Sun on 27 January  2010 MySQL 5.5 first Oracle release, great feedback from community!  2012 MySQL 5.6 “Best release ever“
  • 4. 4 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. History of MySQL II  World’s Most Popular Open Source Database  Over 12 million product installations  65,000 downloads/day  The ”M” of the widely deployed LAMP stack  MySQL Commercial Editions Available
  • 5. 5 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Session Agenda • NoSQL – What are people looking for? • RDBMS – What advantages do they still have? • How MySQL Delivers the Best of Both Worlds – MySQLCluster • NoSQL attributes: Scale-out, performance, ease-of-use, schema flexibility, on-line operations • NoSQL APIs – Key-Value store access to InnoDB (Memcached) • What is coming with future releases
  • 6. 6 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. What NoSQL must deliver • Massive scalability – No application-level sharding • Performance • High Availability/Fault Tolerance • Ease of use – Simple operations/administration – Simple APIs – Quickly evolve application & schema Scalability Performance HA Ease of use
  • 7. 7 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Still a role for the RDBMS? NoSQL Simple access patterns Compromise on consistency for performance Ad-hoc data format Simple operation RDBMS Complex queries with joins ACID transactions Well defined schemas Rich set of tools • No best single solution fits all • Mix and match Scalability Performance HA Ease of use SQL/Joins ACID Transactions
  • 8. 8 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. MySQL Cluster introduction
  • 9. 9 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. MySQL Cluster Architecture Data Nodes Node Group 1 F1 F3 F3 F1 Node1Node2 Node Group 2 F2 F4 F4 F2 Node3Node4 ApplicationNodes Cluster Mgr Cluster Mgr REST Scalability Performance HA Ease of use SQL/Joins a ACID Transactions a
  • 10. 10 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Copyright 2013, Oracle and/or its affiliates. All rights reserved. MySQL Cluster: Extensive Choice of NoSQL APIs Mix & Match
  • 11. 11 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. C++ example NdbOperation *op = trx->getNdbOperation(myTable); op->insertTuple(); op->equal("key", i); op->setValue("value", &value); trx->execute( NdbTransaction::Commit );
  • 12. 12 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Copyright 2013, Oracle and/or its affiliates. All rights reserved. • NoSQL C++ API, flexaSynch benchmark • 30 x Intel E5-2600 Intel Servers, 2 socket, 64GB • ACID Transactions, with Synchronous Replication 0 5 10 15 20 25 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 MillionsofUPDATEsper Second MySQL Cluster Data Nodes 1.2 Billion UPDATEs per Minute
  • 13. 13 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. MySQL Cluster Architecture Data Nodes Node Group 1 F1 F3 F3 F1 Node1Node2 Node Group 2 F2 F4 F4 F2 Node3Node4 ApplicationNodes Cluster Mgr Cluster Mgr REST Scalability Performance HA a Ease of use SQL/Joins a ACID Transactions a http://clusterdb.com/u/demo
  • 14. 14 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Data Node 1 Data Node 2 Data Node 3 Data Node 4 Table T1 P2 P3 P4 P1 Scale-Out: Auto-Partitioning
  • 15. 15 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Data Node 1 Data Node 2 F1 Data Node 3 Data Node 4 Table T1 P2 P3 P4 P1 Scale-Out: Auto-Partitioning
  • 16. 16 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Data Node 1 Data Node 2 F1 F1 Data Node 3 Data Node 4 Table T1 P2 P3 P4 P1 Scale-Out: Auto-Partitioning
  • 17. 17 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Data Node 1 Data Node 2 F1 F3 F1 Data Node 3 Data Node 4 Table T1 P2 P3 P4 P1 Scale-Out: Auto-Partitioning
  • 18. 18 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Data Node 1 Data Node 2 F1 F3 F3 F1 Data Node 3 Data Node 4 Table T1 P2 P3 P4 P1 Scale-Out: Auto-Partitioning
  • 19. 19 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Data Node 1 Data Node 2 F1 F3 F3 F1 Data Node 3 Data Node 4 F2 F4 F4 F2 Node Group 1 Node Group 2 Table T1 P2 P3 P4 P1 Scale-Out: Auto-Partitioning
  • 20. 20 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Data Node 1 Data Node 2 F1 F3 F3 F1 Data Node 3 Data Node 4 F2 F4 F4 F2 Node Group 1 Node Group 2 Table T1 P2 P3 P4 P1 Scale-Out: Auto-Partitioning
  • 21. 21 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Table T1 P2 P3 P4 P1 Scale-Out: Auto-Partitioning Scalability a Performance HA a Ease of use SQL/Joins a ACID Transactions a
  • 22. 22 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Scale-Out Reads & Writes on Commodity Hardware • 8 x Commodity Intel Servers – 2 x 6-core processors 2.93GHz – x5670 processors (24 threads) – 48GB RAM • Infiniband networking • flexAsynch benchmark (NDB API) 0 200 400 600 800 1 000 1 200 2 4 8 Millions Number of Data Nodes SELECT Queries per Minute 0 20 40 60 80 100 120 4 8 Millions Number of Data Nodes UPDATE Queries per Minute
  • 23. 23 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. On-line Schema changes • Scale the cluster (add & remove nodes on-line) • Repartition tables • Upgrade / patch servers & OS • Upgrade / patch MySQL Cluster • Back-Up • Evolve the schema on-line, in real-time On-Line Operations
  • 24. 24 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Scalability a Performance a HA a Ease of use a SQL/Joins a ACID Transactions a
  • 25. 25 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. NoSQL Access to MySQL Cluster data Mix & Match! Same data accessed simultaneously through SQL & NoSQL interfaces
  • 26. 26 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. MySQL Cluster 7.1: ClusterJ/JPA • New Domain Object Model Persistence API (ClusterJ) : – Java API – High performance,low latency – Feature rich • JPA interface built upon this new Java layer: – Java Persistence APIcompliant • Implemented as an OpenJPAplugin – Uses ClusterJ where possible,reverts to JDBC for some operations – Higherperformancethan JDBC – More naturalfor most Java designers – EasierClusteradoption forweb applications
  • 27. 27 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Java Access Performance http://www.mysql.com/why-mysql/white-papers/mysql_wp_cluster_connector_for_java.php
  • 28. 28 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. NoSQL with Memcached (MySQL Cluster 7.2) • Memcached is a distributed memory based hash- key/value store with no persistence to disk • NoSQL, simple API, popular with developers • MySQL Cluster already provides scalable, in-memory performance with NoSQL (hashed) access as well as persistence – Provide the Memcached API but map to NDB API calls • Writes-in-place, so no need to invalidate cache • Simplifies architecture as caching & database integrated into 1 tier • Access data from existing relational tables
  • 29. 29 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Traditional Memcached Architecture Two levels of hashing Memcache httpd memcached memcached memcached memcache key PHP/Perl friends:12389 hash key to find data
  • 30. 30 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Cache hit Memcache httpd memcachedPHP/Perl friends:12389 hash key to find data VALUE friends:12389 0 31rn 101, 11009, 11150, 55881, 77798 rn
  • 31. 31 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Cache miss (1): fetch from DB Memcache httpd memcachePHP/Perl hash key to find data mysql MySQL Slave memcached
  • 32. 32 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Cache miss (2): manage cache Memcache httpd PHP/Perl hash key to find data memcached
  • 33. 33 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Data change (1): Write to DB mysql httpd PHP/Perl MySQL Master DELETE FROM user_friends VALUES (12389, 999101);
  • 34. 34 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Data change (2): manage cache mysql httpd PHP/Perl MySQL Master memcached
  • 35. 35 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. NoSQL with Memcached • Flexible: – Deployment options – Multiple Clusters – Simultaneous SQL Access – Can still cache in Memcached server – Flat key-value store or map to multiple tables/columns set maidenhead 0 0 3 SL6 STORED get maidenhead VALUE maidenhead 0 3 SL6 END
  • 36. 36 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Cluster & Memcached – Schema-Free <town:maidenhead,SL6> key value <town:maidenhead,SL6> key value Key Value town:maidenhead SL6 generic table Application view SQL view
  • 37. 37 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Cluster & Memcached - Configured Schema <town:maidenhead,SL6> prefix key value <town:maidenhead,SL6> key value Prefix Table Key-col Val-col policy town: map.zip town code cluster pop: map.zip town popul cluster Config tables town ... code popul maidenhead ... SL6 ... map.zip Application view SQL view
  • 38. 38 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Memcached with MySQL Cluster http://clusterdb.com/u/memcached Try it out
  • 39. 39 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Memcached NoSQL Access with InnoDB • Memcachedas a plugin of MySQLServer; same process space,with very low latency accessto data • Memcapable:supports both memcached ascii protocoland binary protocol • Supportmultiple columns:users can map multiple columns into “value” • Optionallocalcaching:“innodb-only”, “cache-only”,and “caching” • Batch operations forperformance • Availablefrom in MySQL5.6 InnoDBStorageEngine HandlerAPI MySQL Server InnoDB API memcached plugin Application SQL Memcached protocol mysqld innodb_memcache local cache (optional)
  • 40. 40 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Performance Copyright 2013, Oracle and/or its affiliates. All rights reserved. Up to 9x Higher “SET / INSERT” Throughput 0 10000 20000 30000 40000 50000 60000 70000 80000 8 32 128 512 TPS Client Connections MySQL 5.6: NoSQL Benchmarking Memcached API SQL 16 GB, Intel Xeon 2.0 GHz CPU X86_642 CPUs-4 Core Each, 2 RAID DISKS
  • 41. 41 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. InnoDB & Memcached - Configured Schema <town:maidenhead,SL6:12000> prefix key value <@@town:maidenhead,SL6:12000> key value name schema table keycol valcols flags town map city town code,popul country world state code name,capital Config tables town ... code popul maidenhead ... SL6 12000 map.city Application view SQL view
  • 42. 42 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Which API to use?
  • 43. 43 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Scalability a Performance a HA a Ease of use a SQL/Joins a ACID Transactions a
  • 44. 44 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. MySQL Cluster 7.3 DMR: Node.js NoSQL API • Native JavaScript access to MySQLCluster – End-to-End JavaScript: browser to the app and database – Storing and retrieving JavaScript objects directly in MySQL Cluster – Eliminate SQL transformation • Implemented as a module for node.js – Integrates full Cluster API library within the web app • Couple high performance, distributed apps, with high performance distributed database V8 JavaScript Engine MySQL Cluster Node.js Module MySQL Cluster Data Nodes Clients
  • 45. 45 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. What does an asynchronous API mean? do_stuff1(data, callback1) callback1(results) do_stuff2(data, callback2) callback2(results) Get on with other stuff Get on with other stuff
  • 46. 46 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. MySQL Cluster NoSQL API for Node.js • Modular connector with various back-end adapters: • ndb: low-level native access to MySQL Cluster • mysql: access to any MySQL server (translates operations to SQL statements) var nosql = require('mysql-js'); var annotations = new nosql.Annotations(); annotations.mapClass(lib.Tweet, {'table' : 'tweet'}); var dbProperties = nosql.ConnectionProperties('ndb'); nosql.openSession(dbProperties, annotations, onSession);
  • 47. 47 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. MySQL Cluster NoSQL API for Node.js var onSession = function(err, session) { if (err) {…} else { var data = new lib.Tweet(user_args[0], user_args[1]); session.persist(data, onInsert, data); } };
  • 48. 48 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. var onInsert = function(err, object) { console.log('onInsert.'); if (err) {…} else { console.log('Inserted: ' + JSON.stringify(object)); } }; MySQL Cluster NoSQL API for Node.js
  • 49. 49 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Try Node.js example for yourself https://github.com/mysql/mysql-js/tree/master/samples
  • 50. 50 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Cloud Web & Enterprise OEM & ISVs Industry Leaders Rely on MySQL
  • 51. 51 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Summary Today’s web workloads demand more from databases Performance, scale-out, simples access patterns & APIs MySQL meets these needs while still delivering benefits of an ACID RDBMS
  • 52. 52 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Next Steps • Guide to MySQL and NoSQL - Delivering the Best of Both Worlds – http://mysql.com/why-mysql/white-papers/mysql-wp-guide-to- nosql.php • Evaluate MySQL Cluster 7.2 – http://www.mysql.com/downloads/cluster/ • Bootstrap a Cluster – https://edelivery.oracle.com/ • Try Memcached API for InnoDB in 5.6 • http://www.mysql.com/downloads/
  • 53. 53 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Graphic Section Divider  Keynotes  Conferences Sessions  Birds-of-a-feather sessions  Tutorials  Hands-on Labs  Exhibition Hall  Demo Pods  Receptions San Francisco, September 21-23 Additional Day of Tutorials Oracle.com/mysqlconnect
  • 54. 54 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Thank you! Copyright 2012, Oracle and/or its affiliates. All rights reserved.