SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
Insert Picture Here
What's new in MySQL 5.7
and
NoSQL Support in MYSQL
Sudipto Sahoo
Senior MySQL Engineer
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.2
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.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.3
Program Agenda
§ What is MySQL ?
§ What’s New in MySQL 5.7
§ What is NoSQL?
§ NoSQL Support in MySQL
§ Q & A
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.4
Insert Picture Here
What is MySQL ?
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.5
§“MySQL is the world's most widely used open
source relational database management
system (RDBMS) that runs as a server
providing multi-user access to a number of
databases”
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.6
What is MySQL ?
§ Robust ACID compliant RDBMS
§ Open Source (GPL v2 + proprietary)
§ Used by some of the largest web properties in the world
§ Abundantly present in all major Linux distributions and hosting providers
§ Properly documented and professionally supported by Oracle
§ Simple to get and easy to use
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.7
Insert Picture Here
What’s new in MySQL 5.7 ?
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.8
Raising The Bar
Again and Again, Evolving MySQL for You
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.9
MySQL 5.7: DMR 4
 InnoDB for better transactional throughput, availability, IO
 Replication for better scalability and availability
 Utilities for dev/ops automation
 Performance Schema for better performance metrics
 Optimizer for better EXPLAINing, query performance, enhanced buffering and partition
optimization
 Connecting at higher rates, improve session efficiency
http://mysqlserverteam.com/the-mysql-5-7-4-milestone-release-is-available/
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.10
MySQL 5.7: InnoDB
 Improved InnoDB Online Alter Table
– Online Rename Index, Online Change Varchar
 Parallel “Dirty Page” Flushing
– Higher throughput, performance, and scalability
 Partitions – support for Transportable Tablespaces (TTS)
– TTS support for individual partitions
Many Improvements
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.11
MySQL 5.7: InnoDB Temp Tables
 New Separate tablespace for temporary tables
– One of the goals of 5.7 is to optimize InnoDB temp tables for better performance.
With the following work done in 5.7.2 it is about 11X faster for CREATE/DROP
temp table and about 2-4X faster for INSERT/DELETE/UPDATE on temp tables,
as compared with 5.6.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.12
MySQL 5.7: Improved MDL locking
 Removes bottlenecks around DML access to a single table
– 10% increased throughput in OLTP_RO/POINT_SELECT sysbench tests
on higher core counts
– Optimized for typical DML heavy workloads
 Implemented fast-path for DML locks
 Implemented lock-free DML lock acquisition
 Implemented a lock-free hash
– Now uses MurmurHash library
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.13
MySQL 5.7.4: Replication
 Higher throughput
– Slave : applies transactions in parallel even within same database
– Change master without stopping SQL thread
– Master: better synchronization between replication-user sessions
 Lossless Replication through enhanced Semi-sync
– Make the master wait for more than one slave to acknowledge back
– Semisync separate acks collector
 Performance Schema tables for monitoring slave
 Dynamic Replication Filters: change filters on the fly
Better Performance, Improved Usability and Enhanced HA
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.14
Multi-Source Replication
 Consolidate updates from multiple
Masters into one Slave
– Consolidated view of all shards
– More flexible topologies
– Centralized point for backups, easier
reporting
 Compatible with Semi-Synchronous
Replication & enhanced MTS
 Master-specific slave filters planned
for GA
 Application must keep data sets
disjoint between sources
Slave
labs.mysql.com
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.15
MySQL Multi-Threaded Slave
 The evolution…
– 2010: Inter-schema MTS (labs)
– 2013: Inter-schema MTS (5.6 GA)
– 2013: Intra-schema MTS (5.7.2
DMR)
– Today: Tune size of group commit
buckets - trading commit latency
on master (labs)
 6X slave throughput
Slave keeps pace with the master
labs.mysql.com
0
500
1000
1500
2000
2500
3000
3500
4000
4500
0 4 8 12 16 22 24 28 32 36 40 44 48
Transaconspersecond
Slave Worker Threads
Slave Throughput
La r g e r B G C b u c k e t
N o M a st e r Im p a ct
B a se lin e
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.16
Built with input from Facebook
5.7 is able to handle 56K connect/disconnect per second
• mysql-bench
• 25 concurrent client threads
• Executing connect/select/disconnect
• 100000 iterations each
+32% +64%
MySQL 5.7: Connections / Second
Faster processing of new connections
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.17
MySQL 5.7: Performance Schema
 Extended the statement instrumentation
– Stored Procedures and Stored Functions
– Prepared Statements
– Transactions
Statement Instrumentation
 Instruments for Memory
– Added for over 200 Memory Types
 Aggregates memory usage statistics by
