25
InnoDB Enhancements and Roadmap MySQL Sunday Track at Oracle OpenWorld September 19, 2010 Calvin Sun, Oracle/InnoDB Saturday, 11 September 2010

InnoDB Enhancements and Roadmap - MySQL€¦ · InnoDB 1.1 Enhancements Multiple buffer pool instances Multiple rollback segments Performance schema for InnoDB Improved purge scheduling

  • Upload
    others

  • View
    35

  • Download
    0

Embed Size (px)

Citation preview

Page 1: InnoDB Enhancements and Roadmap - MySQL€¦ · InnoDB 1.1 Enhancements Multiple buffer pool instances Multiple rollback segments Performance schema for InnoDB Improved purge scheduling

InnoDB Enhancements and RoadmapMySQL Sunday Track at Oracle OpenWorldSeptember 19, 2010

Calvin Sun, Oracle/InnoDB

Saturday, 11 September 2010

Page 2: InnoDB Enhancements and Roadmap - MySQL€¦ · InnoDB 1.1 Enhancements Multiple buffer pool instances Multiple rollback segments Performance schema for InnoDB Improved purge scheduling

© 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

Page 3: InnoDB Enhancements and Roadmap - MySQL€¦ · InnoDB 1.1 Enhancements Multiple buffer pool instances Multiple rollback segments Performance schema for InnoDB Improved purge scheduling

© 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

Page 4: InnoDB Enhancements and Roadmap - MySQL€¦ · InnoDB 1.1 Enhancements Multiple buffer pool instances Multiple rollback segments Performance schema for InnoDB Improved purge scheduling

© 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

Page 5: InnoDB Enhancements and Roadmap - MySQL€¦ · InnoDB 1.1 Enhancements Multiple buffer pool instances Multiple rollback segments Performance schema for InnoDB Improved purge scheduling

© 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

Page 6: InnoDB Enhancements and Roadmap - MySQL€¦ · InnoDB 1.1 Enhancements Multiple buffer pool instances Multiple rollback segments Performance schema for InnoDB Improved purge scheduling

© 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

Page 7: InnoDB Enhancements and Roadmap - MySQL€¦ · InnoDB 1.1 Enhancements Multiple buffer pool instances Multiple rollback segments Performance schema for InnoDB Improved purge scheduling

© 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

Page 8: InnoDB Enhancements and Roadmap - MySQL€¦ · InnoDB 1.1 Enhancements Multiple buffer pool instances Multiple rollback segments Performance schema for InnoDB Improved purge scheduling

© 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

Page 9: InnoDB Enhancements and Roadmap - MySQL€¦ · InnoDB 1.1 Enhancements Multiple buffer pool instances Multiple rollback segments Performance schema for InnoDB Improved purge scheduling

© 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

Page 10: InnoDB Enhancements and Roadmap - MySQL€¦ · InnoDB 1.1 Enhancements Multiple buffer pool instances Multiple rollback segments Performance schema for InnoDB Improved purge scheduling

© 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

Page 11: InnoDB Enhancements and Roadmap - MySQL€¦ · InnoDB 1.1 Enhancements Multiple buffer pool instances Multiple rollback segments Performance schema for InnoDB Improved purge scheduling

© 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

Page 12: InnoDB Enhancements and Roadmap - MySQL€¦ · InnoDB 1.1 Enhancements Multiple buffer pool instances Multiple rollback segments Performance schema for InnoDB Improved purge scheduling

© 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

Page 13: InnoDB Enhancements and Roadmap - MySQL€¦ · InnoDB 1.1 Enhancements Multiple buffer pool instances Multiple rollback segments Performance schema for InnoDB Improved purge scheduling

© 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

Page 14: InnoDB Enhancements and Roadmap - MySQL€¦ · InnoDB 1.1 Enhancements Multiple buffer pool instances Multiple rollback segments Performance schema for InnoDB Improved purge scheduling

© 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

Page 15: InnoDB Enhancements and Roadmap - MySQL€¦ · InnoDB 1.1 Enhancements Multiple buffer pool instances Multiple rollback segments Performance schema for InnoDB Improved purge scheduling

© 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

Page 16: InnoDB Enhancements and Roadmap - MySQL€¦ · InnoDB 1.1 Enhancements Multiple buffer pool instances Multiple rollback segments Performance schema for InnoDB Improved purge scheduling

© 2010 Oracle Corporation 12

OLTP Read/Write Scalability (4->16 cores)

Saturday, 11 September 2010

Page 17: InnoDB Enhancements and Roadmap - MySQL€¦ · InnoDB 1.1 Enhancements Multiple buffer pool instances Multiple rollback segments Performance schema for InnoDB Improved purge scheduling

© 2010 Oracle Corporation 13

OLTP Read-Only Scalability (4->16 cores)

Saturday, 11 September 2010

Page 18: InnoDB Enhancements and Roadmap - MySQL€¦ · InnoDB 1.1 Enhancements Multiple buffer pool instances Multiple rollback segments Performance schema for InnoDB Improved purge scheduling

© 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

Page 19: InnoDB Enhancements and Roadmap - MySQL€¦ · InnoDB 1.1 Enhancements Multiple buffer pool instances Multiple rollback segments Performance schema for InnoDB Improved purge scheduling

© 2010 Oracle Corporation 15

InnoDB Roadmap

InnoDB Focus:• Performance and scalability• Online operations• Monitoring & diagnostics• Windows improvements

Saturday, 11 September 2010

Page 20: InnoDB Enhancements and Roadmap - MySQL€¦ · InnoDB 1.1 Enhancements Multiple buffer pool instances Multiple rollback segments Performance schema for InnoDB Improved purge scheduling

© 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

Page 21: InnoDB Enhancements and Roadmap - MySQL€¦ · InnoDB 1.1 Enhancements Multiple buffer pool instances Multiple rollback segments Performance schema for InnoDB Improved purge scheduling

© 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

Page 22: InnoDB Enhancements and Roadmap - MySQL€¦ · InnoDB 1.1 Enhancements Multiple buffer pool instances Multiple rollback segments Performance schema for InnoDB Improved purge scheduling

© 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

Page 23: InnoDB Enhancements and Roadmap - MySQL€¦ · InnoDB 1.1 Enhancements Multiple buffer pool instances Multiple rollback segments Performance schema for InnoDB Improved purge scheduling

© 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

Page 24: InnoDB Enhancements and Roadmap - MySQL€¦ · InnoDB 1.1 Enhancements Multiple buffer pool instances Multiple rollback segments Performance schema for InnoDB Improved purge scheduling

© 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

Page 25: InnoDB Enhancements and Roadmap - MySQL€¦ · InnoDB 1.1 Enhancements Multiple buffer pool instances Multiple rollback segments Performance schema for InnoDB Improved purge scheduling

© 2010 Oracle Corporation 21

Performance and Scalability Enhancements in MySQL 5.5

Thomas Anderson

Thanks for attending!

Saturday, 11 September 2010