5 進化を続けるMySQL MySQL Enterprise Monitor 2.2 MySQL Cluster 7.1 MySQL Cluster Manager 1.0 MySQL Workbench 5.2 MySQL Database 5.5 MySQL Enterprise Backup 3.5 MySQL Enterprise Monitor 2.3 MySQL Cluster Manager 1.1 All GA! MySQL Enterprise Backup 3.7 Oracle VM Template for MySQL Enterprise Edition MySQL Enterprise Oracle Certifications MySQL Windows Installer New MySQL Enterprise Commercial Extensions MySQL Database 5.6 DMR* MySQL Cluster 7.2 DMR MySQL Labs! (“early and often”) All GA! MySQL Cluster 7.2 MySQL Utilities 1.0.6 Database Migration Wizard New Windows Tools/Features New MySQL Enterprise Commercial Extensions MySQL Database 5.6 MySQL Cluster 7.3 MySQL Database 5.7 DMR MySQL Workbench 6.0 *Development Milestone Release 2010 2011 2012-2013 All GA! New!
6 MySQL 5.5 MySQL Cluster 7.3 MySQL Enterprise Monitor 2.3 MySQL Enterprise Backup Security Scalability HA Audit MySQL 5.6 MySQL Workbench 6.0 M y S Q L U t i l i t i e s M y S Q L A p p l i e r f o r H a d o o p MySQL Workbench 5.2 M y S Q L E n t e r p r i s e O r a c l e C e r t i f i c a t i o n s MySQLのイノベーション M y S Q L C l u s t e r M a n a g e r Windows installer & Tools MySQL Cluster 7.2 MySQL Cluster 7.1 MySQL Migration Wizard
7 Oracle Database & MySQL § より多くのお客様の要件にお応えするために § MySQLはWebにおけるデファクトスタンダード § MySQLとOracleの両方を運用されるお客様にもより多くのメリット Complementary 「補完関係」 Web and Cloud computing is not a ‘one size fits all’ model
8 MySQL: Everywhere and Growing Platform of Choice for Next Generation Web, Cloud & Embedded Applications World’s Most Popular Open Source Database Database Platform for Next Gen Web Apps Leading Database for Web Applications Leading Database in the Cloud Integrated with Hadoop in majority of Big Data platforms #1 Linux Career IT skill: MySQL * * Source: Linux Career IT Skills Watch update July 2013 Downloads & Sales Growth Best of both Worlds SQL+NoSQL LAMP + Python +Node.js + Go +... Awards & Social Media Momentum
9 Controversial Releases § ”MySQL 5.0: Remarkably painful” Jeremy Cole § “MySQL 5.1 release as “GA” seems to be the most controversial to date... As a Summary I think this was inevitable MySQL 5.1 will be released for commercial/marketing reasons, not because it really meets quality guidelines…On the bright side MySQL 5.1 “GA” quality was much better than MySQL 5.0 quality when it was released.” Peter Zaitsev MySQL 5.0 & MySQL 5.1
10 MySQL 5.5 § “Version 5.5 of the MySQL database is probably is the best MySQL version ever produced, and the upcoming version 5.6 is looking strong as well.” Mårten Mickos § “If you are using MySQL today, and you need a solid path forward on it as a platform? I’d stick with what Oracle is creating.” Brian Aker § "From an engineering standpoint, Oracle is doing the best work on MySQL that's ever been done. Oracle is doing good, formal software engineering.” Baron Schwartz First GA Release Under Oracle Stewardship
11 MySQL 5.6: The Best Release Ever “MySQL 5.6 is probably the version of MySQL with the biggest bundle of new features.” Giuseppe Maxia “I am very excited and thrilled to use the latest release of MySQL 5.6 in production. This is probably the most notable and innovative release from many years, if not ever. Oracle developer teams did great work for MySQL 5.6, so we have to give Oracle credit for that.“ Marco Tusa “MySQL 5.6 is much faster on IO-bound, read-only workloads.” Mark Callaghan “If GTIDs and MySQL failover work as advertised, it's living the dream of no-fuss failover.” Sheeri Cabral “MySQL vs MariaDB performance. The obvious take away is as expected, upgrade any 5.5 installations to 5.6.” Brian Aker
13 The Open Road to MySQL 5.6 Optimizer: MRR, ICP, File Sort InnoDB: Split Kernel Mutex, MT Purge Replication: Crash-Safe, Multi-Thread Slave, Checksums Memcached API New P_S Partitioning Improvements *Development Milestone Release RC Nov 2012 DMR1* April 2011 DMR2 Oct 2011 Optimizer: BKA, New EXPLAIN, Traces InnoDB: Dump/Restore Buffer Pool More P_S DMR3 Dec 2011 Optimizer: Sub-Queries InnoDB: Full Text Index, Read-Only Optimizations Condition Handling Fractional Seconds DMR4 April 2012 Optimizer: JSON EXPLAIN, Sub-Queries Replication: GTIDs TIMESTAMP & DATESTAMP More P_S DMR5 Aug 2012 InnoDB: TT, Online DDL, Memcached API Replication: Binary Log Group Commit Password Mgmt More Partitioning New Server Defaults More Partitioning More GTID, TT Predictable Releases for the MySQL Community, Allowing Feedback
20 MySQL 5.5.29 MySQL 5.6.10 MySQL 5.6 SysBench Benchmarks Up to 234% Performance Gain 0 2,000 4,000 6,000 8,000 10,000 12,000 14,000 16,000 18,000 32 64 128 256 512 Transactions per Second Connections MySQL 5.6 vs. 5.5 - Read Only (Linux) Oracle Linux 6 Intel(R) Xeon(R) E7540 x86_64 MySQL leveraging: - 48 of 96 available CPU threads - 2 GHz, 512GB RAM
21 MySQLの高可用性構成 MySQL Cluster MySQL Cluster アプリケーション/ APサーバ 負荷分散 双方向 同期複製 • MySQL Cluster シェアードナッシング型高性能クラスタ MySQL Server • MySQL+DRBD Linux用のノード間データコピー アプリケーション/ APサーバ フェールオーバー 同期複製 MySQL Server アプリケーション/ APサーバ 共有ディスク • 3rdベンダ製HAソフト利用 共有ディスクにデータを格納 フェールオーバー MySQL Server MySQL Server アプリケーション/ APサーバ 負荷分散 非同期複製 • レプリケーション(標準機能) 非同期&準同期データレプリケーション MySQL Server MySQL Server
27 MySQL 5.7.2 Sysbench Benchmarks Sysbench Point Select Intel(R) Xeon(R) CPU X7560 x86_64 4 sockets x 8 cores-HT (64 CPU threads) 2.27GHz, 256G RAM Oracle Linux 6.2 95% Faster than MySQL 5.6 172% Faster than MySQL 5.5 0 100000 200000 300000 400000 500000 600000 8 16 32 64 128 256 512 1024 Queries per Second Concurrent User Sessions MySQL-5.7 MySQL-5.6 MySQL-5.5 500,000 QPS
29 0 500 1000 1500 2000 2500 Total Time in Seconds MySQL 5.7 versus 5.6 2 - 11 X Improvement 5.6.13 5.7.2 MySQL 5.7.2: InnoDB Temporary Tables 性能の向上 11倍 高速化 CREATE/DROP § テーブルの作成や削除処理中のIOを 削減 2-4倍 高速化 INSERT/DELETE/ UPDATE § REDOログの書き込み、ロックおよび チェンジバッファの利用を削減 * sql-bench, modified to use temp-tables * Seed size of 10K for Create/Drop * Seed size of 5M for Insert/Delete/Update Total time to complete in seconds 11X 2X 4X 2X
30 MySQL 5.7.2: InnoDB § オンラインでのインデックス名の変更 – ALTER TABLE t RENAME INDEX i1 TO i2 § オンラインでのVARCHAR列の変更 オンラインALTER TABLE の拡張 ALTER TABLE t RENAME INDEX i1 to i2; ALTER TABLE t1 ALGORITHM=INPLACE, CHANGE COLUMN c1 c1 VARCHAR(255);
33 Slave Master 準同期レプリケーション MySQL 5.6 MySQL 5.7 “Lossless” App commits Written to Binary log Send to slave(s) Commit to SE & externalized Ack Commit Write to relay log Apply txn Slave Master App commits Written to Binary log Send to slave(s) Commit to SE & externalized Ack Commit Write to relay log Apply txn