– Type of memory used (caches,
internal buffers, …)
– Thread/account/user/host indirectly
performing the memory operation
 Attributes include
– Memory used (bytes), Operation
counts, High/Low Water Marks
Memory Usage
 Additional instrumentation and metrics
– Replication slave status
– MDL lock instrumentation
Additional Data
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.18
MySQL 5.7 Sysbench Benchmark
Sysbench Point Select
Intel(R) Xeon(R) CPU X7560 x86_64
5 sockets x 8 cores-HT (80 CPU threads)
2.27GHz, 256G RAM
Oracle Linux 6.5
2X Faster than MySQL 5.6
Over 3X Faster than MySQL 5.5
630,000 QPS
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.19
MySQL Repositories: Yum
 Simple and convenient way to install & update MySQL products
 Supports the following distributions
– RedHat Enterprise/Oracle Linux
– Fedora
– Debian/Ubuntu
 Includes the latest packages
– MySQL Database
– MySQL Workbench
– MySQL Connector/ ODBC
– MySQL Connector/Python
– MySQL Utilities
Benefits both End Users and Linux Distributions
And now also on
NuGet for Windows Devs
http://www.nuget.org/profiles/MySQL/
Over 50% of downloads for
Fedora/RedHat already
from the repositories
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.20
Insert Picture Here
What is NoSQL ?
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.21
NoSQL
A NoSQL or Not Only SQL database provides a mechanism for storage and retrieval of data that is
modeled in means other than the tabular relations used in relational databases.
Consistency, Availability, Partition Tolerance (CAP)-
Consistency: all nodes see the same data at the same time
Availability: a guarantee that every request receives a response about whether it was successful or failed
Partition tolerance: the system continues to operate despite arbitrary message loss
The NoSQL taxonomy supports key-value stores, document store, BigTable, and graph databases.
MySQL NoSQL:
Concurrent NoSQL and SQL access to the database;
Simple multi-master replication with automated failover and recovery within and across data centers;
Auto-sharding and scale-out across commodity hardware;
Online scaling and schema changes;
ACID compliance, Foreign Key constraints (enforced on all APIs) and support for complex queries;
In-memory computing for real-time performance.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.22
NoSQL in MySQL
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.23
NoSQL in MySQL
Oracle added NoSQL capabilities to the InnoDB engine in MySQL 5.6, providing a
9x improvement in transaction performance. How?
Oracle has implemented NoSQL interfaces to the MySQL database and MySQL Cluster. They bypass the SQL layer
completely. Without SQL parsing and optimization, data can be written directly to MySQL tables up to nine-times
faster, while maintaining ACID guarantees. Moreover, users can still run complex SQL queries across the same
data set.
Memcached API with InnoDB-
MySQL provides simple, direct, key-value interaction with InnoDB data via Memcached API.
Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of
database calls, API calls, or page rendering.
Memcached is used by many large Web properties.
Bypass the expense of SQL and go directly to InnoDB data for lookups and transactionally guaranteed updates.
The API makes it possible to re-use standard Memcached libraries and clients, extending Memcached functionality
by integrating a persistent, crash-safe, transactional database back-end
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.24
Example Code
function get_foo(int userid) {
data = db_select("SELECT * FROM users WHERE userid = ?", userid);
return data;
}
After conversion to Memcached:
function get_foo(int userid) {
/* first try the cache */
data = memcached_fetch("userrow:" + userid);
if (!data) {
/* not found : request database */
data = db_select("SELECT * FROM users WHERE userid = ?", userid);
/* then store in cache until next get */
memcached_add("userrow:" + userid, data);
}
return data; }
get(), set(), put()
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.25
Working example of using Memcached API for InnoDB
1. Load the Memcached plugin at startup time by adding this option to your my.cnf file:
plugin-load = daemon_memcached=libmemcached.so
Or load it at runtime this way: mysql> install plugin daemon_memcached soname "libmemcached.so";
2.Load the Memcached-specific system schema, where the custom storage mappings between InnoDB and Memcached, along with some behavior
configuration, are defined
mysql> source /usr/share/mysql/innodb_memcached_config.sql
3. Define your custom data storage mapping:
First, I created a table to store user session key-value pairs (the key will be stored in the id_name field in the "<id>|<name>" format):
mysql> create database myapp;
mysql> create table myapp.user_session_data (id_name varchar(255), value varchar(255), expiretime int, primary key (id_name));
Next, set it up as a valid Memcached container and define the mapping between Memcached and InnoDB:
insert into innodb_memcache.containers values ("sessions", "myapp", "user_session_data", "id_name", "value", 0, 0, "expiretime", "PRIMARY");
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.26
Working example
4. Test it out from the command-line (the parameters/format for the raw telnet interface are "<key> <flags> <expiretime> <bytes>" followed by the
<value>):
shell> telnet 127.0.0.1 11211
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
set @@sessions.1|color 0 600 7
black
STORED
quit
Now we can see the data persisted within our InnoDB table:
mysql> select * from myapp.user_session_data;
+---------+---------+------------+
| id_name | value | expiretime |
+---------+---------+------------+
| 1|color | black | 1389816198 |
+---------+---------+------------+
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.27
Working example
5. Incorporate the new methods into your application. Java for example -
import java.net.InetSocketAddress;
import java.util.HashMap;
import net.spy.memcached.MemcachedClient;
public class MemcachedTest{
public static void main( String[] args ){
MemcachedClient mc = null;
int id = 2;
String mysqlMemcachedMappingName = "@@sessions.";
try{
mc = new MemcachedClient(
new InetSocketAddress( "127.0.0.1", 11211 ) );
mc.set( mysqlMemcachedMappingName + id + "|color", 3600, "red" );
String gColor = (String) mc.get(
mysqlMemcachedMappingName + id + "|color" );
System.out.println( "Color: " + gColor );
mc.shutdown();
} catch (Exception e) {
System.err.println( "Error: " + e.toString() );
} finally {
mc = null; } } }
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.28
NoSQL inserts can be as much as 9x faster than using SQL
on an 8-core Intel server with 16GB of RAM, running Oracle Linux
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.29
5.6 vs 5.7 - 1M QPS
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.30
dml_reads/sec
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.31
References/Credits
More Information
http://dev.mysql.com/doc/refman/5.7/en/
https://blogs.oracle.com/mysqlinnodb/entry/mysql_5_7_3_deep
http://www.drdobbs.com/database/nosql-with-mysql/240167115?pgno=1
Dimitri's Blog
http://dimitrik.free.fr/blog/archives/2013/11/mysql-performance-over-1m-qps-with-innodb-memcached-plugin-in-mysql-57.html
Geir's Blog
http://mysqlserverteam.com/the-mysql-5-7-4-milestone-release-is-available/

