SlideShare a Scribd company logo
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |
MySQL as a Document Store
Ted Wennmark
ted.wennmark@oracle.com
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |
Safe Harbor 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
commitmentto 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
functionalitydescribed for Oracle’s products remains at the sole discretion of Oracle.
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |
Program Agenda
MySQL Document Store
MySQL Future
1
2
3
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |
Program Agenda
MySQL Document Store
MySQL Future
1
2
4
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |
Today’s Challenges
• Developers want to move faster
• Time to market has a premium value
• Rapid prototyping, iterate fast…
5
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |
Today’s Challenges (cont.)
• Relational databases ask for schema up front
– Potentiallysaving you time in the future
– Less variations; less code to handle edge cases
– Added cost with each schema change
• NoSQL databases do not ask for schema
– Saving you time up front
– But potentially adding operational costs over time
– No cost per schema change
6
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |
Why can you not…
• Have both schema-less and schema in the same technology stack?
• One that checks all the boxes of all stakeholders:
7
Developers:
[ x ] Schemaless
[ x ] Rapid Prototyping/SimplerAPIs
[ x ] Document Model
Operations:
[ x ] Performance Management/Visibility
[ x ] Robust Replication, Backup, Restore
[ x ] ComprehensiveTooling Ecosystem
Business Owner:
[ x ] Don’t lose my data = ACID transactions
[ x ] Capture all my data = Extensible/Schemaless
[ x ] ProductsOn Schedule/Timeto Market = Rapid Development
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |
NEW! MySQL Document Store
• NativeJSON Documents in MySQL 5.7
– Schema-less Document Storage
• X Protocol (MySQL 5.7.12 DMR)
– Implementedby X Plugin to Extend MySQL Server as a Document Store
• X Dev API
– SQL and Document CRUD Operations
– Implementedin Connector/Node.js,Connector/J,Connector/Net
• MySQL Shell
– Javascript,Python,SQL modes
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |
Architecture
9
MySQL
Plugins
X ProtocolPlugin MemcachedPlugin
Core
X ProtocolStdProtocol
X Protocol
33060
StdProtocol
3306
SQLAPI CRUD API
X and Std
Protocols
MySQL
Shell
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |
New! MySQL X DevAPI
• Modern: fluent API, method chaining
• Stateless sessions enable transparent scaling to multi-server environments
• SQL support
• CRUD for Collections of Documents and Tables
– Documentsas simple basic domain objects
– Search expressions match SQL SELECT expressions
• Implemented in MySQL Shell & MySQL Connectors
– NEW! MySQL Connector/node.js
– MySQLConnector/J
– MySQLConnector/Net
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |
New! MySQL Shell
• Integrated Development and Administration Shell
• Exposes New X DevAPI
• Multi-Language scripting
– JavaScript, Python, and SQL
• Configurable results formats
– Traditional Table, JSON, Tab Separated
11
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | 12
tomas@localhost $ mysqlsh --uri root@localhost/test
Creatingan X Sessionto root@localhost:33060/test
Enter password:
Default schema `test` accessible through db.
…
Currently in JavaScript mode. Use sql to switch to SQL mode and execute queries.
mysql-js> db.createCollection("posts");
<Collection:posts>
mysql-js> db.posts.add({"title":"Hello World", "text":"First post!"})
Query OK, 1 item affected(0.03 sec)
mysql-js> db.posts.find("title = 'Hello World'").sort(["title"]);
[
{
"_id": "8202bda28206e611140b3229389b6526",
"text": "First post!",
"title": "Hello World"
}
]
1 document in set (0.01 sec)
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | 13
Under the Hood
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | 14
Collections are tables
Tables with:
- JSON column
- GeneratedColumn
Create a Collection
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |
Under The Hood II
15
• X-Plugin translatesCRUD -> SQL
• No code changes in core parts of MYSQL
Create Document (CRUD)
Look inside general-log
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |
Under The Hood III
16
Read Document (CRUD)
Look inside general-log
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |
CRUD Operations – NoSQL/Document and SQL/Relational
Operation Document Relational
Create Collection.add() Table.insert()
Read Collection.find() Table.select()
Update Collection.modify() Table.update()
Delete Collection.remove() Table.delete()
17
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |
CRUD Operations
NoSQL/Document
Javascript Java
C#NodeJS
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |
CRUD Operations
SQL/Relational
19
Javascript Java
C#NodeJS
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |
MySQL Document Store
✔ Built on Proven SQL/InnoDB/Replication
✔ Schema-less/Relational/Hybrid
✔ ACID/Transactions
✔ CRUD/JSON/Documents
✔ Modern Dev API
✔ Modern/Efficient Protocol
✔ SQL Queries/Analytics over JSON Documents
✔ Transparent and Easy HA/Scaling/Sharding
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |
New! Documentation
• Developer Guides
• Lots of examples
New Style - Developer Focused
21
http://dev.mysql.com/doc/dev/mysqlsh-api-javascript/
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |
Program Agenda
MySQL Document Store
MySQL Future
1
2
22
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |
Vision
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |
“Be the most popular open source
database for scale-out”
24
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |
3 MySQL will focus on three things.
25
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | 26
Scale-Out
Ease-of-Use
Out-of-Box
Solution
MySQL
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | 27
Ease-of-Use
• Download, Install, HA & Scale-Out in 15 minutes
• Single Interface for Everything MySQL
• Easy to Setup, Scale-Out, Manage & Monitor
• Excellent Quality
MySQL
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | 28
Out-of-Box Solution
• Integrated Solution vs. Individual Components
• Designed & Developed Together
• Tested & Delivered Together
• Managed & Monitored Together
MySQL
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | 29
Scale-Out
• Maintain World-Class Performance
• Rock Solid, Server-Side HA With Auto-Failover
• Read Scale-Out With Replication
• Write Scale-Out With Sharding
MySQL
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |
4 Rollout will happen in four steps.
30
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | 31
Read Scale-Out
Async Replication+ Auto Failover
Write Scale-Out
Sharding
S1
S2
S3
S4
MySQL Vision – 4 Steps
Timeline
MySQLDocumentStore
Relational & Document Model
MySQLHA
Out-Of-BoxHA
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |
Introducing …
32
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | 33
Scale-Out
High Performance
Ease-of-Use
Built-inHA
Out-of-Box Solution
Everything Integrated
MySQL
InnoDB
cluster
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | 34
A single product: MySQL
• All componentscreated together
• Tested together
• Packaged together
Flexible and Modern
• C++ 11
• ProtocolBuffers
• Developer friendly
MySQL InnoDB Cluster – Goals
Easy to use
• A single client: MySQL Shell
• Easy packaging
• Homogenousservers
Scale-out
• Sharded clusters
• Federated system of N replica sets
• Each replica set manages a shard
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |
MySQL
InnoDB
cluster
MySQL InnoDB Cluster – Architecture - S2
M
M M
MySQLConnector
Application
MySQL Router
MySQL Connector
Application
MySQL Router
MySQL Shell
HA
Group Replication
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |
S1 S2 S3 S4 S…
M
M M
MySQLConnector
Application
MySQL Router
MySQL Connector
Application
MySQL Router
MySQL Shell
HA
MySQL InnoDB Cluster – Architecture - S3 MySQL
InnoDB
cluster
Read-Only Slaves
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |
S1 S2 S3 S4 S…
M
M M
MySQLConnector
Application
MySQL Router
MySQL Connector
Application
MySQL Router
MySQL Shell
HA
ReplicaSet(Shard1)
S1 S2 S3 S4 S…
M
M M
MySQLConnector
Application
MySQL Router
HA
ReplicaSet(Shard2)
S1 S2 S3
M
M M
H
ReplicaSet(Shard3)
MySQLConnector
Application
MySQL Router
MySQL InnoDB Cluster – Architecture - S4 MySQL
InnoDB
cluster
…
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |
MySQLConnector
Application
MySQL Connector
Application
MySQL Shell
MySQLConnector
Application
MySQLConnector
Application
MySQL InnoDB Cluster – Architecture
MySQL
InnoDB
cluster
MySQL Enterprise Monitor
…
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |
MySQL
InnoDB
cluster
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |
Demo
MySQL
InnoDB
cluster
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |
MySQL
InnoDB
cluster
MySQL InnoDB Cluster – DEMO
M
M M
Application
MySQL Router
MySQL Connector
Applicaion
MySQL Shell
HA
Group Replication
3310
3320 3330
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | 42
The Demo Showed…
• MySQL HA in 4 minutes
• Very easy, even for somebody new to MySQL
• Everything managed through MySQL Shell
• Convenient, easy-to-use AdminAPI
MySQL
InnoDB
cluster
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |
1 One seamless solution for HA:
Easy-to-Use, Out-of-Box, Scale-
Out.
43
MySQL
InnoDB
cluster
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |
What’s next?
44
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | 45
Read Scale-Out
Async Replication+ Auto Failover
Write Scale-Out
Sharding
S1
S2
S3
S4
MySQL Vision – 4 Steps
Timeline
Download Preview Release from
labs.mysql.com
MySQLDocumentStore
Relational & Document Model
MySQLHA
Out-Of-BoxHA
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |
Resources
Topic Link(s)
MySQLas a Document Database http://dev.mysql.com/doc/refman/5.7/en/document-database.html
MySQLShell http://dev.mysql.com/doc/refman/5.7/en/mysql-shell.html
http://dev.mysql.com/doc/refman/5.7/en/mysqlx-shell-tutorial-javascript.html
http://dev.mysql.com/doc/refman/5.7/en/mysqlx-shell-tutorial-python.html
X Dev API http://dev.mysql.com/doc/x-devapi-userguide/en/
X Plugin http://dev.mysql.com/doc/refman/5.7/en/x-plugin.html
MySQLJSON http://mysqlserverteam.com/tag/json/
https://dev.mysql.com/doc/refman/5.7/en/json.html
https://dev.mysql.com/doc/refman/5.7/en/json-functions.html
46
Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |
Thank you!
Ad

