My sql 56_roadmap_april2012_zht2
Upcoming SlideShare
Loading in...5
×
 

My sql 56_roadmap_april2012_zht2

on

  • 781 views

 

Statistics

Views

Total Views
781
Views on SlideShare
781
Embed Views
0

Actions

Likes
0
Downloads
29
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

My sql 56_roadmap_april2012_zht2 My sql 56_roadmap_april2012_zht2 Presentation Transcript

  • 1 <Insert Picture Here> The MySQL Roadmap: Discover What’s New April, 2012 杜修文 Ivan.Tu@Oracle.Com, Oracle MySQL Sales Consultant CONFIDENTIAL – ORACLE HIGHLY RESTRICTED
  • Safe Harbor Statement以下內容旨在概述產品的整體方向。僅供參考,不得納入任何合約。這份簡報不是承諾提供任何材料,代碼或功能,並且不應當作購買決策的依據。甲骨文公司保有對其產品所描述的任何特性或開發的功能,和發佈時間的權利。 2
  • Oracle 對 MySQL 的投資加速創新使 MySQL 成為更好的 MySQL• #1 Open Source Database for Web Applications• “M” in most complete LAMP stack• Embedded開發 , 推廣和支持 MySQL• Improved engineering, consulting and support• Leverage 24x7, World-Class Oracle SupportMySQL 社群版• Source and binary releases• GPL license 3
  • 比以前推出更多的產品 帶動 MySQL • MySQL Enterprise Backup 3.7 • Oracle VM Template for 創新 MySQL Enterprise Edition • MySQL Enterprise Oracle Certifications • MySQL Cluster 7.2• MySQL Enterprise Monitor • MySQL Windows Installer • MySQL Cluster 2.2 • New MySQL Enterprise Manager 1.4• MySQL Cluster 7.1 Commercial Extensions • MySQL Utilities• MySQL Cluster Manager 1.0 1.0.6• MySQL Workbench 5.2 All GA! All GA!• MySQL Database 5.5• MySQL Enterprise Backup 3.5 • MySQL Database 5.6 DMR* • MySQL Database• MySQL Enterprise Monitor • MySQL Cluster 7.2 DMR 5.6.5 DMR* 2.3 and MySQL Labs! and MySQL Labs!• MySQL Cluster Manager 1.1 (“early and often”) (“early and often”) All GA! A Better MySQL *Development Milestone Release CY2010 4 CY2011 Q1 CY2012
  • MySQL 5.5 – Best Release EverInnoDB 是預設的 storage engine• ACID Transactions, FKs, Crash Recovery效能的改善• Enhancements in MySQL DB• Enhancements in InnoDB• + 360% over 5.1 on Linux• + 1500% over 5.1 on Windows可用率的改善• Semi-synchronous Replication• Replication Heartbeat便利性的改善• SIGNAL/RESIGNAL• More Partitioning Options• New PERFORMANCE_SCHEMA 5
  • MySQL 5.5 Scales On Multi-Core SysBench Read Write MySQL 5.5.4Transactions/Second MySQL 5.5.3 MySQL 5.1 AMD Opteron 7160 (Magny-Cours) @2100 MHz 64 GB memory 2 x Intel X25E SSD drives OS is Oracle Enterprise Linux with the Enterprise Kernel 6 4 sockets with a total of 48 cores.
  • MySQL “Early Access” 發佈模式Database and ClusterModel: Development Milestone Releases (“DMR”) • 每 3-6 個用一版新的 DMR • 每一版 DMR 累積一些新功能到下一個正式版 (5.6) • 新功能整合到穩定 lunchpad 主版 • 所有的功能由 QA 一起測試和簽發 • 接近正式版的品質 • 再一個 DMR 後收進的功能就是正式版Model: MySQL Labs 的“早期使用”功能 • 預覽 , 不在 lunchpage 主版 (trunk) • 不保證出現在正式版 7
  • MySQL Database 5.6: 一個更好的 MySQL.• MySQL 5.6 在 MySQL 5.5 上再加以改進 : • Performance and Scalability • Optimizer for better query execution times, diagnostics • Performance Schema for better instrumentation • InnoDB for better transactional throughput • Replication for higher availability, data integrity • “NotOnlySQL” options for better flexibility• 5.6.5 DMR – April, 2012 dev.mysql.com/downloads/mysql/ 8
  • MySQL 5.6.5 – 優化器的改進 • Subquery Optimizations • File sort optimizations with small limit • 3X better execution time – 40s to 10s• Index Condition Pushdown • Better execution time – 15s to 90ms• Batched Key Access and Multi Range Read • Better execution time – 2000s to 10s• Postpone Materialization of views/subqueries in FROM • 240X better execution time for EXPLAIN - 8m to 2s 9
  • MySQL 5.6.5 – 優化器的改善Better Diagnostics and Debugging • EXPLAIN • INSERT, UPDATE, and DELETE • JSON format for better readability• Persistent Optimizer Statistics - InnoDB• Optimizer Traces 10
  • MySQL 5.6.5 – 優化器的改善 Index Condition Pushdown (ICP)CREATE TABLE person ( personid INTEGER PRIMARY KEY, firstname CHAR(20), lastname CHAR(20), pe test postalcode INTEGER, r age INTEGER, address CHAR(50), KEY k1 (postalcode,age) ) ENGINE=InnoDB;SELECT lastname, firstname FROM person WHERE postalcode BETWEEN 5000 AND 5500 AND age BETWEEN 21 AND 22;• With ICP Disabled • With ICP Enabled • 15 s (buffer pool 128 Mb) ⇒ Execution time drops to 90 ms for both • 1.4 s (buffer pool 1.5 Gb) 11
  • MySQL 5.6.5 – 優化器的改善Batched Key Access (BKA) 和 Multi Range ReadImproves performance of disk-bound join queries 5000 2821 Execution time without BKA + MRR 1225 500Query Time (secs) No BKA DBT3 Q3: “Customer Distribution Query” BKA 50 Execution time 9.63 with BKA + MRR 5 0 8 16 24 32 40 48 56 64 Join Buffer Size (MB) 12
  • MySQL 5.6.5 – Optimizer Postpone materialization of views/subqueries in FROMLate materialization • Allows fast EXPLAINs for views/subqueries • Avoid materialization when possible, faster bail outA key can be generated for derived tables=> 240X better execution time (drops from ~8 min to ~2 sec)EXPLAIN SELECT * FROM (SELECT * FROM a_big_table);SELECT … FROM derived_table AS dt join table AS t WHERE dt.fld = t.dlf 13
  • MySQL 5.6.5 – Optimizer Add EXPLAIN for INSERT/UPDATE/DELETE • Long standing feature request from customers and users CREATE TABLE t1(c1 INT, c2 INT, KEY(c2), KEY(c2, c1)); EXPLAIN UPDATE t1 SET c1 = 10 WHERE c2 = 1;mysql> EXPLAIN UPDATE t1 SET c1 = 10 WHERE c2 = 1;+----+-------------+-------+-------+---------------+------+---------+------+------+-------------+| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |+----+-------------+-------+-------+---------------+------+---------+------+------+-------------+| 1 | SIMPLE | t1 | range | c2,c2_2 | c2 | 5 | NULL | 1 | Using where |+----+-------------+-------+-------+---------------+------+---------+------+------+-------------+1 row in set (0.00 sec) 14
  • MySQL 5.6.5 – Optimizer TracesSET SESSION.OPTIMIZER_TRACE=‘enabled=on’; "records_estimation": [SELECT (SELECT 1 FROM t6 WHERE d = c) {AS RESULT FROM t5; "database": "test",select * from information_schema.OPTIMIZER_TRACE; "table": "t6", "range_analysis": { "table_scan": { "records": 2, "cost": 4.5034 }, "potential_range_indices": [ { "index": "d",• EXPLAIN shows the generated plan "usable": true,• TRACE shows how the plan was generated, "key_parts": [ "d" decision points etc. ]• Developers, support, advanced customers } ],• First step in 5.6.3, more tracing to come "best_covering_index_scan": { "index": "d", "cost": 1.4233, "chosen": true }, 15
  • MySQL 5.6.5 – Performance Schema Instrumentation Improved Database Profiling/Application Tuning• Statements/Stages • 那些查詢最耗資源 ? 它們的時間都花在那裡 ?• Table/Index I/O, Table Locks • 那些應用系統的表/索引造成最多的負荷或衝突 ?• Users/Hosts/Accounts • 那些應用系統的使用者,主機,帳戶花最多的資源 ?• Network I/O • 網路的負荷如何 ? 各連線閑置的時間為何 ?• Summaries • 依線程,使用者,帳戶或物件總合統計 16
  • MySQL 5.6.5 – InnoDB 的改善• 更好的效能,擴展力• Improved performance on multi-core/CPU servers• Improved thread scheduling• Reduced contention during file extension• Deadlock detection now non-recursive• Improve LRU flushing• Increase max redo log size• Separate tablespaces for undo log• Fast checksum• 更好的叵復能力• Dump and restore buffer pool• 更好的工具• Full-text Search• Variable page sizes – 4k, 8k• Larger limit of index key prefixes (3072 bytes) 17
  • MySQL 5.6.5 – 複製的改善• 高可用及固障移轉 • Global Transaction Ids • Replication Administration and Fail-over Utilities• 更好的 Data Integrity • Crash-Safe Slaves, Replication Checksums, Crash-Safe Binlog• 更好的效能,擴展力 • Multi-threaded slaves • Reduced Binlog size for RBR• 更多的彈性 • Time-delayed replication• 更容易做 troubleshooting • Row-based repl. logging of original query• 強化監看/管理 18
  • MySQL 5.6.5 複製 = 19
  • MySQL 5.6.5 - Global Transaction Ids• 是可靠的,自動固障移轉和回復的基礎 • Unique identifier for each replication event written to the Binlog• 簡易的追踪和比對跨叢集間的複製• 自動辨識最新的 slave 作固障移轉• 佈署複雜的複製架構• 移除開發/操作的負荷 Master GTID=123456 GTID=123456 GTID=123456 GTID=123456 20
  • MySQL Utilities• 將開發 / 操作常見的工作自動化 • 複製 : 開通 , 測試 , 監控和固障移轉 • 資料庫比對 : 一致性檢查 • 資料庫管理 : 使用者 , 連線 , 表 , 等 • 用於開發的新工具 , 例如 log 分析• 以 Python scripts 開發 , 在 MySQL Workbench 下執行 • Extensible to include custom scripting• 資源 : Documentation & Community Forum • http://dev.mysql.com/doc/workbench/en/mysql-utils-man.html • http://forums.mysql.com/list.php?155 21
  • Utility Workflow for Replication Fail-OverCheck Repl Show & Admin• Check: 確認複製的先決條件• Repl: 開始複製到新的 Slave server• Show: 顯示複製的架構• Fail-Over & Admin: 偵測及 Master server 固障移轉 ( 或切 換 ) 到 Slave server. 狀況監看 22
  • Fail- 複製固障移轉工具 Over • 自動固障移轉和 Slave server 升級 • 持續監看和回報健康狀況 • 預設是將 GTID 狀況更新到最新的 Slave server 升級Master • Slave server 升級的政策是完全可以設定的 Auto-Failover & Failover Slave Promotion Utility Monitoring • 決不會錯失複製事件 • 被挑出的 Slave server 自動從後一個 Slave server 取得更新 Slaves 23
  • 複製管理工具 Admin • 進行切換以消除計劃中的維護之停機 時間 • 開啟和停止從 Slave ServerMaster Status & Administration Switchover Utility • Slave server 的回復和監看 • 從服務器的狀況,線程的狀況 • 複製處理,包括是否有任何時間差 • 設定從服務器升級政策 Slaves 24
  • MySQL 5.6.5 – 其他方面的改善• TIME/TIMESTAMP/DATETIME – 小於一秒的精準度• Ipv6 improvements• Support Unicode for Windows command client• Import/export tables to/from partitioned tables• Explicit partition selection• GIS/MyISAM: Precise spatial operations Get it now! dev.mysql.com/downloads/mysql/ 25
  • MySQL Database - Under Development Early Access Features• 複製 • Binlog Group Commit • Binlog API• InnoDB • Memcached API 取用 InnoDB 的資料 • 線上作業 (INDEX add, FK drop, Column rename) • SSD/Flash 最佳化• 還有更多 ... Try it now! labs.mysql.com labs.mysql.com/ 26
  • MySQL Database – Key-value access for InnoDB NotOnlySQL: Memcached API • 快速,簡單取用 InnoDB Application • 透過 Memcached API 取用 SQL • 使用現有 Memcached clients NoSQL(MySQL Client) (Memcached • 繞過 SQL 的轉換 Protocol) • NotOnlySQL 取用 mysqld • 對 key-value 的操作 MySQL Server Memcached plugin • SQL 用於複雜的查詢 , JOINs, FKs, etc. InnoDB Storage Engine • 實施 • Memcached daemon plug-in 到 mysqld • Memcached 協定對映到自生的 Try it now! InnoDB API • 共用處理空間使延遲非常低 labs.mysql.com 27
  • 28 <Insert Picture Here> Discussion. CONFIDENTIAL – ORACLE HIGHLY RESTRICTED