Contenu connexe

Tendances

MySQL Tech Tour 2015 - 5.7 InnoDB
MySQL Tech Tour 2015 - 5.7 InnoDBMySQL Tech Tour 2015 - 5.7 InnoDB
MySQL Tech Tour 2015 - 5.7 InnoDBMark Swarbrick
 
MySQL Features & Implementation
MySQL Features & ImplementationMySQL Features & Implementation
MySQL Features & ImplementationOSSCube
 
MySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDBMySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDBMario Beck
 
MySQL 5.6 Updates
MySQL 5.6 UpdatesMySQL 5.6 Updates
MySQL 5.6 UpdatesDave Stokes
 
MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)Ryusuke Kajiyama
 
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 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
 
TWJUG August, What's new in MySQL 5.7 RC
TWJUG August, What's new in MySQL 5.7 RCTWJUG August, What's new in MySQL 5.7 RC
TWJUG August, What's new in MySQL 5.7 RCRyusuke Kajiyama
 
My sql crashcourse_intro_kdl
My sql crashcourse_intro_kdlMy sql crashcourse_intro_kdl
My sql crashcourse_intro_kdlsqlhjalp
 
New awesome features in MySQL 5.7
New awesome features in MySQL 5.7New awesome features in MySQL 5.7
New awesome features in MySQL 5.7Zhaoyang Wang
 
MySQL configuration - The most important Variables
MySQL configuration - The most important VariablesMySQL configuration - The most important Variables
MySQL configuration - The most important VariablesFromDual GmbH
 
MySQL 5.7 - What's new and How to upgrade
MySQL 5.7 - What's new and How to upgradeMySQL 5.7 - What's new and How to upgrade
MySQL 5.7 - What's new and How to upgradeAbel Flórez
 
MySQL InnoDB Cluster HA Overview & Demo
MySQL InnoDB Cluster HA Overview & DemoMySQL InnoDB Cluster HA Overview & Demo
MySQL InnoDB Cluster HA Overview & DemoKeith Hollman
 
MySQL for Software-as-a-Service (SaaS)
MySQL for Software-as-a-Service (SaaS)MySQL for Software-as-a-Service (SaaS)
MySQL for Software-as-a-Service (SaaS)Mario Beck
 
MySQL :What's New #GIDS16
MySQL :What's New #GIDS16MySQL :What's New #GIDS16
MySQL :What's New #GIDS16Sanjay Manwani
 
TWJUG August, MySQL JDBC Driver "Connector/J"
TWJUG August, MySQL JDBC Driver "Connector/J"TWJUG August, MySQL JDBC Driver "Connector/J"
TWJUG August, MySQL JDBC Driver "Connector/J"Ryusuke Kajiyama
 
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 Enterprise Portfolio
MySQL Enterprise PortfolioMySQL Enterprise Portfolio
MySQL Enterprise PortfolioAbel Flórez
 