More Related Content

What's hot (20)

MySQL InnoDB Cluster and NDB Cluster
MySQL InnoDB Cluster and NDB ClusterMySQL InnoDB Cluster and NDB Cluster
MySQL InnoDB Cluster and NDB Cluster
Mario Beck
 
MySQL configuration - The most important Variables
MySQL configuration - The most important VariablesMySQL configuration - The most important Variables
MySQL configuration - The most important Variables
FromDual GmbH
 
MariaDB: Connect Storage Engine
MariaDB: Connect Storage EngineMariaDB: Connect Storage Engine
MariaDB: Connect Storage Engine
Kangaroot
 
MySQL Enterprise Portfolio
MySQL Enterprise PortfolioMySQL Enterprise Portfolio
MySQL Enterprise Portfolio
Abel Flórez
 
MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...
MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...
MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...
Dave Stokes
 
MySQL 5.7 - What's new, How to upgrade and Document Store
MySQL 5.7 - What's new, How to upgrade and Document StoreMySQL 5.7 - What's new, How to upgrade and Document Store
MySQL 5.7 - What's new, How to upgrade and Document Store
Abel Flórez
 
MySQL Storage Engines
MySQL Storage EnginesMySQL Storage Engines
MySQL Storage Engines
Karthik .P.R
 
MySQL 8.0 - What's New ?
MySQL 8.0 - What's New ?MySQL 8.0 - What's New ?
MySQL 8.0 - What's New ?
Olivier DASINI
 
MySQL JSON Document Store - A Document Store with all the benefits of a Trans...
MySQL JSON Document Store - A Document Store with all the benefits of a Trans...MySQL JSON Document Store - A Document Store with all the benefits of a Trans...
MySQL JSON Document Store - A Document Store with all the benefits of a Trans...
Olivier DASINI
 
