2011-07-26

MariaDB 5.3 released as beta

MariaDB 5.3 is now released as beta (feature freeze).

MariaDB 5.3 radically improves performance for subqueries as well as for joins and single-table queries over large data sets. MariaDB 5.3 is based on MySQL 5.1.

For a detailed description of MariaDB 5.3, see the What is MariaDB 5.3 page.

In most respects MariaDB will work exactly as MySQL: all commands, interfaces, libraries and APIs that exist in MySQL also exist in MariaDB.

A few highlights:

One of the major performance improvements in MariaDB 5.3.0 is that subqueries are finally usable in practice. It is no longer necessary to rewrite subqueries manually into joins or separate queries. The optimizer of MariaDB 5.3 will do this, and more automatically. EXPLAIN for derived tables and materialized views is instantaneous. Both derived tables and views can be optimized by indexes created on the fly.

MariaDB now supports many join optimizations, including utilizing the Block Nested Loop algorithm that can be used for outer joins, Classic Hash Join which can be used for equi-joins, and Batch Key Access joins are supported providing the benefits of ordered retrievals for primary and secondary keys provided by the new implementation of Multi-Range-Read (MRR) optimizations. MariaDB also features a new version of Index Condition Pushdown.

NoSQL is all the rage these days and MariaDB 5.3.0 ships with the HandlerSocket plugin and improved HANDLER commands. Dynamic columns allows you to have a different set of "virtual columns" for each row in your table. You can at any time add or remove columns from a row.

MariaDB 5.3 implements group commit which gives you a big speedup when using XtraDB with the binary log enabled and you have many concurrent running updates.

Microsoft Windows performance improvements from MySQL 5.5 have been backported, including benefits to the XtraDB storage engine. MariaDB 5.3 also uses the new Windows installer and includes the HediSQL GUI client for Windows.

There is also a lot of other "goodies", like progress reporting, checksum for binary logs, mytop, microsecond support in DATETIME, TIMESTAMP and TIME, more status variables etc. See What is MariaDB 5.3 for details.

When it comes to MariaDB 5.5 we have just finished the first big merge between MariaDB 5.3 and MySQL 5.5 and we are now working on merging the recent changes. This should be released shortly (you can follow the work on launchpad). We will continue to fix bugs in both version for some time! The reason we are releasing 5.3 and 5.5 is that we don't want to delay users the features in 5.3 while we work to merge and stabilize 5.5. (We don't expect any problems with 5.5 but as one never knows we want to play safe.).

Please test MariaDB 5.3 and report bugs to launchpad! The more input we can ge the quicker we can do stable (GA) release.

If you want to know more, visit the MariaDB booth at OSCON or come to the MariaDB BOF on Wednesday at 8.00 PM!