MySQL 8.0 Released Update
MySQL 8.0 Released UpdateMySQL 8.0 Released Update
MySQL 8.0 Released UpdateKeith Hollman
 

Tendances (20)

MySQL Tech Tour 2015 - 5.7 InnoDB
MySQL Tech Tour 2015 - 5.7 InnoDBMySQL Tech Tour 2015 - 5.7 InnoDB
MySQL Tech Tour 2015 - 5.7 InnoDB
 
MySQL Features & Implementation
MySQL Features & ImplementationMySQL Features & Implementation
MySQL Features & Implementation
 
MySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDBMySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDB
 
MySQL 5.6 Updates
MySQL 5.6 UpdatesMySQL 5.6 Updates
MySQL 5.6 Updates
 
MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)
 
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 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
 
TWJUG August, What's new in MySQL 5.7 RC
TWJUG August, What's new in MySQL 5.7 RCTWJUG August, What's new in MySQL 5.7 RC
TWJUG August, What's new in MySQL 5.7 RC
 
My sql crashcourse_intro_kdl
My sql crashcourse_intro_kdlMy sql crashcourse_intro_kdl
My sql crashcourse_intro_kdl
 
New awesome features in MySQL 5.7
New awesome features in MySQL 5.7New awesome features in MySQL 5.7
New awesome features in MySQL 5.7
 
MySQL configuration - The most important Variables
MySQL configuration - The most important VariablesMySQL configuration - The most important Variables
MySQL configuration - The most important Variables
 
MySQL 5.7 - What's new and How to upgrade
MySQL 5.7 - What's new and How to upgradeMySQL 5.7 - What's new and How to upgrade
MySQL 5.7 - What's new and How to upgrade
 
MySQL InnoDB Cluster HA Overview & Demo
MySQL InnoDB Cluster HA Overview & DemoMySQL InnoDB Cluster HA Overview & Demo
MySQL InnoDB Cluster HA Overview & Demo
 
MySQL for Software-as-a-Service (SaaS)
MySQL for Software-as-a-Service (SaaS)MySQL for Software-as-a-Service (SaaS)
MySQL for Software-as-a-Service (SaaS)
 
MySQL :What's New #GIDS16
MySQL :What's New #GIDS16MySQL :What's New #GIDS16
MySQL :What's New #GIDS16
 
TWJUG August, MySQL JDBC Driver "Connector/J"
TWJUG August, MySQL JDBC Driver "Connector/J"TWJUG August, MySQL JDBC Driver "Connector/J"
TWJUG August, MySQL JDBC Driver "Connector/J"
 
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...
 
MySQL Enterprise Portfolio
MySQL Enterprise PortfolioMySQL Enterprise Portfolio
MySQL Enterprise Portfolio
 
MySQL 8.0 Released Update
MySQL 8.0 Released UpdateMySQL 8.0 Released Update
MySQL 8.0 Released Update
 
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
 

En vedette

Spelling ideas
Spelling ideasSpelling ideas
Spelling ideasbrinsonjm
 
De klussenier henk langhout1
De klussenier henk langhout1De klussenier henk langhout1
De klussenier henk langhout1Henk Langhout
 
Silver Management Training Institute
Silver Management Training InstituteSilver Management Training Institute
Silver Management Training Institutefathima81
 
De Klussenier Henk Langhout
De Klussenier Henk LanghoutDe Klussenier Henk Langhout
De Klussenier Henk LanghoutHenk Langhout
 
De Klussenier Henk Langhout1
De Klussenier Henk Langhout1De Klussenier Henk Langhout1
De Klussenier Henk Langhout1Henk Langhout
 
Erika public and speaking
Erika  public and speakingErika  public and speaking
Erika public and speakingerikajer
 
Uit liefde geboren een meisje Roxanne
Uit liefde geboren een meisje RoxanneUit liefde geboren een meisje Roxanne
Uit liefde geboren een meisje RoxanneWim Evers
 
The Outcome Economy
The Outcome EconomyThe Outcome Economy
The Outcome EconomyHelge Tennø
 

En vedette (9)

Spelling ideas
Spelling ideasSpelling ideas
Spelling ideas
 
Presentation full
Presentation fullPresentation full
Presentation full
 
De klussenier henk langhout1
De klussenier henk langhout1De klussenier henk langhout1
De klussenier henk langhout1
 
Silver Management Training Institute
Silver Management Training InstituteSilver Management Training Institute
Silver Management Training Institute
 
