This talk will describe group commit for the binlog, which is implemented in MariaDB (finally fixing MySQL Bug #13669 properly).
Group commit greatly improves performance when sync_binlog=1 and innodb_flush_log_at_trx_commit=1, which is needed to ensure consistent recovery of replication state after a crash. It works by allowing commits in parallel transactions to share a single fsync() call, reducing the need for expensive flush-to-disk I/O.
The MariaDB implementation enhances the storage engine API to additionally allow different storage engines (and binlog) to maintain consistent commit order among each other, without expensive locks like the infamous InnoDB prepare_commit_mutex. This also enables improvements like fully non-blocking `mysqldump—single-transaction—master-data`; working START TRANSACTION WITH CONSISTENT SNAPSHOT; and a hot-backup-safe implementation of the Facebook patch to release InnoDB row locks during prepare.
For small, highly parallel transactions with moderate I/O capacity, the improvements can be dramatic, with syntetic benchmarks able to show more than an order of magnitude higher throughput, but most OLTP loads with multiple parallel transactions will see improvements.
The code is complete and available as a feature preview, and will be in MariaDB 5.3. For more background see this series of articles: http://kristiannielsen.livejournal.com/12810.html
Founder of MySQL AB. Original author & architect of the MySQL server. Founder and CEO of Monty Program Ab and creator of MariaDB. Founder of the Open Database Alliance.
Kristian Nielsen has been developing Free Software since around 1991. He joined MySQL AB in 2005 as a developer, where he wrote and maintained the Continuous Integration Test framework Pushbuild. Since 2009 he is working on MariaDB at Monty Program AB, where he is in charge of replication development, maintains the Continuous Integration Test framework based on Buildbot, and has worked on integrating various community projects into MariaDB, including XtraDB and PBXT.
For information on exhibition and sponsorship opportunities at the conference, contact Yvonne Romaine at firstname.lastname@example.org
For media partnerships, contact mediapartners@ oreilly.com
For media-related inquiries, contact Maureen Jennings at email@example.com
To stay abreast of conference news and to receive email notification when registration opens, please sign up for the O'Reilly MySQL Conference Bulletin (login required).
View a complete list of O'Reilly MySQL Conference Contacts