Mining the AWR: Alternative Methods for Identification of the Top SQLs (inclu...
Mining the AWR: Alternative Methods for Identification of the Top SQLs (inclu...Mining the AWR: Alternative Methods for Identification of the Top SQLs (inclu...
Mining the AWR: Alternative Methods for Identification of the Top SQLs (inclu...
Maris Elsins
 
Maria db 10 and the mariadb foundation(colin)
Maria db 10 and the mariadb foundation(colin)Maria db 10 and the mariadb foundation(colin)
Maria db 10 and the mariadb foundation(colin)
kayokogoto
 
MySQL Features & Implementation
MySQL Features & ImplementationMySQL Features & Implementation
MySQL Features & Implementation
OSSCube
 
MySQL Cluster
MySQL ClusterMySQL Cluster
MySQL Cluster
Abel Flórez
 
MySQL 5.7 in a Nutshell
MySQL 5.7 in a NutshellMySQL 5.7 in a Nutshell
MySQL 5.7 in a Nutshell
Emily Ikuta
 
My sql crashcourse_intro_kdl
My sql crashcourse_intro_kdlMy sql crashcourse_intro_kdl
My sql crashcourse_intro_kdl
sqlhjalp
 
Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem 20170527
Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem 20170527Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem 20170527
Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem 20170527
Zohar Elkayam
 
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
Mark Swarbrick
 
My sql crashcourse_2012
My sql crashcourse_2012My sql crashcourse_2012
My sql crashcourse_2012
sqlhjalp
 
MySQL Day Paris 2018 - MySQL JSON Document Store
MySQL Day Paris 2018 - MySQL JSON Document StoreMySQL Day Paris 2018 - MySQL JSON Document Store
MySQL Day Paris 2018 - MySQL JSON Document Store
Olivier DASINI
 
MySQL cluster 7.4
MySQL cluster 7.4 MySQL cluster 7.4
MySQL cluster 7.4
Mark Swarbrick
 
MySQL InnoDB Cluster and NDB Cluster
MySQL InnoDB Cluster and NDB ClusterMySQL InnoDB Cluster and NDB Cluster
MySQL InnoDB Cluster and NDB Cluster
Mario Beck
 
MySQL configuration - The most important Variables
MySQL configuration - The most important VariablesMySQL configuration - The most important Variables
MySQL configuration - The most important Variables
FromDual GmbH
 
MariaDB: Connect Storage Engine
MariaDB: Connect Storage EngineMariaDB: Connect Storage Engine
MariaDB: Connect Storage Engine
Kangaroot
 
MySQL Enterprise Portfolio
MySQL Enterprise PortfolioMySQL Enterprise Portfolio
MySQL Enterprise Portfolio
Abel Flórez
 
MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...
MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...
MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...
Dave Stokes
 
MySQL 5.7 - What's new, How to upgrade and Document Store
MySQL 5.7 - What's new, How to upgrade and Document StoreMySQL 5.7 - What's new, How to upgrade and Document Store
MySQL 5.7 - What's new, How to upgrade and Document Store
Abel Flórez
 
MySQL Storage Engines
MySQL Storage EnginesMySQL Storage Engines
MySQL Storage Engines
Karthik .P.R
 
MySQL 8.0 - What's New ?
MySQL 8.0 - What's New ?MySQL 8.0 - What's New ?
MySQL 8.0 - What's New ?
Olivier DASINI
 
MySQL JSON Document Store - A Document Store with all the benefits of a Trans...
MySQL JSON Document Store - A Document Store with all the benefits of a Trans...MySQL JSON Document Store - A Document Store with all the benefits of a Trans...
MySQL JSON Document Store - A Document Store with all the benefits of a Trans...
Olivier DASINI
 
Mining the AWR: Alternative Methods for Identification of the Top SQLs (inclu...
Mining the AWR: Alternative Methods for Identification of the Top SQLs (inclu...Mining the AWR: Alternative Methods for Identification of the Top SQLs (inclu...
Mining the AWR: Alternative Methods for Identification of the Top SQLs (inclu...
Maris Elsins
 
Maria db 10 and the mariadb foundation(colin)
Maria db 10 and the mariadb foundation(colin)Maria db 10 and the mariadb foundation(colin)
Maria db 10 and the mariadb foundation(colin)
kayokogoto
 
MySQL Features & Implementation
MySQL Features & ImplementationMySQL Features & Implementation
MySQL Features & Implementation
OSSCube
 
MySQL 5.7 in a Nutshell
MySQL 5.7 in a NutshellMySQL 5.7 in a Nutshell
MySQL 5.7 in a Nutshell
Emily Ikuta
 
My sql crashcourse_intro_kdl
My sql crashcourse_intro_kdlMy sql crashcourse_intro_kdl
My sql crashcourse_intro_kdl
sqlhjalp
 
Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem 20170527
Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem 20170527Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem 20170527
Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem 20170527
Zohar Elkayam
 
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
Mark Swarbrick
 
My sql crashcourse_2012
My sql crashcourse_2012My sql crashcourse_2012
My sql crashcourse_2012
sqlhjalp
 
MySQL Day Paris 2018 - MySQL JSON Document Store
MySQL Day Paris 2018 - MySQL JSON Document StoreMySQL Day Paris 2018 - MySQL JSON Document Store
MySQL Day Paris 2018 - MySQL JSON Document Store
Olivier DASINI
 

Similar to MySQL as a Document Store (20)

5 razões estratégicas para usar MySQL
5 razões estratégicas para usar MySQL5 razões estratégicas para usar MySQL
5 razões estratégicas para usar MySQL
MySQL Brasil
 
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
GeneXus
 
Node.js and the MySQL Document Store
Node.js and the MySQL Document StoreNode.js and the MySQL Document Store
Node.js and the MySQL Document Store
Rui Quelhas
 
MySQL Shell: The DevOps Tool for MySQL
MySQL Shell: The DevOps Tool for MySQLMySQL Shell: The DevOps Tool for MySQL
MySQL Shell: The DevOps Tool for MySQL
Miguel Araújo
 
MySQL 5.7 como Document Store
MySQL 5.7 como Document StoreMySQL 5.7 como Document Store
MySQL 5.7 como Document Store
MySQL Brasil
 
Unlocking Big Data Insights with MySQL
Unlocking Big Data Insights with MySQLUnlocking Big Data Insights with MySQL
Unlocking Big Data Insights with MySQL
Matt Lord
 
MySQL 8.0, what's new ? - Forum PHP 2018
MySQL 8.0, what's new ? - Forum PHP 2018MySQL 8.0, what's new ? - Forum PHP 2018
MySQL 8.0, what's new ? - Forum PHP 2018
Olivier DASINI
 
MySQL Document Store (Oracle Code Warsaw 2018)
MySQL Document Store (Oracle Code Warsaw 2018)MySQL Document Store (Oracle Code Warsaw 2018)
MySQL Document Store (Oracle Code Warsaw 2018)
Vittorio Cioe
 
Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.
Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.
Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.
Geir Høydalsvik
 
MySQL Document Store and Node.JS
MySQL Document Store and Node.JSMySQL Document Store and Node.JS
MySQL Document Store and Node.JS
Reggie Burnett
 
Oracle Enterprise Manager for MySQL
Oracle Enterprise Manager for MySQLOracle Enterprise Manager for MySQL
Oracle Enterprise Manager for MySQL
Mario Beck
 
MySQL Day Paris 2018 - What’s New in MySQL 8.0 ?
MySQL Day Paris 2018 - What’s New in MySQL 8.0 ?MySQL Day Paris 2018 - What’s New in MySQL 8.0 ?
MySQL Day Paris 2018 - What’s New in MySQL 8.0 ?
Olivier DASINI
 
MySQL Manchester TT - MySQL Enterprise Edition
MySQL Manchester TT - MySQL Enterprise EditionMySQL Manchester TT - MySQL Enterprise Edition
MySQL Manchester TT - MySQL Enterprise Edition
Mark Swarbrick
 
2018: State of the Dolphin, MySQL Keynote at Percona Live Europe 2018, Frankf...
2018: State of the Dolphin, MySQL Keynote at Percona Live Europe 2018, Frankf...2018: State of the Dolphin, MySQL Keynote at Percona Live Europe 2018, Frankf...
2018: State of the Dolphin, MySQL Keynote at Percona Live Europe 2018, Frankf...
Geir Høydalsvik
 
Oracle Code Event - MySQL JSON Document Store
Oracle Code Event - MySQL JSON Document StoreOracle Code Event - MySQL JSON Document Store
Oracle Code Event - MySQL JSON Document Store
Mark Swarbrick
 
01 demystifying mysq-lfororacledbaanddeveloperv1
01 demystifying mysq-lfororacledbaanddeveloperv101 demystifying mysq-lfororacledbaanddeveloperv1
01 demystifying mysq-lfororacledbaanddeveloperv1
Ivan Ma
 
NoSQL no MySQL 5.7
NoSQL no MySQL 5.7NoSQL no MySQL 5.7
NoSQL no MySQL 5.7
MySQL Brasil
 
MySQL Tech Tour 2015 - Alt Intro
MySQL Tech Tour 2015 - Alt IntroMySQL Tech Tour 2015 - Alt Intro
MySQL Tech Tour 2015 - Alt Intro
Mark Swarbrick
 
MySQL Shell: the daily tool for devs and admins. By Vittorio Cioe.
MySQL Shell: the daily tool for devs and admins. By Vittorio Cioe.MySQL Shell: the daily tool for devs and admins. By Vittorio Cioe.
MySQL Shell: the daily tool for devs and admins. By Vittorio Cioe.
Cloud Native Day Tel Aviv
 
MySQL in oracle_public_cloud
MySQL in oracle_public_cloudMySQL in oracle_public_cloud
MySQL in oracle_public_cloud
OracleMySQL
 
5 razões estratégicas para usar MySQL
5 razões estratégicas para usar MySQL5 razões estratégicas para usar MySQL
5 razões estratégicas para usar MySQL
MySQL Brasil
 
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
GeneXus
 
Node.js and the MySQL Document Store
Node.js and the MySQL Document StoreNode.js and the MySQL Document Store
Node.js and the MySQL Document Store
Rui Quelhas
 
MySQL Shell: The DevOps Tool for MySQL
MySQL Shell: The DevOps Tool for MySQLMySQL Shell: The DevOps Tool for MySQL
MySQL Shell: The DevOps Tool for MySQL
Miguel Araújo
 
MySQL 5.7 como Document Store
MySQL 5.7 como Document StoreMySQL 5.7 como Document Store
MySQL 5.7 como Document Store
MySQL Brasil
 
Unlocking Big Data Insights with MySQL
Unlocking Big Data Insights with MySQLUnlocking Big Data Insights with MySQL
Unlocking Big Data Insights with MySQL
Matt Lord
 
MySQL 8.0, what's new ? - Forum PHP 2018
MySQL 8.0, what's new ? - Forum PHP 2018MySQL 8.0, what's new ? - Forum PHP 2018
MySQL 8.0, what's new ? - Forum PHP 2018
Olivier DASINI
 
MySQL Document Store (Oracle Code Warsaw 2018)
MySQL Document Store (Oracle Code Warsaw 2018)MySQL Document Store (Oracle Code Warsaw 2018)
MySQL Document Store (Oracle Code Warsaw 2018)
Vittorio Cioe
 
Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.
Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.
Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.
Geir Høydalsvik
 
MySQL Document Store and Node.JS
MySQL Document Store and Node.JSMySQL Document Store and Node.JS
MySQL Document Store and Node.JS
Reggie Burnett
 
Oracle Enterprise Manager for MySQL
Oracle Enterprise Manager for MySQLOracle Enterprise Manager for MySQL
Oracle Enterprise Manager for MySQL
Mario Beck
 
MySQL Day Paris 2018 - What’s New in MySQL 8.0 ?
MySQL Day Paris 2018 - What’s New in MySQL 8.0 ?MySQL Day Paris 2018 - What’s New in MySQL 8.0 ?
MySQL Day Paris 2018 - What’s New in MySQL 8.0 ?
Olivier DASINI
 
MySQL Manchester TT - MySQL Enterprise Edition
MySQL Manchester TT - MySQL Enterprise EditionMySQL Manchester TT - MySQL Enterprise Edition
MySQL Manchester TT - MySQL Enterprise Edition
Mark Swarbrick
 
2018: State of the Dolphin, MySQL Keynote at Percona Live Europe 2018, Frankf...
2018: State of the Dolphin, MySQL Keynote at Percona Live Europe 2018, Frankf...2018: State of the Dolphin, MySQL Keynote at Percona Live Europe 2018, Frankf...
2018: State of the Dolphin, MySQL Keynote at Percona Live Europe 2018, Frankf...
Geir Høydalsvik
 
Oracle Code Event - MySQL JSON Document Store
Oracle Code Event - MySQL JSON Document StoreOracle Code Event - MySQL JSON Document Store
Oracle Code Event - MySQL JSON Document Store
Mark Swarbrick
 
01 demystifying mysq-lfororacledbaanddeveloperv1
01 demystifying mysq-lfororacledbaanddeveloperv101 demystifying mysq-lfororacledbaanddeveloperv1
01 demystifying mysq-lfororacledbaanddeveloperv1
Ivan Ma
 
NoSQL no MySQL 5.7
NoSQL no MySQL 5.7NoSQL no MySQL 5.7
NoSQL no MySQL 5.7
MySQL Brasil
 
MySQL Tech Tour 2015 - Alt Intro
MySQL Tech Tour 2015 - Alt IntroMySQL Tech Tour 2015 - Alt Intro
MySQL Tech Tour 2015 - Alt Intro
Mark Swarbrick
 
MySQL Shell: the daily tool for devs and admins. By Vittorio Cioe.
MySQL Shell: the daily tool for devs and admins. By Vittorio Cioe.MySQL Shell: the daily tool for devs and admins. By Vittorio Cioe.
MySQL Shell: the daily tool for devs and admins. By Vittorio Cioe.
Cloud Native Day Tel Aviv
 
MySQL in oracle_public_cloud
MySQL in oracle_public_cloudMySQL in oracle_public_cloud
MySQL in oracle_public_cloud
OracleMySQL
 
Ad

More from Ted Wennmark (13)

Upgrade to MySQL 8.0!
Upgrade to MySQL 8.0!Upgrade to MySQL 8.0!
Upgrade to MySQL 8.0!
Ted 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 8
Ted Wennmark
 
MySQL Enterprise Backup apr 2016
MySQL Enterprise Backup apr 2016MySQL Enterprise Backup apr 2016
MySQL Enterprise Backup apr 2016
Ted Wennmark
 
MySQL Security
MySQL SecurityMySQL Security
MySQL Security
Ted Wennmark
 
MySQL 5.7 Replication News
MySQL 5.7 Replication News MySQL 5.7 Replication News
MySQL 5.7 Replication News
Ted Wennmark
 
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
Ted Wennmark
 
Introduction to MySQL
Introduction to MySQLIntroduction to MySQL
Introduction to MySQL
Ted 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 MySQL
Ted 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 Schema
Ted Wennmark
 
MySQL Enterprise Monitor
MySQL Enterprise MonitorMySQL Enterprise Monitor
MySQL Enterprise Monitor
Ted Wennmark
 
MySQL@king
MySQL@kingMySQL@king
MySQL@king
Ted Wennmark
 
NoSQL and MySQL
NoSQL and MySQLNoSQL and MySQL
NoSQL and MySQL
Ted Wennmark
 
What's new in my sql smug
What's new in my sql smugWhat's new in my sql smug
What's new in my sql smug
Ted Wennmark
 
Upgrade to MySQL 8.0!
Upgrade to MySQL 8.0!Upgrade to MySQL 8.0!
Upgrade to MySQL 8.0!
Ted 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 8
Ted Wennmark
 
MySQL Enterprise Backup apr 2016
MySQL Enterprise Backup apr 2016MySQL Enterprise Backup apr 2016
MySQL Enterprise Backup apr 2016
Ted Wennmark
 
MySQL 5.7 Replication News
MySQL 5.7 Replication News MySQL 5.7 Replication News
MySQL 5.7 Replication News
Ted Wennmark
 
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
Ted Wennmark
 
Introduction to MySQL
Introduction to MySQLIntroduction to MySQL
Introduction to MySQL
Ted 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 MySQL
Ted 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 Schema
Ted Wennmark
 
MySQL Enterprise Monitor
MySQL Enterprise MonitorMySQL Enterprise Monitor
MySQL Enterprise Monitor
Ted Wennmark
 
What's new in my sql smug
What's new in my sql smugWhat's new in my sql smug
What's new in my sql smug
Ted Wennmark
 
Ad

Recently uploaded (20)

Stack_and_Queue_Presentation_Final (1).pptx
Stack_and_Queue_Presentation_Final (1).pptxStack_and_Queue_Presentation_Final (1).pptx
Stack_and_Queue_Presentation_Final (1).pptx
binduraniha86
 
How iCode cybertech Helped Me Recover My Lost Funds
How iCode cybertech Helped Me Recover My Lost FundsHow iCode cybertech Helped Me Recover My Lost Funds
How iCode cybertech Helped Me Recover My Lost Funds
ireneschmid345
 
IAS-slides2-ia-aaaaaaaaaaain-business.pdf
IAS-slides2-ia-aaaaaaaaaaain-business.pdfIAS-slides2-ia-aaaaaaaaaaain-business.pdf
IAS-slides2-ia-aaaaaaaaaaain-business.pdf
mcgardenlevi9
 
LLM finetuning for multiple choice google bert
LLM finetuning for multiple choice google bertLLM finetuning for multiple choice google bert
LLM finetuning for multiple choice google bert
ChadapornK
 
chapter3 Central Tendency statistics.ppt
chapter3 Central Tendency statistics.pptchapter3 Central Tendency statistics.ppt
chapter3 Central Tendency statistics.ppt
justinebandajbn
 
md-presentHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHation.pptx
md-presentHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHation.pptxmd-presentHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHation.pptx
md-presentHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHation.pptx
fatimalazaar2004
 
How to join illuminati Agent in uganda call+256776963507/0741506136
How to join illuminati Agent in uganda call+256776963507/0741506136How to join illuminati Agent in uganda call+256776963507/0741506136
How to join illuminati Agent in uganda call+256776963507/0741506136
illuminati Agent uganda call+256776963507/0741506136
 
Thingyan is now a global treasure! See how people around the world are search...
Thingyan is now a global treasure! See how people around the world are search...Thingyan is now a global treasure! See how people around the world are search...
Thingyan is now a global treasure! See how people around the world are search...
Pixellion
 
Developing Security Orchestration, Automation, and Response Applications
Developing Security Orchestration, Automation, and Response ApplicationsDeveloping Security Orchestration, Automation, and Response Applications
Developing Security Orchestration, Automation, and Response Applications
VICTOR MAESTRE RAMIREZ
 
1. Briefing Session_SEED with Hon. Governor Assam - 27.10.pdf
1. Briefing Session_SEED with Hon. Governor Assam - 27.10.pdf1. Briefing Session_SEED with Hon. Governor Assam - 27.10.pdf
1. Briefing Session_SEED with Hon. Governor Assam - 27.10.pdf
Simran112433
 
DPR_Expert_Recruitment_notice_Revised.pdf
DPR_Expert_Recruitment_notice_Revised.pdfDPR_Expert_Recruitment_notice_Revised.pdf
DPR_Expert_Recruitment_notice_Revised.pdf
inmishra17121973
 
VKS-Python Basics for Beginners and advance.pptx
VKS-Python Basics for Beginners and advance.pptxVKS-Python Basics for Beginners and advance.pptx
VKS-Python Basics for Beginners and advance.pptx
Vinod Srivastava
 
VKS-Python-FIe Handling text CSV Binary.pptx
VKS-Python-FIe Handling text CSV Binary.pptxVKS-Python-FIe Handling text CSV Binary.pptx
VKS-Python-FIe Handling text CSV Binary.pptx
Vinod Srivastava
 
Conic Sectionfaggavahabaayhahahahahs.pptx
Conic Sectionfaggavahabaayhahahahahs.pptxConic Sectionfaggavahabaayhahahahahs.pptx
Conic Sectionfaggavahabaayhahahahahs.pptx
taiwanesechetan
 
04302025_CCC TUG_DataVista: The Design Story
04302025_CCC TUG_DataVista: The Design Story04302025_CCC TUG_DataVista: The Design Story
04302025_CCC TUG_DataVista: The Design Story
ccctableauusergroup
 
Principles of information security Chapter 5.ppt
Principles of information security Chapter 5.pptPrinciples of information security Chapter 5.ppt
Principles of information security Chapter 5.ppt
EstherBaguma
 
Ch3MCT24.pptx measure of central tendency
Ch3MCT24.pptx measure of central tendencyCh3MCT24.pptx measure of central tendency
Ch3MCT24.pptx measure of central tendency
ayeleasefa2
 
Geometry maths presentation for begginers
Geometry maths presentation for begginersGeometry maths presentation for begginers
Geometry maths presentation for begginers
zrjacob283
 
Cleaned_Lecture 6666666_Simulation_I.pdf
Cleaned_Lecture 6666666_Simulation_I.pdfCleaned_Lecture 6666666_Simulation_I.pdf
Cleaned_Lecture 6666666_Simulation_I.pdf
alcinialbob1234
 
Molecular methods diagnostic and monitoring of infection - Repaired.pptx
Molecular methods diagnostic and monitoring of infection  -  Repaired.pptxMolecular methods diagnostic and monitoring of infection  -  Repaired.pptx
Molecular methods diagnostic and monitoring of infection - Repaired.pptx
7tzn7x5kky
 
Stack_and_Queue_Presentation_Final (1).pptx
Stack_and_Queue_Presentation_Final (1).pptxStack_and_Queue_Presentation_Final (1).pptx
Stack_and_Queue_Presentation_Final (1).pptx
binduraniha86
 
How iCode cybertech Helped Me Recover My Lost Funds
How iCode cybertech Helped Me Recover My Lost FundsHow iCode cybertech Helped Me Recover My Lost Funds
How iCode cybertech Helped Me Recover My Lost Funds
ireneschmid345
 
IAS-slides2-ia-aaaaaaaaaaain-business.pdf
IAS-slides2-ia-aaaaaaaaaaain-business.pdfIAS-slides2-ia-aaaaaaaaaaain-business.pdf
IAS-slides2-ia-aaaaaaaaaaain-business.pdf
mcgardenlevi9
 
LLM finetuning for multiple choice google bert
LLM finetuning for multiple choice google bertLLM finetuning for multiple choice google bert
LLM finetuning for multiple choice google bert
ChadapornK
 
chapter3 Central Tendency statistics.ppt
chapter3 Central Tendency statistics.pptchapter3 Central Tendency statistics.ppt
chapter3 Central Tendency statistics.ppt
justinebandajbn
 
md-presentHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHation.pptx
md-presentHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHation.pptxmd-presentHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHation.pptx
md-presentHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHation.pptx
fatimalazaar2004
 
Thingyan is now a global treasure! See how people around the world are search...
Thingyan is now a global treasure! See how people around the world are search...Thingyan is now a global treasure! See how people around the world are search...
Thingyan is now a global treasure! See how people around the world are search...
Pixellion
 
Developing Security Orchestration, Automation, and Response Applications
Developing Security Orchestration, Automation, and Response ApplicationsDeveloping Security Orchestration, Automation, and Response Applications
Developing Security Orchestration, Automation, and Response Applications
VICTOR MAESTRE RAMIREZ
 
1. Briefing Session_SEED with Hon. Governor Assam - 27.10.pdf
1. Briefing Session_SEED with Hon. Governor Assam - 27.10.pdf1. Briefing Session_SEED with Hon. Governor Assam - 27.10.pdf
1. Briefing Session_SEED with Hon. Governor Assam - 27.10.pdf
Simran112433
 
DPR_Expert_Recruitment_notice_Revised.pdf
DPR_Expert_Recruitment_notice_Revised.pdfDPR_Expert_Recruitment_notice_Revised.pdf
DPR_Expert_Recruitment_notice_Revised.pdf
inmishra17121973
 
VKS-Python Basics for Beginners and advance.pptx
VKS-Python Basics for Beginners and advance.pptxVKS-Python Basics for Beginners and advance.pptx
VKS-Python Basics for Beginners and advance.pptx
Vinod Srivastava
 
VKS-Python-FIe Handling text CSV Binary.pptx
VKS-Python-FIe Handling text CSV Binary.pptxVKS-Python-FIe Handling text CSV Binary.pptx
VKS-Python-FIe Handling text CSV Binary.pptx
Vinod Srivastava
 
Conic Sectionfaggavahabaayhahahahahs.pptx
Conic Sectionfaggavahabaayhahahahahs.pptxConic Sectionfaggavahabaayhahahahahs.pptx
Conic Sectionfaggavahabaayhahahahahs.pptx
taiwanesechetan
 
04302025_CCC TUG_DataVista: The Design Story
04302025_CCC TUG_DataVista: The Design Story04302025_CCC TUG_DataVista: The Design Story
04302025_CCC TUG_DataVista: The Design Story
ccctableauusergroup
 
Principles of information security Chapter 5.ppt
Principles of information security Chapter 5.pptPrinciples of information security Chapter 5.ppt
Principles of information security Chapter 5.ppt
EstherBaguma
 
Ch3MCT24.pptx measure of central tendency
Ch3MCT24.pptx measure of central tendencyCh3MCT24.pptx measure of central tendency
Ch3MCT24.pptx measure of central tendency
ayeleasefa2
 
Geometry maths presentation for begginers
Geometry maths presentation for begginersGeometry maths presentation for begginers
Geometry maths presentation for begginers
zrjacob283
 
Cleaned_Lecture 6666666_Simulation_I.pdf
Cleaned_Lecture 6666666_Simulation_I.pdfCleaned_Lecture 6666666_Simulation_I.pdf
Cleaned_Lecture 6666666_Simulation_I.pdf
alcinialbob1234
 
Molecular methods diagnostic and monitoring of infection - Repaired.pptx
Molecular methods diagnostic and monitoring of infection  -  Repaired.pptxMolecular methods diagnostic and monitoring of infection  -  Repaired.pptx
Molecular methods diagnostic and monitoring of infection - Repaired.pptx
7tzn7x5kky
 

MySQL as a Document Store

  • 1. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. |Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | MySQL as a Document Store Ted Wennmark [email protected]
  • 2. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | Safe Harbor 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 commitmentto 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 functionalitydescribed for Oracle’s products remains at the sole discretion of Oracle.
  • 3. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | Program Agenda MySQL Document Store MySQL Future 1 2 3
  • 4. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | Program Agenda MySQL Document Store MySQL Future 1 2 4
  • 5. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | Today’s Challenges • Developers want to move faster • Time to market has a premium value • Rapid prototyping, iterate fast… 5
  • 6. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | Today’s Challenges (cont.) • Relational databases ask for schema up front – Potentiallysaving you time in the future – Less variations; less code to handle edge cases – Added cost with each schema change • NoSQL databases do not ask for schema – Saving you time up front – But potentially adding operational costs over time – No cost per schema change 6
  • 7. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | Why can you not… • Have both schema-less and schema in the same technology stack? • One that checks all the boxes of all stakeholders: 7 Developers: [ x ] Schemaless [ x ] Rapid Prototyping/SimplerAPIs [ x ] Document Model Operations: [ x ] Performance Management/Visibility [ x ] Robust Replication, Backup, Restore [ x ] ComprehensiveTooling Ecosystem Business Owner: [ x ] Don’t lose my data = ACID transactions [ x ] Capture all my data = Extensible/Schemaless [ x ] ProductsOn Schedule/Timeto Market = Rapid Development
  • 8. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | NEW! MySQL Document Store • NativeJSON Documents in MySQL 5.7 – Schema-less Document Storage • X Protocol (MySQL 5.7.12 DMR) – Implementedby X Plugin to Extend MySQL Server as a Document Store • X Dev API – SQL and Document CRUD Operations – Implementedin Connector/Node.js,Connector/J,Connector/Net • MySQL Shell – Javascript,Python,SQL modes
  • 9. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | Architecture 9 MySQL Plugins X ProtocolPlugin MemcachedPlugin Core X ProtocolStdProtocol X Protocol 33060 StdProtocol 3306 SQLAPI CRUD API X and Std Protocols MySQL Shell
  • 10. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | New! MySQL X DevAPI • Modern: fluent API, method chaining • Stateless sessions enable transparent scaling to multi-server environments • SQL support • CRUD for Collections of Documents and Tables – Documentsas simple basic domain objects – Search expressions match SQL SELECT expressions • Implemented in MySQL Shell & MySQL Connectors – NEW! MySQL Connector/node.js – MySQLConnector/J – MySQLConnector/Net
  • 11. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | New! MySQL Shell • Integrated Development and Administration Shell • Exposes New X DevAPI • Multi-Language scripting – JavaScript, Python, and SQL • Configurable results formats – Traditional Table, JSON, Tab Separated 11
  • 12. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | 12 tomas@localhost $ mysqlsh --uri root@localhost/test Creatingan X Sessionto root@localhost:33060/test Enter password: Default schema `test` accessible through db. … Currently in JavaScript mode. Use sql to switch to SQL mode and execute queries. mysql-js> db.createCollection("posts"); <Collection:posts> mysql-js> db.posts.add({"title":"Hello World", "text":"First post!"}) Query OK, 1 item affected(0.03 sec) mysql-js> db.posts.find("title = 'Hello World'").sort(["title"]); [ { "_id": "8202bda28206e611140b3229389b6526", "text": "First post!", "title": "Hello World" } ] 1 document in set (0.01 sec)
  • 13. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | 13 Under the Hood
  • 14. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | 14 Collections are tables Tables with: - JSON column - GeneratedColumn Create a Collection
  • 15. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | Under The Hood II 15 • X-Plugin translatesCRUD -> SQL • No code changes in core parts of MYSQL Create Document (CRUD) Look inside general-log
  • 16. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | Under The Hood III 16 Read Document (CRUD) Look inside general-log
  • 17. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | CRUD Operations – NoSQL/Document and SQL/Relational Operation Document Relational Create Collection.add() Table.insert() Read Collection.find() Table.select() Update Collection.modify() Table.update() Delete Collection.remove() Table.delete() 17
  • 18. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | CRUD Operations NoSQL/Document Javascript Java C#NodeJS
  • 19. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | CRUD Operations SQL/Relational 19 Javascript Java C#NodeJS
  • 20. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | MySQL Document Store ✔ Built on Proven SQL/InnoDB/Replication ✔ Schema-less/Relational/Hybrid ✔ ACID/Transactions ✔ CRUD/JSON/Documents ✔ Modern Dev API ✔ Modern/Efficient Protocol ✔ SQL Queries/Analytics over JSON Documents ✔ Transparent and Easy HA/Scaling/Sharding
  • 21. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | New! Documentation • Developer Guides • Lots of examples New Style - Developer Focused 21 http://dev.mysql.com/doc/dev/mysqlsh-api-javascript/
  • 22. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | Program Agenda MySQL Document Store MySQL Future 1 2 22
  • 23. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | Vision
  • 24. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | “Be the most popular open source database for scale-out” 24
  • 25. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | 3 MySQL will focus on three things. 25
  • 26. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | 26 Scale-Out Ease-of-Use Out-of-Box Solution MySQL
  • 27. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | 27 Ease-of-Use • Download, Install, HA & Scale-Out in 15 minutes • Single Interface for Everything MySQL • Easy to Setup, Scale-Out, Manage & Monitor • Excellent Quality MySQL
  • 28. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | 28 Out-of-Box Solution • Integrated Solution vs. Individual Components • Designed & Developed Together • Tested & Delivered Together • Managed & Monitored Together MySQL
  • 29. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | 29 Scale-Out • Maintain World-Class Performance • Rock Solid, Server-Side HA With Auto-Failover • Read Scale-Out With Replication • Write Scale-Out With Sharding MySQL
  • 30. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | 4 Rollout will happen in four steps. 30
  • 31. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | 31 Read Scale-Out Async Replication+ Auto Failover Write Scale-Out Sharding S1 S2 S3 S4 MySQL Vision – 4 Steps Timeline MySQLDocumentStore Relational & Document Model MySQLHA Out-Of-BoxHA
  • 32. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | Introducing … 32
  • 33. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | 33 Scale-Out High Performance Ease-of-Use Built-inHA Out-of-Box Solution Everything Integrated MySQL InnoDB cluster
  • 34. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | 34 A single product: MySQL • All componentscreated together • Tested together • Packaged together Flexible and Modern • C++ 11 • ProtocolBuffers • Developer friendly MySQL InnoDB Cluster – Goals Easy to use • A single client: MySQL Shell • Easy packaging • Homogenousservers Scale-out • Sharded clusters • Federated system of N replica sets • Each replica set manages a shard
  • 35. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | MySQL InnoDB cluster MySQL InnoDB Cluster – Architecture - S2 M M M MySQLConnector Application MySQL Router MySQL Connector Application MySQL Router MySQL Shell HA Group Replication
  • 36. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | S1 S2 S3 S4 S… M M M MySQLConnector Application MySQL Router MySQL Connector Application MySQL Router MySQL Shell HA MySQL InnoDB Cluster – Architecture - S3 MySQL InnoDB cluster Read-Only Slaves
  • 37. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | S1 S2 S3 S4 S… M M M MySQLConnector Application MySQL Router MySQL Connector Application MySQL Router MySQL Shell HA ReplicaSet(Shard1) S1 S2 S3 S4 S… M M M MySQLConnector Application MySQL Router HA ReplicaSet(Shard2) S1 S2 S3 M M M H ReplicaSet(Shard3) MySQLConnector Application MySQL Router MySQL InnoDB Cluster – Architecture - S4 MySQL InnoDB cluster …
  • 38. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | MySQLConnector Application MySQL Connector Application MySQL Shell MySQLConnector Application MySQLConnector Application MySQL InnoDB Cluster – Architecture MySQL InnoDB cluster MySQL Enterprise Monitor …
  • 39. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | MySQL InnoDB cluster
  • 40. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | Demo MySQL InnoDB cluster
  • 41. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | MySQL InnoDB cluster MySQL InnoDB Cluster – DEMO M M M Application MySQL Router MySQL Connector Applicaion MySQL Shell HA Group Replication 3310 3320 3330
  • 42. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | 42 The Demo Showed… • MySQL HA in 4 minutes • Very easy, even for somebody new to MySQL • Everything managed through MySQL Shell • Convenient, easy-to-use AdminAPI MySQL InnoDB cluster
  • 43. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | 1 One seamless solution for HA: Easy-to-Use, Out-of-Box, Scale- Out. 43 MySQL InnoDB cluster
  • 44. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | What’s next? 44
  • 45. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | 45 Read Scale-Out Async Replication+ Auto Failover Write Scale-Out Sharding S1 S2 S3 S4 MySQL Vision – 4 Steps Timeline Download Preview Release from labs.mysql.com MySQLDocumentStore Relational & Document Model MySQLHA Out-Of-BoxHA
  • 46. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | Resources Topic Link(s) MySQLas a Document Database http://dev.mysql.com/doc/refman/5.7/en/document-database.html MySQLShell http://dev.mysql.com/doc/refman/5.7/en/mysql-shell.html http://dev.mysql.com/doc/refman/5.7/en/mysqlx-shell-tutorial-javascript.html http://dev.mysql.com/doc/refman/5.7/en/mysqlx-shell-tutorial-python.html X Dev API http://dev.mysql.com/doc/x-devapi-userguide/en/ X Plugin http://dev.mysql.com/doc/refman/5.7/en/x-plugin.html MySQLJSON http://mysqlserverteam.com/tag/json/ https://dev.mysql.com/doc/refman/5.7/en/json.html https://dev.mysql.com/doc/refman/5.7/en/json-functions.html 46
  • 47. Copyright © 2015, Oracleand/orits affiliates. Allrights reserved. | Thank you!