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:
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