De Klussenier Henk Langhout
De Klussenier Henk LanghoutDe Klussenier Henk Langhout
De Klussenier Henk Langhout
 
De Klussenier Henk Langhout1
De Klussenier Henk Langhout1De Klussenier Henk Langhout1
De Klussenier Henk Langhout1
 
Erika public and speaking
Erika  public and speakingErika  public and speaking
Erika public and speaking
 
Uit liefde geboren een meisje Roxanne
Uit liefde geboren een meisje RoxanneUit liefde geboren een meisje Roxanne
Uit liefde geboren een meisje Roxanne
 
The Outcome Economy
The Outcome EconomyThe Outcome Economy
The Outcome Economy
 

Similaire à MySQL 5.7 and NoSQL Support

MySQL & Oracle Linux Keynote at Open Source India 2014
MySQL & Oracle Linux Keynote at Open Source India 2014MySQL & Oracle Linux Keynote at Open Source India 2014
MySQL & Oracle Linux Keynote at Open Source India 2014Sanjay Manwani
 
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
 
[B34] MySQL最新ロードマップ – MySQL 5.7とその先へ by Ryusuke Kajiyama
[B34] MySQL最新ロードマップ – MySQL 5.7とその先へ by Ryusuke Kajiyama[B34] MySQL最新ロードマップ – MySQL 5.7とその先へ by Ryusuke Kajiyama
[B34] MySQL最新ロードマップ – MySQL 5.7とその先へ by Ryusuke KajiyamaInsight Technology, Inc.
 
MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015Mario Beck
 
MySQL Community and Commercial Edition
MySQL Community and Commercial EditionMySQL Community and Commercial Edition
MySQL Community and Commercial EditionMario Beck
 
State of the Dolphin, at db tech showcase Osaka 2014
State of the Dolphin, at db tech showcase Osaka 2014State of the Dolphin, at db tech showcase Osaka 2014
State of the Dolphin, at db tech showcase Osaka 2014Ryusuke Kajiyama
 
Netherlands Tech Tour - 07 MySQL Whats upcoming in 5.7
Netherlands Tech Tour - 07 MySQL Whats upcoming in 5.7Netherlands Tech Tour - 07 MySQL Whats upcoming in 5.7
Netherlands Tech Tour - 07 MySQL Whats upcoming in 5.7Mark Swarbrick
 
What's New in MySQL 5.7
What's New in MySQL 5.7What's New in MySQL 5.7
What's New in MySQL 5.7Olivier DASINI
 
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
 
MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15
MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15
MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15Dave Stokes
 
Oracle MySQL Tutorial -- MySQL NoSQL Cloud Buenos Aires Nov, 13 2014
Oracle MySQL Tutorial -- MySQL NoSQL Cloud Buenos Aires Nov, 13 2014Oracle MySQL Tutorial -- MySQL NoSQL Cloud Buenos Aires Nov, 13 2014
Oracle MySQL Tutorial -- MySQL NoSQL Cloud Buenos Aires Nov, 13 2014Manuel Contreras
 
MySQL The State of the Dolphin - jun15
MySQL The State of the Dolphin - jun15MySQL The State of the Dolphin - jun15
MySQL The State of the Dolphin - jun15MySQL Brasil
 
Megha_Osi my sql productroadmap
Megha_Osi my sql productroadmapMegha_Osi my sql productroadmap
Megha_Osi my sql productroadmapOpenSourceIndia
 
MySQL Manchester TT - 5.7 Whats new
MySQL Manchester TT - 5.7 Whats newMySQL Manchester TT - 5.7 Whats new
MySQL Manchester TT - 5.7 Whats newMark Swarbrick
 
20191001 bkk-secret-of inno-db_clusterv1
20191001 bkk-secret-of inno-db_clusterv120191001 bkk-secret-of inno-db_clusterv1
20191001 bkk-secret-of inno-db_clusterv1Ivan Ma
 
MySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB Cluster
MySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB ClusterMySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB Cluster
MySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB ClusterOlivier DASINI
 
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)Andrew Morgan
 
MySQL Web Reference Architecture
MySQL Web Reference Architecture MySQL Web Reference Architecture
MySQL Web Reference Architecture Ricky Setyawan
 

Similaire à MySQL 5.7 and NoSQL Support (20)

MySQL & Oracle Linux Keynote at Open Source India 2014
MySQL & Oracle Linux Keynote at Open Source India 2014MySQL & Oracle Linux Keynote at Open Source India 2014
MySQL & Oracle Linux Keynote at Open Source India 2014
 
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
 
