Two new transaction-capable MySQL backends
One of the differences between the free MySQL and other database systems is its concept of "storage engines". It allows the integration of back-ends that use different technologies for data storage and that sometimes offer different functionality. There are, for example, special engines for archiving and for cluster operation. Two new transaction-capable MySQL back-ends have now been released within a short period of time. XtraDB by Percona was released under a GPLv2 licence and is based on InnoDB. It provides more runtime information than InnoDB, such as data about memory use and about the use of locks. According to Percona, it is also said to offer a better I/O system that uses multiple read and write threads to improve data throughput. Existing InnoDB tables can still be used with XtraDB.
Also developed for MySQL 5.1, PBXT has seen it's first release candidate made available. It uses the API for dynamic storage engine integration that became available with MySQL 5.1. Its developers especially emphasise its "multi-version concurrency control", which reportedly allows read access without locks. In addition, this engine uses record locks designed to allow a maximum number of simultaneous accesses and immediately returns an error message in case of a deadlock.
Up till now, MySQL hasn't been very lucky with its transaction capable engines, the developers of the first two implementations, InnoDB and Berkeley DB, were taken over by Oracle in 2005 and 2006, although InnoDB continues as part of the MySQL distribution.
A year later, IBM bought Solid, another vendor that offered a free transaction engine for MySQL. In January 2007, MySQL presented a first alpha version of "Falcon", which was developed in house and is designed to add transactions to MySQL 6, independently of third party vendors. Its chief architect, however, left the company in mid 2008.