SlideShare a Scribd company logo
1 of 62
Download to read offline
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Introduction to MySQL
Ted Wennmark, consultant and cluster specialist
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Copyright © 2014, Oracle and/or its affiliates. All rights 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
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. |
History of MySQL
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Major milestones in history
• 2001 MySQL 3.23 GA
• 2004 MySQL 4.0 InnoDB new SE
• 2005 MySQL 5.0 GA and Oracle acquired Innobase OY
• 2008 SUN acquired MySQL AB for $1 Billion
• 2010 Oracle acquires SUN
• 2010 MySQL 5.5 GA “InnoDB default”
• 2013 MySQL 5.6 GA “Best release ever”
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Open Source LAMP Stack
Operating
System
Application
Server
Database
Scripting
L
A
M
P
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
World’s Most Popular Open Source Database
• Over 15 million estimated installations
• Used by 9 of top 10 web sites in the world
• Embedded by 8 of the top 10 ISVs
• #1 database in the Cloud
• Integrated w/Hadoop in 80% of Big Data platforms
• Facebook: 175K fans, +35% YoY Growth
• Twitter: 28K followers, +67% YoY Growth
• Numerous Awards: Linux Journal, CRN, PHP Architect...
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Cloud
Web & Enterprise OEM & ISVs
Industry Leaders Rely on MySQL
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Powers The Web
Over 500 million Tweets/day. 143,200 Tweets/sec in Aug 2013
”Many petabytes” of data. 11.2 Million Row changes & 2.5 billion
rows read /sec handled in MySQL
6 billion hours of video watched each month
Globally-distributed database with 100 terabytes of user-related
data based on MySQL Cluster
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Arcitecture
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MyISAM
• Default Storage Engine before MySQL 5.5
• Table level locking
• Small footprint on disk
• Read Only during backups
• GIS and FTS indexing
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
InnoDB
• Default Storage Engine since MySQL 5.5
• ACID compliant transactions, MVCC
• Row level locking
• Clustered primary key index
• Foreign keys and and native partitioning
• Online backup and DDL operations
• SQL and NoSQL access to data
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Cluster aka NDB
• Clustered database
• ACID compliant
• Row level locking
• Shards data automatically, transparent for application
• Foreign keys and and native partitioning
• Online backup and DDL operations
• SQL and NoSQL access to data
• Max 2TB
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL 5.5
• InnoDB default SE
• InnoDB multiple BP, splitting and removing mutexes
• InnoDB 10X improvement in InnoDB recovery speed
• Replication semi-synchronous replication
• Replication heartbeat
• Partitioning on more data types and more partition functions
• Performance Schema released
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL 5.6 GA
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
•Scales to 48 CPU Threads
•Up to 230% performance gain over MySQL 5.5
IMPROVED PERFORMANCE AND SCALABILITY
•Better transactional throughput and availability
IMPROVED INNODB
•Faster query execution and diagnostics for query tuning and debugging
IMPROVED OPTIMIZER
•Higher performance, availability and data integrity
IMPROVED REPLICATION
•Better Instrumentation, User/Application level statistics and monitoring
IMPROVED PERFORMANCE SCHEMA
•Fast, Key Value access with full ACID compliance, better developer agility
New! NoSQL ACCESS TO INNODB
MySQL 5.6: GA 2 Years Ago – Best GA Ever
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
 Several internal improvements (e.g. Split kernel mutex, efficient Buffer Pool
Flushing, more...)
 Optimized for Read Only workloads
 Persistent Optimizer Statistics
- Increased plan stability, accurate statistics
- Better user control, automatic/manual
 SSD Optimizations
- 4, 8k page sizes
- .ibd files outside of MySQL data dir
- separate tablespaces for undo log
MySQL 5.6: InnoDB
Better Performance, Scalability
dev.mysql.com/doc/refman/5.6/en/innodb-performance.html
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
 Optimized for Read Only workloads
- Highly concurrent, read intensive web apps
- Enables developer control of read only transactional overhead
MySQL 5.6: InnoDB
Better Performance, Scalability
SET autocommit = 1;
SELECT c FROM sbtest WHERE id=N;
SET autocommit = 0;
START TRANSACTION READ ONLY;
SELECT c FROM sbtest WHERE id=N;
COMMIT;
On by default
Developer controlled
dev.mysql.com/doc/refman/5.6/en/innodb-performance.html#innodb-performance-ro-txn
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL 5.6.7
MySQL 5.6 SysBench Benchmarks
Scales to 48 CPU Threads
Oracle Linux 6
Intel(R) Xeon(R) E7540 x86_64
MySQL leveraging:
- 48 of 96 available CPU threads
- 2 GHz, 512GB RAM
0
2 000
4 000
6 000
8 000
10 000
12 000
12 24 36 48
TransactionsperSecond
CPU Threads
MySQL 5.6 Read Write (Linux)
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL 5.6.7
MySQL 5.6 SysBench Benchmarks
Scales to 48 CPU Threads
Oracle Linux 6
Intel(R) Xeon(R) E7540 x86_64
MySQL leveraging:
- 48 of 96 available CPU threads
- 2 GHz, 512GB RAM
0
2 000
4 000
6 000
8 000
10 000
12 000
14 000
16 000
18 000
12 24 36 48
TransactionsperSecond
CPU Threads
MySQL 5.6 Read Only (Linux)
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
 Online DDL Operations implemented:
- CREATE INDEX
- DROP INDEX
- Change AUTO_INCREMENT value for a column
- ADD/DROP FOREIGN KEY
- Rename COLUMN
- Change ROW FORMAT, KEY_BLOCK_SIZE for a table
- Change COLUMN NULL, NOT_NULL
- Add, drop, reorder COLUMN
MySQL 5.6: InnoDB
Better Availability
dev.mysql.com/doc/refman/5.6/en/innodb-online-ddl.html
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
 Dump and restore/warm buffer pool