[B34] MySQL最新ロードマップ – MySQL 5.7とその先へ by Ryusuke Kajiyama
[B34] MySQL最新ロードマップ – MySQL 5.7とその先へ by Ryusuke Kajiyama[B34] MySQL最新ロードマップ – MySQL 5.7とその先へ by Ryusuke Kajiyama
[B34] MySQL最新ロードマップ – MySQL 5.7とその先へ by Ryusuke Kajiyama
 
MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015
 
MySQL Community and Commercial Edition
MySQL Community and Commercial EditionMySQL Community and Commercial Edition
MySQL Community and Commercial Edition
 
State of the Dolphin, at db tech showcase Osaka 2014
State of the Dolphin, at db tech showcase Osaka 2014State of the Dolphin, at db tech showcase Osaka 2014
State of the Dolphin, at db tech showcase Osaka 2014
 
Netherlands Tech Tour - 07 MySQL Whats upcoming in 5.7
Netherlands Tech Tour - 07 MySQL Whats upcoming in 5.7Netherlands Tech Tour - 07 MySQL Whats upcoming in 5.7
Netherlands Tech Tour - 07 MySQL Whats upcoming in 5.7
 
What's New in MySQL 5.7
What's New in MySQL 5.7What's New in MySQL 5.7
What's New in MySQL 5.7
 
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
 
MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15
MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15
MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15
 
Oracle MySQL Tutorial -- MySQL NoSQL Cloud Buenos Aires Nov, 13 2014
Oracle MySQL Tutorial -- MySQL NoSQL Cloud Buenos Aires Nov, 13 2014Oracle MySQL Tutorial -- MySQL NoSQL Cloud Buenos Aires Nov, 13 2014
Oracle MySQL Tutorial -- MySQL NoSQL Cloud Buenos Aires Nov, 13 2014
 
MySQL 5.7 what's new
MySQL 5.7 what's newMySQL 5.7 what's new
MySQL 5.7 what's new
 
MySQL The State of the Dolphin - jun15
MySQL The State of the Dolphin - jun15MySQL The State of the Dolphin - jun15
MySQL The State of the Dolphin - jun15
 
Megha_Osi my sql productroadmap
Megha_Osi my sql productroadmapMegha_Osi my sql productroadmap
Megha_Osi my sql productroadmap
 
MySQL Manchester TT - 5.7 Whats new
MySQL Manchester TT - 5.7 Whats newMySQL Manchester TT - 5.7 Whats new
MySQL Manchester TT - 5.7 Whats new
 
20191001 bkk-secret-of inno-db_clusterv1
20191001 bkk-secret-of inno-db_clusterv120191001 bkk-secret-of inno-db_clusterv1
20191001 bkk-secret-of inno-db_clusterv1
 
MySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB Cluster
MySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB ClusterMySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB Cluster
MySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB Cluster
 
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
 
MySQL Web Reference Architecture
MySQL Web Reference Architecture MySQL Web Reference Architecture
MySQL Web Reference Architecture
 

Dernier

Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 

Dernier (20)

Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 

