innodb enhancements and roadmap - mysql€¦ · innodb 1.1 enhancements multiple buffer pool...
TRANSCRIPT
InnoDB Enhancements and RoadmapMySQL Sunday Track at Oracle OpenWorldSeptember 19, 2010
Calvin Sun, Oracle/InnoDB
Saturday, 11 September 2010
© 2010 Oracle Corporation 2
Agenda
What is InnoDB? InnoDB Key Characteristics InnoDB 1.0 Enhancements InnoDB 1.1 Enhancements InnoDB Roadmap
Saturday, 11 September 2010
© 2010 Oracle Corporation 3
What is InnoDB? The most popular transactional storage engine for
MySQL Architected and written by Dr. Heikki Tuuri Based on sound database computer science,
industry best practices, and innovationo Modeled on Gray & Reuter’s “Transactions Processing:
Concepts & Techniques”o Also emulated the Oracle architectureo Added unique subsystems/features
• Doublewrite• Change buffering• Adaptive hash index
Many key features for performance and data integrity InnoDB 1.0 in MySQL 5.1, InnoDB 1.1 in MySQL 5.5
Saturday, 11 September 2010
© 2010 Oracle Corporation 4
InnoDB Key Characteristics
Row-level locking Multi-version concurrency control High performance CPU, memory and I/O
architecture Efficient indexing (covering indexes) Adaptive hash indexing Insert buffering
Saturday, 11 September 2010
© 2010 Oracle Corporation 4
InnoDB Key Characteristics
Row-level locking Multi-version concurrency control High performance CPU, memory and I/O
architecture Efficient indexing (covering indexes) Adaptive hash indexing Insert buffering
Fast
Saturday, 11 September 2010
© 2010 Oracle Corporation 5
InnoDB Key Characteristics
ACID-compliant transactions Two phase commit Automatic crash recovery Doublewrite buffer Referential integrity Online backup with MySQL Enterprise Backup Well written, well tested code
Saturday, 11 September 2010
© 2010 Oracle Corporation 5
InnoDB Key Characteristics
ACID-compliant transactions Two phase commit Automatic crash recovery Doublewrite buffer Referential integrity Online backup with MySQL Enterprise Backup Well written, well tested code
Reliable
Saturday, 11 September 2010
© 2010 Oracle Corporation 6
InnoDB Key Characteristics
Distributed by MySQL since 2001 Deployed by millions of users Wide use in large-scale enterprise customers
Saturday, 11 September 2010
© 2010 Oracle Corporation 6
InnoDB Key Characteristics
Distributed by MySQL since 2001 Deployed by millions of users Wide use in large-scale enterprise customers
Proven
Saturday, 11 September 2010
© 2010 Oracle Corporation 7
InnoDB 1.0 Enhancements
Performance and Scalability Enhancements• Faster locking for improved scalability• Multiple background I/O threads• Improvements to crash recovery performance• Group commit• Controlling master thread I/O rate• Controlling flushing rate of dirty pages• Changes in read ahead algorithm• Using a portable PAUSE to InnoDB spin loop• Making buffer cache scan resistant• Using operating system memory allocators
Saturday, 11 September 2010
© 2010 Oracle Corporation 8
InnoDB 1.0 Enhancements
Page compression Fast index creation Information schema tables Other changes for flexibility, easy of use
Saturday, 11 September 2010
© 2010 Oracle Corporation 9
InnoDB 1.1 Enhancements
Multiple buffer pool instances Multiple rollback segments Performance schema for InnoDB Improved purge scheduling Improved log sys mutex Separate flush list mutex Extended change buffering with delete
buffering and purge buffering Native async I/O support on Linux Windows performance improvement
Saturday, 11 September 2010
© 2010 Oracle Corporation 9
InnoDB 1.1 Enhancements
Multiple buffer pool instances Multiple rollback segments Performance schema for InnoDB Improved purge scheduling Improved log sys mutex Separate flush list mutex Extended change buffering with delete
buffering and purge buffering Native async I/O support on Linux Windows performance improvement
RC
Saturday, 11 September 2010
© 2010 Oracle Corporation 10
MySQL 5.5 / InnoDB 1.1 Benchmarkssysbench
MySQL 5.1.40(InnoDB builtin)
MySQL 5.1.40 (InnoDB 1.0.4)
MySQL 5.5.4 (InnoDB 1.1)
Intel Xeon X7460 x86_64 4 CPU x 6 Cores/CPU 2.66 GHz, 32GB RAM Fedora 10
Saturday, 11 September 2010
© 2010 Oracle Corporation 11
MySQL 5.5 / InnoDB 1.1 Benchmarks sysbench
Intel Xeon X7460 x86_64 4 CPU x 6 Cores/CPU 2.66 GHz, 32GB RAM Fedora 10
MySQL 5.1.40(InnoDB builtin)
MySQL 5.1.40 (InnoDB 1.0.4)
MySQL 5.5.4 (InnoDB 1.1)
Saturday, 11 September 2010
© 2010 Oracle Corporation 12
OLTP Read/Write Scalability (4->16 cores)
Saturday, 11 September 2010
© 2010 Oracle Corporation 13
OLTP Read-Only Scalability (4->16 cores)
Saturday, 11 September 2010
© 2010 Oracle Corporation 14
For DBT2, InnoDB 1.1 (MySQL 5.5.6-rc) has about 30% performance increase over InnoDB 1.0 (MySQL 5.1.50) for 100 connections.
InnoDB 1.0 (MySQL 5.1.50) has 57% performance gain over InnoDB builtin in MySQL 5.1.50 in the same case.
It also significantly reduces the # of kernel objects used by the InnoDB. With a 4GB innodb_buffer_pool: # of events: 1199518 --- before the fix # of events: 642 --- after the fix
Windows Performance Improvement
Saturday, 11 September 2010
© 2010 Oracle Corporation 15
InnoDB Roadmap
InnoDB Focus:• Performance and scalability• Online operations• Monitoring & diagnostics• Windows improvements
Saturday, 11 September 2010
© 2010 Oracle Corporation 16
InnoDB Roadmap
Performance and Scalability• Multi-threaded purge• Kernel mutex split (cont)• Make InnoDB mutexes green• Improved deadlock checking• Async flushing in master thread• Async redo application during recovery• Add a LRU list to the data directory
Saturday, 11 September 2010
© 2010 Oracle Corporation 17
InnoDB Roadmap
Performance and Scalability (cont)• page_hash patch with multiple buffer pools• Improvements on Windows • Optimized for SSD
Online DDLs• Online Add/Drop Index
Saturday, 11 September 2010
© 2010 Oracle Corporation 18
InnoDB Roadmap
Monitoring and Diagnostics• Metrics tables
• Additional information schema tables and performance statistics
Others• Persistent optimizer statistics• MRR/ICP support for InnoDB• InnoDB fulltext search
Saturday, 11 September 2010
© 2010 Oracle Corporation 19
The preceding 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.
Saturday, 11 September 2010
© 2010 Oracle Corporation 20
AQ&Q U E S T I O N S
A N S W E R S
Saturday, 11 September 2010
© 2010 Oracle Corporation 21
Performance and Scalability Enhancements in MySQL 5.5
Thomas Anderson
Thanks for attending!
Saturday, 11 September 2010