- Shortens warm up times after restart (from hours to minutes)
- At shutdown/startup or manually at any time
- Small footprint on disk - stores tablespace and page IDs only
MySQL 5.6: InnoDB
Better Availability
dev.mysql.com/doc/refman/5.6/en/innodb-performance.html
Example:
Dump current state of Buffer Pool at shutdown:
mysql> SET innodb_buffer_pool_dump_at_shutdown=ON;
Load Buffer Pool from dump at startup:
mysql> SET innodb_buffer_pool_load_at_startup=ON;
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
 FULLTEXT indexes on InnoDB tables
 Keys on text-based content
 Speeds up searches for words, phrases
 Fully transactional, fast look up
 Natural language/Boolean modes, proximity
search, relevance ranking
MySQL 5.6: InnoDB
Full Text Search create table quotes
( id int unsigned
auto_increment primary
key
,author varchar(64)
, quote varchar(4000)
, source varchar(64)
, fulltext(quote)
) engine=innodb;
select author as “Apple" from quotes
where match(quote) against (‘apple' in natural language mode);
dev.mysql.com/doc/refman/5.6/en/innodb-table-and-index.html#innodb-fulltext-index
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
 Transportable Tablespaces
- Enables export/import of tables between running MySQL instances
- Faster than mysqldump (via portable .ibd files)
MySQL 5.6: InnoDB
More Flexibility
CREATE TABLE t(c1 INT) engine=InnoDB;
FLUSH TABLE t FOR EXPORT; -- flush table and create the meta data file
$innodb_data_home_dir/test/t.cfg
UNLOCK TABLES;
Export:
Import:
CREATE TABLE t(c1 INT) engine=InnoDB; -- if it doesn't already exist
ALTER TABLE t DISCARD TABLESPACE;
-- The user must stop all updates on the tables, prior to the IMPORT
ALTER TABLE t IMPORT TABLESPACE;
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
 Key-value access to InnoDB
- Bypasses SQL Parsing
 SQL for rich queries, JOINs, FKs,
etc.
 Implemented via:
- Memcached plug-in to mysqld
- Memcached mapped to native
InnoDB API
- Use existing Memcached clients
- Shared process for ultra-low latency
MySQL 5.6: InnoDB
More Flexibility - Memcached API
dev.mysql.com/doc/refman/5.6/en/innodb-memcached.html
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Performance
Up to 9x Higher “SET / INSERT” Throughput
0
10000
20000
30000
40000
50000
60000
70000
80000
8 32 128 512
TPS
Client Connections
MySQL 5.6: NoSQL Benchmarking
Memcached API
SQL
Customized Java-based App Test Harness
Oracle Linux 6
Intel(R) Xeon(R) 2.0 x86_64
MySQL leveraging:
- 8 available CPU threads
- 2 GHz, 16GB RAM
blogs.oracle.com/mysqlinnodb/entry/new_enhancements_for_innodb_memcached
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
 For Developers
- No more re-writing legacy application or packaged subqueries into joins
 Performance
- DBT 3 Query #18 benchmark:
- Execution time drops from DAYS to seconds
MySQL 5.6: Optimizer
Subquery Optimizations
SELECT title FROM film WHERE film_id IN
(SELECT film_id FROM film_actor
GROUP BY film_id HAVING count(*) > 12);
dev.mysql.com/doc/refman/5.6/en/subquery-optimization.html
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
 EXPLAIN
- INSERT, UPDATE, and DELETE
- Structured EXPLAIN output
 Optimizer Traces
MySQL 5.6: Optimizer
Better Diagnostics
SET SESSION OPTIMIZER_TRACE=‘enabled=on’;
SELECT (SELECT 1 FROM t6 WHERE d = c)
AS RESULT FROM t5;
SELECT * FROM information_schema.OPTIMIZER_TRACE;
"records_estimation": [
{
"database": "test",
"table": "t6",
"range_analysis": {
"table_scan": {
"records": 2,
"cost": 4.5034
},
"potential_range_indices": [
{
"index": "d",
"usable": true,
"key_parts": [
"d"
]
}
],
"best_covering_index_scan": {
"index": "d",
"cost": 1.4233,
"chosen": true
},
dev.mysql.com/doc/refman/5.6/en/explain.html
dev.mysql.com/doc/internals/en/optimizer-tracing.html
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
•Multi-Threaded Slaves
•Binary Log Group Commit
•Optimized Row-Based Replication
PERFORMANCE
•Global Transaction Identifiers
•Replication Failover & Admin Utilities
•Crash Safe Slaves & Binlogs
FAILOVER & RECOVERY
•Replication Event Checksums
DATA INTEGRITY
•Time Delayed Replication
•Remote Binlog Backup
DEV/OPS AGILITY
MySQL 5.6: Replication
dev.mysql.com/tech-
resources/articles/mysql-5.6-
replication.html
 New default and
Developer controlled
improvements
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
 Simple to track & compare replication across the cluster
- Unique identifier for each transaction written to the Binlog
 Automatically identify the most up-to-date slave for failover
 Deploy n-tier replication hierarchies
Master
GTID=123456
GTID=123456
GTID=123456 GTID=123456
MySQL 5.6: Replication
New! Global Transaction Ids
dev.mysql.com/doc/refman/5.6/en/replication-gtids.html
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL 5.6 Performance Schema
We’ve been busy!
New Instrumentation
• Statements/Stages
• Table and Index I/O
• Table locks
• Users/Hosts/Accounts
• Network I/O
New Features
 Show contents of Host cache
 New Summary tables
 Easier configuration
- Start up defaults in my.cnf
- Auto tune
 Reduced overhead
 On by default
[mysqld]
performance_schema=on
dev.mysql.com/doc/refman/5.6/en/performance-schema.html
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
 Major overhaul of password handling
- Provide alternatives to showing passwords in plain text
- Assess/Enforce password strength policies
- Enforce new password at next login
- Stronger password hashing
MySQL 5.6: Security
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Roadmap
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
5.7 DMR 1
April 2013
DMR 2
Sep 2013
DMR 3
Dec 2013
DMR 4
March 2014
5.6 GA
Feb 2013
Raising the Bar: MySQL 5.7
DMR 5 (5.7.5)
OOW 2014
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL 5.7: DMR 4
MySQL 5.7 builds on MySQL 5.6 by improving
• 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
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
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. |
MySQL 5.7: Optimizer
EXPLAIN on Running Queries
• Problem: a statement in a session is taking a long time to complete
• New Option: run
– EXPLAIN FOR CONNECTION from another session
– Discover the root cause of the delay
– Optimize the statement
EXPLAIN [FORMAT=(JSON|TRADITIONAL)] FOR CONNECTION <id>;
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL 5.7: Optimizer Cost Model
 New cost model API
 Allows storage engines to provide accurate and dynamic cost estimates for key
lookups, table scans, range scans, etc…
‒ Enables future support of additional factors
 Whether the data is in RAM, SSD, HDD
 Lays the groundwork for making costs configurable
‒ Based on your hardware performance characteristics
 Improves records per key estimates
 Cost values included in JSON Explain output
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL 5.7: InnoDB
Many Improvements
• Improved InnoDB Online Alter Table
– Online Rename Index, Online Change Varchar
• Enhanced FusionIO Integration
– Doublewrite buffer automatically disabled when DirectFS detected
• Parallel “Dirty Page” Flushing
– Higher throughput, performance, and scalability
• Partitions – support for Transportable Tablespaces (TTS)
– TTS support for individual partitions
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL 5.7: Server-side Statement Timeouts
• Server Side statement timeouts
– Global for server, per session, or for individual SELECT statements
• Based on contribution from Davi Arnaut
– Expanded to Windows and Solaris, restricted by removing USER option
SELECT MAX_STATEMENT_TIME = 109 * FROM my_table;
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL GIS
• InnoDB Spatial Index Support
– Optimized R-tree indexes
• Boost.Geometry integration
– Improved accuracy
– Support for additional types, combinations, and functions
– Improved performance
– Full Open Geospatial Consortium compliance
– Enhancements to Boost.Geometry pushed upstream
labs.mysql.com
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL 5.7.4: Replication
Better Performance, Improved Usability and Enhanced HA
• Higher throughput
– Slave : applies transactions in parallel even within same database
– Master: better synchronization between replication-user sessions
• DMR4 improves master performance for Semi-synchronous Replication
• Lossless Replication through enhanced Semi-sync
• Performance Schema tables for monitoring slave
• Dynamic Replication Filters: change filters on the fly
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
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
Binlog
Master 1
Binlog
Master 2
…
…
Binlog
Master N
IO 1
Relay 1
Coordinator
W1 W2 … WX
IO 2
Relay 2
Coordinator
W1 W2 … WX
…
…
Coordinator
W1 W2 … WX
IO N
Relay N
Coordinator
W1 W2 … WX
Slave
labs.mysql.com
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Future
Focus on Web, Cloud, Embedded
• Architecture Improvements
– Improved Modularity
– Refactoring Optimizer, Parser, Runtime
• Web Scale Performance & Scalability
– Optimizer Cost Model
– InnoDB & Replication Improvements
• Management & Security
– Data Dictionary
– MySQL Enterprise Encryption
– Oracle Enterprise Manager for MySQL
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL High Availability
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL
Replication
MySQL
Fabric
DRBD
Windows/S
olaris/Clust
erware
Clustering
or Oracle
VM
MySQL
Cluster
MySQL HA Solutions
9 9 . 9 9 9 %
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Mapping Uptime to Availability
Replicated
Systems
• SPs & Line of
Business
Clustered &
Virtualized
Systems
• Web & Cloud
Services
Shared
Nothing,
Geo-
Replicated
Clusters
• eCommerce,
Telecoms &
Military
9 9 . 9 9 9 %
Cost&Complexity
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Fabric 1.5
• High Availability
– Server monitoring with auto-promotion and
transparent application failover
• Optionally scale-out through sharding
– Application provides shard key
– Range or Hash
– Tools for resharding
– Global updates & tables
• Fabric-aware connectors rather than
proxy: Python, Java, PHP, .NET, C (labs)
– Lower latency, bottleneck-free
• Server provisioning using OpenStack etc.
High Availability + Sharding-Based Scale-out
MySQL Fabric
Connector
Application
Read-slaves
SQL
HA group
Read-slaves
HA group
Connector
Application
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |19th February 2015 Copyright 2015, Oracle and/or its affiliates. All rights reserved
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
• Oracle Clusterware unifies servers
in a server farm to form a cluster
– At the core of Oracle RAC
• Oracle Cluster 12c includes MySQL
Server 5.6 agent
• Planned migration and failover of
MySQL database
– Hidden from the application
MySQL on Oracle Clusterware
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
• Native Windows HA clustering with
MySQL
• Quorum (3rd vote), data (InnoDB +
schema) & binaries (optional)
stored in shared storage (iSCSI &
FCAL)
• Loss of service = couple of seconds
+ InnoDB recovery time
• Cluster managed through MS
Failover Cluster Management snap-
in GUI
Windows Server Failover Clustering
App
Virtual IP
Data Bin
Slave App App
Vote
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
• Kernel based heartbeating and
monitoring
• SPARC and x86. Solaris
Virtualization-aware
• MySQL agent included with Oracle
Solaris Cluster
• Learn more:
http://www.oracle.com/technetwo
rk/server-storage/solaris-
cluster/overview/index.html
Oracle Solaris Clustering
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
• Based on distributed storage
– NOT physical shared storage
• Synchronous replication at block
device level eliminates risk of data
loss
• Open source, mature & proven
• Certified and supported by Oracle
Oracle Linux and DRBD Stack
Hosts
Oracle Linux Oracle Linux
Active Standby
Corosync
Pacemaker
Cluster s/w
DRBD DRBD
MySQL MySQL
Application
VIP
sync
Services
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
• Pre-Installed & Pre-Configured
• Full Integration & QA Testing
• Single Point of Support
Oracle VM Template for MySQL
Oracle VM Servers
Oracle VM Server Pool
ocfs2
Oracle VM
Manager
iSCSI / FC-AL
Oracle VM
Secure Live
Migration (SSL)
Oracle VM
Automatic Fault
Detection &
Recovery
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Cluster Overview
• Auto-Sharding, Multi-Master
• ACID Compliant, OLTP + Real-Time Analytics
HIGH SCALE, READS +
WRITES
• Shared nothing, no Single Point of Failure
• Self Healing + On-Line Operations
99.999% AVAILABILITY
• In-Memory Optimization + Disk-Data
• Predictable Low-Latency, Bounded Access Time
REAL-TIME
• Key/Value + Complex, Relational Queries
• SQL + Memcached + JavaScript + Java + HTTP/REST & C++
SQL + NoSQL
• Open Source + Commercial Editions
• Commodity hardware + Management, Monitoring Tools
LOW TCO
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Cluster Architecture
MySQL Cluster Data Nodes
Clients
Application Layer
Data Layer
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Cluster Scaling
MySQL Cluster Data Nodes
Clients
Application Layer
Data Layer
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Cluster HA
MySQL Cluster Data Nodes
Clients
Application Layer
Data Layer
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Who’s Using MySQL Cluster?
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Oracle MySQL HA & Scaling Solutions
MySQL
Replication
MySQL
Fabric
Oracle VM
Template
Oracle
Clusterware
Solaris
Cluster
Windows
Cluster
DRBD
MySQL
Cluster
App Auto-Failover ✖ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Data Layer Auto-Failover ✖ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Zero Data Loss MySQL 5.7 MySQL 5.7 ✔ ✔ ✔ ✔ ✔ ✔
Platform Support All All Linux Linux Solaris Windows Linux All
Clustering Mode
Master +
Slaves
Master +
Slaves
Active/Pas
sive
Active/Passi
ve
Active/P
assive
Active/Pas
sive
Active/P
assive
Multi-
Master
Failover Time N/A Secs Secs + Secs + Secs + Secs + Secs + < 1 Sec
Scale-out Reads ✔ ✖ ✖ ✖ ✖ ✖ ✔
Cross-shard operations N/A ✖ N/A N/A N/A N/A N/A ✔
Transparent routing ✖ For HA ✔ ✔ ✔ ✔ ✔ ✔
Shared Nothing ✔ ✔ ✖ ✖ ✖ ✖ ✔ ✔
Storage Engine InnoDB+ InnoDB+ InnoDB+ InnoDB+ InnoDB+ InnoDB+ InnoDB+ NDB
Single Vendor Support ✔ ✔ ✔ ✔ ✔ ✖ ✔ ✔
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Best Choice for Next Generation Web & Cloud Applications
World’s Most Popular Open
Source Database
Leading Open Source
Database for Web
Applications
#1 Open Source Database
in the Cloud
Integrated with Hadoop in
Big Data Platforms
Strong MySQL Momentum
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Getting Started
MySQL Enterprise Edition
• http://www.mysql.com/news-and-events/web-seminars/why-relying-on-mysql-enterprise-edition/
• http://www.mysql.com/news-and-events/web-seminars/the-mysql-sys-schema/
MySQL Security and Upgrading to 5.6
• http://www.mysql.com/news-and-events/web-seminars/mysql-security-whats-new-in-mysql-5-7-best-practices/
• http://www.mysql.com/news-and-events/web-seminars/upgrading-to-mysql-5-6-best-practices/
MySQL Availability
• http://www.mysql.com/why-mysql/white-papers/#en-22-16
• http://www.mysql.com/news-and-events/on-demand-webinars/#en-20-16
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Thank You!
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.

More Related Content

What's hot

What's new in MySQL 5.7, Oracle Virtual Technology Summit, 2016
What's new in MySQL 5.7, Oracle Virtual Technology Summit, 2016What's new in MySQL 5.7, Oracle Virtual Technology Summit, 2016
What's new in MySQL 5.7, Oracle Virtual Technology Summit, 2016
Geir Høydalsvik
 

What's hot (20)

MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)
 
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
 
20140722 Taiwan MySQL User Group Meeting Tech Updates
20140722 Taiwan MySQL User Group Meeting Tech Updates20140722 Taiwan MySQL User Group Meeting Tech Updates
20140722 Taiwan MySQL User Group Meeting Tech Updates
 
MySQL Security
MySQL SecurityMySQL Security
MySQL Security
 
MySQL Community and Commercial Edition
MySQL Community and Commercial EditionMySQL Community and Commercial Edition
MySQL Community and Commercial Edition
 
What's new in MySQL 5.7, Oracle Virtual Technology Summit, 2016
What's new in MySQL 5.7, Oracle Virtual Technology Summit, 2016What's new in MySQL 5.7, Oracle Virtual Technology Summit, 2016
What's new in MySQL 5.7, Oracle Virtual Technology Summit, 2016
 
MySQL Enterprise Backup
MySQL Enterprise BackupMySQL Enterprise Backup
MySQL Enterprise Backup
 
MySQL Tech Tour 2015 - 5.7 Security
MySQL Tech Tour 2015 - 5.7 SecurityMySQL Tech Tour 2015 - 5.7 Security
MySQL Tech Tour 2015 - 5.7 Security
 
MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAs
 
MySQL Security
MySQL SecurityMySQL Security
MySQL Security
 
MySQL Enterprise Edition Overview
MySQL Enterprise Edition OverviewMySQL Enterprise Edition Overview
MySQL Enterprise Edition Overview
 
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)
 
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
 
MySQL Technology Overview
MySQL Technology OverviewMySQL Technology Overview
MySQL Technology Overview
 
Oracle Enterprise Manager for MySQL
Oracle Enterprise Manager for MySQLOracle Enterprise Manager for MySQL
Oracle Enterprise Manager for MySQL
 
My sql5.7 whatsnew_presentedatgids2015
My sql5.7 whatsnew_presentedatgids2015My sql5.7 whatsnew_presentedatgids2015
My sql5.7 whatsnew_presentedatgids2015
 
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.6 Updates
MySQL 5.6 UpdatesMySQL 5.6 Updates
MySQL 5.6 Updates
 
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
 
MySQL Document Store
MySQL Document StoreMySQL Document Store
MySQL Document Store
 

Viewers also liked (9)

1&1 MySQL Experience at SkySQL Roadshow
1&1 MySQL Experience at SkySQL Roadshow1&1 MySQL Experience at SkySQL Roadshow
1&1 MySQL Experience at SkySQL Roadshow
 
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 5.6 Replication Webinar
MySQL 5.6 Replication WebinarMySQL 5.6 Replication Webinar
MySQL 5.6 Replication Webinar
 
The care and feeding of a MySQL database
The care and feeding of a MySQL databaseThe care and feeding of a MySQL database
The care and feeding of a MySQL database
 
MySQL 5.6 - Operations and Diagnostics Improvements
MySQL 5.6 - Operations and Diagnostics ImprovementsMySQL 5.6 - Operations and Diagnostics Improvements
MySQL 5.6 - Operations and Diagnostics Improvements
 
MySQL For Linux Sysadmins
MySQL For Linux SysadminsMySQL For Linux Sysadmins
MySQL For Linux Sysadmins
 
CBSE XII Database Concepts And MySQL Presentation
CBSE XII Database Concepts And MySQL PresentationCBSE XII Database Concepts And MySQL Presentation
CBSE XII Database Concepts And MySQL Presentation
 
MySql slides (ppt)
MySql slides (ppt)MySql slides (ppt)
MySql slides (ppt)
 
MySQL DBA OCP 1Z0-883
MySQL DBA OCP 1Z0-883MySQL DBA OCP 1Z0-883
MySQL DBA OCP 1Z0-883
 

Similar to MySQL 5.6, news in 5.7 and our HA options

Mysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesMysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New Features
Tarique Saleem
 
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
Manuel Contreras
 

Similar to MySQL 5.6, news in 5.7 and our HA options (20)

Mysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesMysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New Features
 
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
 Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
 
MySQL London Tech Tour March 2015 - Embedded Database of Choice
MySQL London Tech Tour March 2015 - Embedded Database of ChoiceMySQL London Tech Tour March 2015 - Embedded Database of Choice
MySQL London Tech Tour March 2015 - Embedded Database of Choice
 
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
 
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
 
20141011 my sql clusterv01pptx
20141011 my sql clusterv01pptx20141011 my sql clusterv01pptx
20141011 my sql clusterv01pptx
 
MySQL InnoDB Cluster and NDB Cluster
MySQL InnoDB Cluster and NDB ClusterMySQL InnoDB Cluster and NDB Cluster
MySQL InnoDB Cluster and NDB Cluster
 
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
 
Simplify IT: Oracle SuperCluster
Simplify IT: Oracle SuperCluster Simplify IT: Oracle SuperCluster
Simplify IT: Oracle SuperCluster
 
MySQL :What's New #GIDS16
MySQL :What's New #GIDS16MySQL :What's New #GIDS16
MySQL :What's New #GIDS16
 
2015: Whats New in MySQL 5.7, At Oracle Open World, November 3rd, 2015
2015: Whats New in MySQL 5.7, At Oracle Open World, November 3rd, 2015 2015: Whats New in MySQL 5.7, At Oracle Open World, November 3rd, 2015
2015: Whats New in MySQL 5.7, At Oracle Open World, November 3rd, 2015
 
New data dictionary an internal server api that matters
New data dictionary an internal server api that mattersNew data dictionary an internal server api that matters
New data dictionary an internal server api that matters
 
제3회난공불락 오픈소스 인프라세미나 - MySQL
제3회난공불락 오픈소스 인프라세미나 - MySQL제3회난공불락 오픈소스 인프라세미나 - MySQL
제3회난공불락 오픈소스 인프라세미나 - MySQL
 
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
 
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.7 what's new
MySQL 5.7 what's newMySQL 5.7 what's new
MySQL 5.7 what's new
 
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
 
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)
 
1 my sql20151219-kaji_ivan
1 my sql20151219-kaji_ivan1 my sql20151219-kaji_ivan
1 my sql20151219-kaji_ivan
 
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
 

More from Ted Wennmark

More from Ted Wennmark (9)

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

Recently uploaded

Recently uploaded (20)

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 

MySQL 5.6, news in 5.7 and our HA options

  • 1. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Introduction to MySQL Ted Wennmark, consultant and cluster specialist Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
  • 2. Copyright © 2014, Oracle and/or its affiliates. All rights 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 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. | History of MySQL Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
  • 4. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Major milestones in history • 2001 MySQL 3.23 GA • 2004 MySQL 4.0 InnoDB new SE • 2005 MySQL 5.0 GA and Oracle acquired Innobase OY • 2008 SUN acquired MySQL AB for $1 Billion • 2010 Oracle acquires SUN • 2010 MySQL 5.5 GA “InnoDB default” • 2013 MySQL 5.6 GA “Best release ever”
  • 5. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Open Source LAMP Stack Operating System Application Server Database Scripting L A M P
  • 6. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | World’s Most Popular Open Source Database • Over 15 million estimated installations • Used by 9 of top 10 web sites in the world • Embedded by 8 of the top 10 ISVs • #1 database in the Cloud • Integrated w/Hadoop in 80% of Big Data platforms • Facebook: 175K fans, +35% YoY Growth • Twitter: 28K followers, +67% YoY Growth • Numerous Awards: Linux Journal, CRN, PHP Architect...
  • 7. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Cloud Web & Enterprise OEM & ISVs Industry Leaders Rely on MySQL
  • 8. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Powers The Web Over 500 million Tweets/day. 143,200 Tweets/sec in Aug 2013 ”Many petabytes” of data. 11.2 Million Row changes & 2.5 billion rows read /sec handled in MySQL 6 billion hours of video watched each month Globally-distributed database with 100 terabytes of user-related data based on MySQL Cluster
  • 9. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Arcitecture
  • 10. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MyISAM • Default Storage Engine before MySQL 5.5 • Table level locking • Small footprint on disk • Read Only during backups • GIS and FTS indexing
  • 11. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | InnoDB • Default Storage Engine since MySQL 5.5 • ACID compliant transactions, MVCC • Row level locking • Clustered primary key index • Foreign keys and and native partitioning • Online backup and DDL operations • SQL and NoSQL access to data
  • 12. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Cluster aka NDB • Clustered database • ACID compliant • Row level locking • Shards data automatically, transparent for application • Foreign keys and and native partitioning • Online backup and DDL operations • SQL and NoSQL access to data • Max 2TB
  • 13. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL 5.5 • InnoDB default SE • InnoDB multiple BP, splitting and removing mutexes • InnoDB 10X improvement in InnoDB recovery speed • Replication semi-synchronous replication • Replication heartbeat • Partitioning on more data types and more partition functions • Performance Schema released
  • 14. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL 5.6 GA Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
  • 15. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | •Scales to 48 CPU Threads •Up to 230% performance gain over MySQL 5.5 IMPROVED PERFORMANCE AND SCALABILITY •Better transactional throughput and availability IMPROVED INNODB •Faster query execution and diagnostics for query tuning and debugging IMPROVED OPTIMIZER •Higher performance, availability and data integrity IMPROVED REPLICATION •Better Instrumentation, User/Application level statistics and monitoring IMPROVED PERFORMANCE SCHEMA •Fast, Key Value access with full ACID compliance, better developer agility New! NoSQL ACCESS TO INNODB MySQL 5.6: GA 2 Years Ago – Best GA Ever
  • 16. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |  Several internal improvements (e.g. Split kernel mutex, efficient Buffer Pool Flushing, more...)  Optimized for Read Only workloads  Persistent Optimizer Statistics - Increased plan stability, accurate statistics - Better user control, automatic/manual  SSD Optimizations - 4, 8k page sizes - .ibd files outside of MySQL data dir - separate tablespaces for undo log MySQL 5.6: InnoDB Better Performance, Scalability dev.mysql.com/doc/refman/5.6/en/innodb-performance.html
  • 17. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |  Optimized for Read Only workloads - Highly concurrent, read intensive web apps - Enables developer control of read only transactional overhead MySQL 5.6: InnoDB Better Performance, Scalability SET autocommit = 1; SELECT c FROM sbtest WHERE id=N; SET autocommit = 0; START TRANSACTION READ ONLY; SELECT c FROM sbtest WHERE id=N; COMMIT; On by default Developer controlled dev.mysql.com/doc/refman/5.6/en/innodb-performance.html#innodb-performance-ro-txn
  • 18. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL 5.6.7 MySQL 5.6 SysBench Benchmarks Scales to 48 CPU Threads Oracle Linux 6 Intel(R) Xeon(R) E7540 x86_64 MySQL leveraging: - 48 of 96 available CPU threads - 2 GHz, 512GB RAM 0 2 000 4 000 6 000 8 000 10 000 12 000 12 24 36 48 TransactionsperSecond CPU Threads MySQL 5.6 Read Write (Linux)
  • 19. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL 5.6.7 MySQL 5.6 SysBench Benchmarks Scales to 48 CPU Threads Oracle Linux 6 Intel(R) Xeon(R) E7540 x86_64 MySQL leveraging: - 48 of 96 available CPU threads - 2 GHz, 512GB RAM 0 2 000 4 000 6 000 8 000 10 000 12 000 14 000 16 000 18 000 12 24 36 48 TransactionsperSecond CPU Threads MySQL 5.6 Read Only (Linux)
  • 20. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |  Online DDL Operations implemented: - CREATE INDEX - DROP INDEX - Change AUTO_INCREMENT value for a column - ADD/DROP FOREIGN KEY - Rename COLUMN - Change ROW FORMAT, KEY_BLOCK_SIZE for a table - Change COLUMN NULL, NOT_NULL - Add, drop, reorder COLUMN MySQL 5.6: InnoDB Better Availability dev.mysql.com/doc/refman/5.6/en/innodb-online-ddl.html
  • 21. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |  Dump and restore/warm buffer pool - Shortens warm up times after restart (from hours to minutes) - At shutdown/startup or manually at any time - Small footprint on disk - stores tablespace and page IDs only MySQL 5.6: InnoDB Better Availability dev.mysql.com/doc/refman/5.6/en/innodb-performance.html Example: Dump current state of Buffer Pool at shutdown: mysql> SET innodb_buffer_pool_dump_at_shutdown=ON; Load Buffer Pool from dump at startup: mysql> SET innodb_buffer_pool_load_at_startup=ON;
  • 22. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |  FULLTEXT indexes on InnoDB tables  Keys on text-based content  Speeds up searches for words, phrases  Fully transactional, fast look up  Natural language/Boolean modes, proximity search, relevance ranking MySQL 5.6: InnoDB Full Text Search create table quotes ( id int unsigned auto_increment primary key ,author varchar(64) , quote varchar(4000) , source varchar(64) , fulltext(quote) ) engine=innodb; select author as “Apple" from quotes where match(quote) against (‘apple' in natural language mode); dev.mysql.com/doc/refman/5.6/en/innodb-table-and-index.html#innodb-fulltext-index
  • 23. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |  Transportable Tablespaces - Enables export/import of tables between running MySQL instances - Faster than mysqldump (via portable .ibd files) MySQL 5.6: InnoDB More Flexibility CREATE TABLE t(c1 INT) engine=InnoDB; FLUSH TABLE t FOR EXPORT; -- flush table and create the meta data file $innodb_data_home_dir/test/t.cfg UNLOCK TABLES; Export: Import: CREATE TABLE t(c1 INT) engine=InnoDB; -- if it doesn't already exist ALTER TABLE t DISCARD TABLESPACE; -- The user must stop all updates on the tables, prior to the IMPORT ALTER TABLE t IMPORT TABLESPACE;
  • 24. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |  Key-value access to InnoDB - Bypasses SQL Parsing  SQL for rich queries, JOINs, FKs, etc.  Implemented via: - Memcached plug-in to mysqld - Memcached mapped to native InnoDB API - Use existing Memcached clients - Shared process for ultra-low latency MySQL 5.6: InnoDB More Flexibility - Memcached API dev.mysql.com/doc/refman/5.6/en/innodb-memcached.html
  • 25. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Performance Up to 9x Higher “SET / INSERT” Throughput 0 10000 20000 30000 40000 50000 60000 70000 80000 8 32 128 512 TPS Client Connections MySQL 5.6: NoSQL Benchmarking Memcached API SQL Customized Java-based App Test Harness Oracle Linux 6 Intel(R) Xeon(R) 2.0 x86_64 MySQL leveraging: - 8 available CPU threads - 2 GHz, 16GB RAM blogs.oracle.com/mysqlinnodb/entry/new_enhancements_for_innodb_memcached
  • 26. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |  For Developers - No more re-writing legacy application or packaged subqueries into joins  Performance - DBT 3 Query #18 benchmark: - Execution time drops from DAYS to seconds MySQL 5.6: Optimizer Subquery Optimizations SELECT title FROM film WHERE film_id IN (SELECT film_id FROM film_actor GROUP BY film_id HAVING count(*) > 12); dev.mysql.com/doc/refman/5.6/en/subquery-optimization.html
  • 27. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |  EXPLAIN - INSERT, UPDATE, and DELETE - Structured EXPLAIN output  Optimizer Traces MySQL 5.6: Optimizer Better Diagnostics SET SESSION OPTIMIZER_TRACE=‘enabled=on’; SELECT (SELECT 1 FROM t6 WHERE d = c) AS RESULT FROM t5; SELECT * FROM information_schema.OPTIMIZER_TRACE; "records_estimation": [ { "database": "test", "table": "t6", "range_analysis": { "table_scan": { "records": 2, "cost": 4.5034 }, "potential_range_indices": [ { "index": "d", "usable": true, "key_parts": [ "d" ] } ], "best_covering_index_scan": { "index": "d", "cost": 1.4233, "chosen": true }, dev.mysql.com/doc/refman/5.6/en/explain.html dev.mysql.com/doc/internals/en/optimizer-tracing.html
  • 28. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | •Multi-Threaded Slaves •Binary Log Group Commit •Optimized Row-Based Replication PERFORMANCE •Global Transaction Identifiers •Replication Failover & Admin Utilities •Crash Safe Slaves & Binlogs FAILOVER & RECOVERY •Replication Event Checksums DATA INTEGRITY •Time Delayed Replication •Remote Binlog Backup DEV/OPS AGILITY MySQL 5.6: Replication dev.mysql.com/tech- resources/articles/mysql-5.6- replication.html  New default and Developer controlled improvements
  • 29. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |  Simple to track & compare replication across the cluster - Unique identifier for each transaction written to the Binlog  Automatically identify the most up-to-date slave for failover  Deploy n-tier replication hierarchies Master GTID=123456 GTID=123456 GTID=123456 GTID=123456 MySQL 5.6: Replication New! Global Transaction Ids dev.mysql.com/doc/refman/5.6/en/replication-gtids.html
  • 30. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL 5.6 Performance Schema We’ve been busy! New Instrumentation • Statements/Stages • Table and Index I/O • Table locks • Users/Hosts/Accounts • Network I/O New Features  Show contents of Host cache  New Summary tables  Easier configuration - Start up defaults in my.cnf - Auto tune  Reduced overhead  On by default [mysqld] performance_schema=on dev.mysql.com/doc/refman/5.6/en/performance-schema.html
  • 31. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |  Major overhaul of password handling - Provide alternatives to showing passwords in plain text - Assess/Enforce password strength policies - Enforce new password at next login - Stronger password hashing MySQL 5.6: Security
  • 32. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Roadmap Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
  • 33. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 5.7 DMR 1 April 2013 DMR 2 Sep 2013 DMR 3 Dec 2013 DMR 4 March 2014 5.6 GA Feb 2013 Raising the Bar: MySQL 5.7 DMR 5 (5.7.5) OOW 2014
  • 34. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL 5.7: DMR 4 MySQL 5.7 builds on MySQL 5.6 by improving • 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
  • 35. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 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
  • 36. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL 5.7: Optimizer EXPLAIN on Running Queries • Problem: a statement in a session is taking a long time to complete • New Option: run – EXPLAIN FOR CONNECTION from another session – Discover the root cause of the delay – Optimize the statement EXPLAIN [FORMAT=(JSON|TRADITIONAL)] FOR CONNECTION <id>;
  • 37. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL 5.7: Optimizer Cost Model  New cost model API  Allows storage engines to provide accurate and dynamic cost estimates for key lookups, table scans, range scans, etc… ‒ Enables future support of additional factors  Whether the data is in RAM, SSD, HDD  Lays the groundwork for making costs configurable ‒ Based on your hardware performance characteristics  Improves records per key estimates  Cost values included in JSON Explain output
  • 38. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL 5.7: InnoDB Many Improvements • Improved InnoDB Online Alter Table – Online Rename Index, Online Change Varchar • Enhanced FusionIO Integration – Doublewrite buffer automatically disabled when DirectFS detected • Parallel “Dirty Page” Flushing – Higher throughput, performance, and scalability • Partitions – support for Transportable Tablespaces (TTS) – TTS support for individual partitions
  • 39. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL 5.7: Server-side Statement Timeouts • Server Side statement timeouts – Global for server, per session, or for individual SELECT statements • Based on contribution from Davi Arnaut – Expanded to Windows and Solaris, restricted by removing USER option SELECT MAX_STATEMENT_TIME = 109 * FROM my_table;
  • 40. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL GIS • InnoDB Spatial Index Support – Optimized R-tree indexes • Boost.Geometry integration – Improved accuracy – Support for additional types, combinations, and functions – Improved performance – Full Open Geospatial Consortium compliance – Enhancements to Boost.Geometry pushed upstream labs.mysql.com
  • 41. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL 5.7.4: Replication Better Performance, Improved Usability and Enhanced HA • Higher throughput – Slave : applies transactions in parallel even within same database – Master: better synchronization between replication-user sessions • DMR4 improves master performance for Semi-synchronous Replication • Lossless Replication through enhanced Semi-sync • Performance Schema tables for monitoring slave • Dynamic Replication Filters: change filters on the fly
  • 42. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 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 Binlog Master 1 Binlog Master 2 … … Binlog Master N IO 1 Relay 1 Coordinator W1 W2 … WX IO 2 Relay 2 Coordinator W1 W2 … WX … … Coordinator W1 W2 … WX IO N Relay N Coordinator W1 W2 … WX Slave labs.mysql.com
  • 43. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Future Focus on Web, Cloud, Embedded • Architecture Improvements – Improved Modularity – Refactoring Optimizer, Parser, Runtime • Web Scale Performance & Scalability – Optimizer Cost Model – InnoDB & Replication Improvements • Management & Security – Data Dictionary – MySQL Enterprise Encryption – Oracle Enterprise Manager for MySQL
  • 44. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL High Availability Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
  • 45. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Replication MySQL Fabric DRBD Windows/S olaris/Clust erware Clustering or Oracle VM MySQL Cluster MySQL HA Solutions 9 9 . 9 9 9 %
  • 46. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Mapping Uptime to Availability Replicated Systems • SPs & Line of Business Clustered & Virtualized Systems • Web & Cloud Services Shared Nothing, Geo- Replicated Clusters • eCommerce, Telecoms & Military 9 9 . 9 9 9 % Cost&Complexity
  • 47. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Fabric 1.5 • High Availability – Server monitoring with auto-promotion and transparent application failover • Optionally scale-out through sharding – Application provides shard key – Range or Hash – Tools for resharding – Global updates & tables • Fabric-aware connectors rather than proxy: Python, Java, PHP, .NET, C (labs) – Lower latency, bottleneck-free • Server provisioning using OpenStack etc. High Availability + Sharding-Based Scale-out MySQL Fabric Connector Application Read-slaves SQL HA group Read-slaves HA group Connector Application
  • 48. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |19th February 2015 Copyright 2015, Oracle and/or its affiliates. All rights reserved
  • 49. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | • Oracle Clusterware unifies servers in a server farm to form a cluster – At the core of Oracle RAC • Oracle Cluster 12c includes MySQL Server 5.6 agent • Planned migration and failover of MySQL database – Hidden from the application MySQL on Oracle Clusterware
  • 50. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | • Native Windows HA clustering with MySQL • Quorum (3rd vote), data (InnoDB + schema) & binaries (optional) stored in shared storage (iSCSI & FCAL) • Loss of service = couple of seconds + InnoDB recovery time • Cluster managed through MS Failover Cluster Management snap- in GUI Windows Server Failover Clustering App Virtual IP Data Bin Slave App App Vote
  • 51. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | • Kernel based heartbeating and monitoring • SPARC and x86. Solaris Virtualization-aware • MySQL agent included with Oracle Solaris Cluster • Learn more: http://www.oracle.com/technetwo rk/server-storage/solaris- cluster/overview/index.html Oracle Solaris Clustering
  • 52. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | • Based on distributed storage – NOT physical shared storage • Synchronous replication at block device level eliminates risk of data loss • Open source, mature & proven • Certified and supported by Oracle Oracle Linux and DRBD Stack Hosts Oracle Linux Oracle Linux Active Standby Corosync Pacemaker Cluster s/w DRBD DRBD MySQL MySQL Application VIP sync Services
  • 53. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | • Pre-Installed & Pre-Configured • Full Integration & QA Testing • Single Point of Support Oracle VM Template for MySQL Oracle VM Servers Oracle VM Server Pool ocfs2 Oracle VM Manager iSCSI / FC-AL Oracle VM Secure Live Migration (SSL) Oracle VM Automatic Fault Detection & Recovery
  • 54. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Cluster Overview • Auto-Sharding, Multi-Master • ACID Compliant, OLTP + Real-Time Analytics HIGH SCALE, READS + WRITES • Shared nothing, no Single Point of Failure • Self Healing + On-Line Operations 99.999% AVAILABILITY • In-Memory Optimization + Disk-Data • Predictable Low-Latency, Bounded Access Time REAL-TIME • Key/Value + Complex, Relational Queries • SQL + Memcached + JavaScript + Java + HTTP/REST & C++ SQL + NoSQL • Open Source + Commercial Editions • Commodity hardware + Management, Monitoring Tools LOW TCO
  • 55. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Cluster Architecture MySQL Cluster Data Nodes Clients Application Layer Data Layer
  • 56. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Cluster Scaling MySQL Cluster Data Nodes Clients Application Layer Data Layer
  • 57. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Cluster HA MySQL Cluster Data Nodes Clients Application Layer Data Layer
  • 58. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Who’s Using MySQL Cluster?
  • 59. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle MySQL HA & Scaling Solutions MySQL Replication MySQL Fabric Oracle VM Template Oracle Clusterware Solaris Cluster Windows Cluster DRBD MySQL Cluster App Auto-Failover ✖ ✔ ✔ ✔ ✔ ✔ ✔ ✔ Data Layer Auto-Failover ✖ ✔ ✔ ✔ ✔ ✔ ✔ ✔ Zero Data Loss MySQL 5.7 MySQL 5.7 ✔ ✔ ✔ ✔ ✔ ✔ Platform Support All All Linux Linux Solaris Windows Linux All Clustering Mode Master + Slaves Master + Slaves Active/Pas sive Active/Passi ve Active/P assive Active/Pas sive Active/P assive Multi- Master Failover Time N/A Secs Secs + Secs + Secs + Secs + Secs + < 1 Sec Scale-out Reads ✔ ✖ ✖ ✖ ✖ ✖ ✔ Cross-shard operations N/A ✖ N/A N/A N/A N/A N/A ✔ Transparent routing ✖ For HA ✔ ✔ ✔ ✔ ✔ ✔ Shared Nothing ✔ ✔ ✖ ✖ ✖ ✖ ✔ ✔ Storage Engine InnoDB+ InnoDB+ InnoDB+ InnoDB+ InnoDB+ InnoDB+ InnoDB+ NDB Single Vendor Support ✔ ✔ ✔ ✔ ✔ ✖ ✔ ✔
  • 60. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Best Choice for Next Generation Web & Cloud Applications World’s Most Popular Open Source Database Leading Open Source Database for Web Applications #1 Open Source Database in the Cloud Integrated with Hadoop in Big Data Platforms Strong MySQL Momentum
  • 61. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Getting Started MySQL Enterprise Edition • http://www.mysql.com/news-and-events/web-seminars/why-relying-on-mysql-enterprise-edition/ • http://www.mysql.com/news-and-events/web-seminars/the-mysql-sys-schema/ MySQL Security and Upgrading to 5.6 • http://www.mysql.com/news-and-events/web-seminars/mysql-security-whats-new-in-mysql-5-7-best-practices/ • http://www.mysql.com/news-and-events/web-seminars/upgrading-to-mysql-5-6-best-practices/ MySQL Availability • http://www.mysql.com/why-mysql/white-papers/#en-22-16 • http://www.mysql.com/news-and-events/on-demand-webinars/#en-20-16
  • 62. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Thank You! Copyright © 2014, Oracle and/or its affiliates. All rights reserved.