MySQL 5.7 and NoSQL Support

  • 1. Insert Picture Here What's new in MySQL 5.7 and NoSQL Support in MYSQL Sudipto Sahoo Senior MySQL Engineer
  • 2. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.2 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 © 2014, Oracle and/or its affiliates. All rights reserved.3 Program Agenda § What is MySQL ? § What’s New in MySQL 5.7 § What is NoSQL? § NoSQL Support in MySQL § Q & A
  • 4. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.4 Insert Picture Here What is MySQL ?
  • 5. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.5 §“MySQL is the world's most widely used open source relational database management system (RDBMS) that runs as a server providing multi-user access to a number of databases”
  • 6. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.6 What is MySQL ? § Robust ACID compliant RDBMS § Open Source (GPL v2 + proprietary) § Used by some of the largest web properties in the world § Abundantly present in all major Linux distributions and hosting providers § Properly documented and professionally supported by Oracle § Simple to get and easy to use
  • 7. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.7 Insert Picture Here What’s new in MySQL 5.7 ?
  • 8. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.8 Raising The Bar Again and Again, Evolving MySQL for You
  • 9. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.9 MySQL 5.7: DMR 4  InnoDB for better transactional throughput, availability, IO  Replication for better scalability and availability  Utilities for dev/ops automation  Performance Schema for better performance metrics  Optimizer for better EXPLAINing, query performance, enhanced buffering and partition optimization  Connecting at higher rates, improve session efficiency http://mysqlserverteam.com/the-mysql-5-7-4-milestone-release-is-available/
  • 10. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.10 MySQL 5.7: InnoDB  Improved InnoDB Online Alter Table – Online Rename Index, Online Change Varchar  Parallel “Dirty Page” Flushing – Higher throughput, performance, and scalability  Partitions – support for Transportable Tablespaces (TTS) – TTS support for individual partitions Many Improvements
  • 11. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.11 MySQL 5.7: InnoDB Temp Tables  New Separate tablespace for temporary tables – One of the goals of 5.7 is to optimize InnoDB temp tables for better performance. With the following work done in 5.7.2 it is about 11X faster for CREATE/DROP temp table and about 2-4X faster for INSERT/DELETE/UPDATE on temp tables, as compared with 5.6.
  • 12. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.12 MySQL 5.7: Improved MDL locking  Removes bottlenecks around DML access to a single table – 10% increased throughput in OLTP_RO/POINT_SELECT sysbench tests on higher core counts – Optimized for typical DML heavy workloads  Implemented fast-path for DML locks  Implemented lock-free DML lock acquisition  Implemented a lock-free hash – Now uses MurmurHash library
  • 13. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.13 MySQL 5.7.4: Replication  Higher throughput – Slave : applies transactions in parallel even within same database – Change master without stopping SQL thread – Master: better synchronization between replication-user sessions  Lossless Replication through enhanced Semi-sync – Make the master wait for more than one slave to acknowledge back – Semisync separate acks collector  Performance Schema tables for monitoring slave  Dynamic Replication Filters: change filters on the fly Better Performance, Improved Usability and Enhanced HA
  • 14. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.14 Multi-Source Replication  Consolidate updates from multiple Masters into one Slave – Consolidated view of all shards – More flexible topologies – Centralized point for backups, easier reporting  Compatible with Semi-Synchronous Replication & enhanced MTS  Master-specific slave filters planned for GA  Application must keep data sets disjoint between sources Slave labs.mysql.com
  • 15. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.15 MySQL Multi-Threaded Slave  The evolution… – 2010: Inter-schema MTS (labs) – 2013: Inter-schema MTS (5.6 GA) – 2013: Intra-schema MTS (5.7.2 DMR) – Today: Tune size of group commit buckets - trading commit latency on master (labs)  6X slave throughput Slave keeps pace with the master labs.mysql.com 0 500 1000 1500 2000 2500 3000 3500 4000 4500 0 4 8 12 16 22 24 28 32 36 40 44 48 Transaconspersecond Slave Worker Threads Slave Throughput La r g e r B G C b u c k e t N o M a st e r Im p a ct B a se lin e
  • 16. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.16 Built with input from Facebook 5.7 is able to handle 56K connect/disconnect per second • mysql-bench • 25 concurrent client threads • Executing connect/select/disconnect • 100000 iterations each +32% +64% MySQL 5.7: Connections / Second Faster processing of new connections
  • 17. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.17 MySQL 5.7: Performance Schema  Extended the statement instrumentation – Stored Procedures and Stored Functions – Prepared Statements – Transactions Statement Instrumentation  Instruments for Memory – Added for over 200 Memory Types  Aggregates memory usage statistics by – Type of memory used (caches, internal buffers, …) – Thread/account/user/host indirectly performing the memory operation  Attributes include – Memory used (bytes), Operation counts, High/Low Water Marks Memory Usage  Additional instrumentation and metrics – Replication slave status – MDL lock instrumentation Additional Data
  • 18. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.18 MySQL 5.7 Sysbench Benchmark Sysbench Point Select Intel(R) Xeon(R) CPU X7560 x86_64 5 sockets x 8 cores-HT (80 CPU threads) 2.27GHz, 256G RAM Oracle Linux 6.5 2X Faster than MySQL 5.6 Over 3X Faster than MySQL 5.5 630,000 QPS
  • 19. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.19 MySQL Repositories: Yum  Simple and convenient way to install & update MySQL products  Supports the following distributions – RedHat Enterprise/Oracle Linux – Fedora – Debian/Ubuntu  Includes the latest packages – MySQL Database – MySQL Workbench – MySQL Connector/ ODBC – MySQL Connector/Python – MySQL Utilities Benefits both End Users and Linux Distributions And now also on NuGet for Windows Devs http://www.nuget.org/profiles/MySQL/ Over 50% of downloads for Fedora/RedHat already from the repositories
  • 20. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.20 Insert Picture Here What is NoSQL ?
  • 21. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.21 NoSQL A NoSQL or Not Only SQL database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases. Consistency, Availability, Partition Tolerance (CAP)- Consistency: all nodes see the same data at the same time Availability: a guarantee that every request receives a response about whether it was successful or failed Partition tolerance: the system continues to operate despite arbitrary message loss The NoSQL taxonomy supports key-value stores, document store, BigTable, and graph databases. MySQL NoSQL: Concurrent NoSQL and SQL access to the database; Simple multi-master replication with automated failover and recovery within and across data centers; Auto-sharding and scale-out across commodity hardware; Online scaling and schema changes; ACID compliance, Foreign Key constraints (enforced on all APIs) and support for complex queries; In-memory computing for real-time performance.
  • 22. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.22 NoSQL in MySQL
  • 23. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.23 NoSQL in MySQL Oracle added NoSQL capabilities to the InnoDB engine in MySQL 5.6, providing a 9x improvement in transaction performance. How? Oracle has implemented NoSQL interfaces to the MySQL database and MySQL Cluster. They bypass the SQL layer completely. Without SQL parsing and optimization, data can be written directly to MySQL tables up to nine-times faster, while maintaining ACID guarantees. Moreover, users can still run complex SQL queries across the same data set. Memcached API with InnoDB- MySQL provides simple, direct, key-value interaction with InnoDB data via Memcached API. Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering. Memcached is used by many large Web properties. Bypass the expense of SQL and go directly to InnoDB data for lookups and transactionally guaranteed updates. The API makes it possible to re-use standard Memcached libraries and clients, extending Memcached functionality by integrating a persistent, crash-safe, transactional database back-end
  • 24. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.24 Example Code function get_foo(int userid) { data = db_select("SELECT * FROM users WHERE userid = ?", userid); return data; } After conversion to Memcached: function get_foo(int userid) { /* first try the cache */ data = memcached_fetch("userrow:" + userid); if (!data) { /* not found : request database */ data = db_select("SELECT * FROM users WHERE userid = ?", userid); /* then store in cache until next get */ memcached_add("userrow:" + userid, data); } return data; } get(), set(), put()
  • 25. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.25 Working example of using Memcached API for InnoDB 1. Load the Memcached plugin at startup time by adding this option to your my.cnf file: plugin-load = daemon_memcached=libmemcached.so Or load it at runtime this way: mysql> install plugin daemon_memcached soname "libmemcached.so"; 2.Load the Memcached-specific system schema, where the custom storage mappings between InnoDB and Memcached, along with some behavior configuration, are defined mysql> source /usr/share/mysql/innodb_memcached_config.sql 3. Define your custom data storage mapping: First, I created a table to store user session key-value pairs (the key will be stored in the id_name field in the "<id>|<name>" format): mysql> create database myapp; mysql> create table myapp.user_session_data (id_name varchar(255), value varchar(255), expiretime int, primary key (id_name)); Next, set it up as a valid Memcached container and define the mapping between Memcached and InnoDB: insert into innodb_memcache.containers values ("sessions", "myapp", "user_session_data", "id_name", "value", 0, 0, "expiretime", "PRIMARY");
  • 26. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.26 Working example 4. Test it out from the command-line (the parameters/format for the raw telnet interface are "<key> <flags> <expiretime> <bytes>" followed by the <value>): shell> telnet 127.0.0.1 11211 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. set @@sessions.1|color 0 600 7 black STORED quit Now we can see the data persisted within our InnoDB table: mysql> select * from myapp.user_session_data; +---------+---------+------------+ | id_name | value | expiretime | +---------+---------+------------+ | 1|color | black | 1389816198 | +---------+---------+------------+
  • 27. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.27 Working example 5. Incorporate the new methods into your application. Java for example - import java.net.InetSocketAddress; import java.util.HashMap; import net.spy.memcached.MemcachedClient; public class MemcachedTest{ public static void main( String[] args ){ MemcachedClient mc = null; int id = 2; String mysqlMemcachedMappingName = "@@sessions."; try{ mc = new MemcachedClient( new InetSocketAddress( "127.0.0.1", 11211 ) ); mc.set( mysqlMemcachedMappingName + id + "|color", 3600, "red" ); String gColor = (String) mc.get( mysqlMemcachedMappingName + id + "|color" ); System.out.println( "Color: " + gColor ); mc.shutdown(); } catch (Exception e) { System.err.println( "Error: " + e.toString() ); } finally { mc = null; } } }
  • 28. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.28 NoSQL inserts can be as much as 9x faster than using SQL on an 8-core Intel server with 16GB of RAM, running Oracle Linux
  • 29. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.29 5.6 vs 5.7 - 1M QPS
  • 30. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.30 dml_reads/sec
  • 31. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.31 References/Credits More Information http://dev.mysql.com/doc/refman/5.7/en/ https://blogs.oracle.com/mysqlinnodb/entry/mysql_5_7_3_deep http://www.drdobbs.com/database/nosql-with-mysql/240167115?pgno=1 Dimitri's Blog http://dimitrik.free.fr/blog/archives/2013/11/mysql-performance-over-1m-qps-with-innodb-memcached-plugin-in-mysql-57.html Geir's Blog http://mysqlserverteam.com/the-mysql-5-7-4-milestone-release-is-available/