I am pleased to announce the availability of the MariaDB 5.2 feature preview release. Find the details and download links on the knowledgebase.
There has been quite good interest in the replication work I have been doing around MariaDB, and I wanted a way to make it easy for people to use, experiment with, and give feedback on the new features. The result is this replication feature preview release. This will all eventually make it into the next official release, however this is likely still some month off.
All the usual binary packages and source tarballs are available for download. As something new, I now also made apt-enabled repositories available for Debian and Ubuntu; this should greatly simplify installation on these .deb based distributions.
Here is the list of new features in the replication preview release:
Group commit for the binary log
This preview release implements group commit that works when using XtraDB with the binary log enabled. (In previous MariaDB releases, and all MySQL releases at the time of writing, group commit works in InnoDB/XtraDB when the binary log is disabled, but stops working when the binary log is enabled).
START TRANSACTION WITH CONSISTENT SNAPSHOT
START TRANSACTION WITH CONSISTENT SNAPSHOT now also works with the binary
log. This means that it is possible to obtain the binlog position
corresponding to a transactional snapshot of the database without any blocking
of other queries at all. This is used by
--master-data to do a fully non-blocking backup that can be used to provision
a new slave.
START TRANSACTION WITH CONSISTENT SNAPSHOT now also works consistently between
transactions involving more than one storage engine (currently XTraDB and PBXT
Annotation of row-based replication events with the original SQL statement
When using row-based replication, the binary log does not contain SQL statements, only discrete single-row insert/update/delete events. This can make it harder to read mysqlbinlog output and understand where in an application a given event may have originated, complicating analysis and debugging.
This feature adds an option to include the original SQL statement as a comment in the binary log (and shown in mysqlbinlog output) for row-based replication events.
Row-based replication for tables with no primary key
This feature can improve the performance of row-based replication on tables
that do not have a primary key (or other unique key), but that do have another
index that can help locate rows to update or delete. With this feature, index
cardinality information from
ANALYZE TABLE is considered when selecting the
index to use (before this feature is implemented, the first index was selected
Early release during prepare phase of XtraDB row locks
This feature adds an option to make XtraDB release the row locks for a
transaction earlier during the
COMMIT step when running with
--innodb-flush-log-at-trx-commit=1. This can improve throughput if the
workload has a bottleneck on hot-spot rows.
PBXT consistent commit ordering
This feature implements the new commit ordering storage engine API in
PBXT. With this feature, it is possible to use
START TRANSACTION WITH
CONSISTENT SNAPSHOT and get consistency among transactions that involve both
XtraDB and InnoDB. (Without this feature, there is no such consistency
guarantee. For example, even after running
START TRANSACTION WITH CONSISTENT
SNAPSHOT it was still possible for the InnoDB/XtraDB part of some transaction
T to be visible and the PBXT part of the same transaction T to not be visible.)
- Small change to make mysqlbinlog omit redundant
ROLLBACKevents when reading MySQL 5.0 binlogs.