More Storage Engines
In addition to the standard MyISAM, Blackhole, CSV, Memory, and Archive storage engines, the following are also included with MariaDB Source and Binary packages:
- XtraDB (drop-in replacement for InnoDB)
- PBXT (In MariaDB 5.1, 5.2 and 5.3. Disabled in 5.5)
- FederatedX (drop-in replacement for Federated)
- OQGRAPH — new in 5.2
- SphinxSE — new in 5.2
- IBMDB2I. Oracle removed this in MySQL 5.1.55 but we have kept the code in MariaDB until the version 5.5.
- A lot of optimizer enhancements in MariaDB 5.3. Sub queries are now finally usable! The complete list and a comparison with MySQL is here. You can find a benchmark here.
- Faster and safer replication: Group commit for the binary log. This makes many setups that uses replication and lot's of updates more than 2x times faster.
- Improvements for Innodb asynchronous IO subsystem on Windows.
- Index for MEMORY(HEAP) engine is faster. According to a simple test, 24 % faster on INSERT for integer index and 60 % faster for index on a CHAR(20) column.
- CHECKSUM TABLE is faster.
- We have eliminated/improved some not needed character set conversions. Overall speed improvements is 1-5 % (according to sql-bench) but can be higher for big results sets with all characters between 0x00-0x7f.
- Pool of Threads in MariaDB 5.1 and even better in MariaDB 5.5. This allows you to run MariaDB with 200,000+ connections and with a notable speed improvement when using many connections.
- There are some improvements to DBUG code to make its execution faster when debug is compiled in but not used.
- Our use of the Aria storage engine enables faster complex queries (queries which normally use disk-based temporary tables). The Aria storage engine is used for internal temporary tables, which should give you a speedup when doing complex selects. Aria is usually faster for temporary tables when compared to MyISAM because Aria caches row data in memory and normally doesn't have to write the temporary rows to disk.
- The test suite is extend and now runs much faster than before even though it tests more things.
Extensions & new features
We've added a lot of new features to MariaDB. If a patch or feature is useful, safe, and stable — we make every effort to include it in MariaDB. The most notable features are:
- Microsecond Precision in Processlist
- Table Elimination
- Virtual Columns — new in 5.2
- Extended User Statistics — new in 5.2
- Segmented Key Cache — new in 5.2
- Pluggable Authentication — new in 5.2
- Storage-engine-specific CREATE TABLE — new in 5.2
- Enhancements to INFORMATION SCHEMA.PLUGINS table — new in 5.2
- Group commit for the binary log. This makes replication notable faster! — new in 5.3
mysqlbinlog option to change the used database — new in 5.2
- Progress reporting for
LOAD DATA INFILE. — new in 5.3
- Faster joins and subqueries. — new in 5.3
- HandlerSocket and faster HANDLER calls. — new in 5.3
- Dynamic Columns support. — new in 5.3
- Microseconds in MariaDB — new in 5.3
For a full list, please see features for each release
- More tests in the test suite.
- Bugs in tests fixed.
- Test builds with different configure options to get better feature testing.
- Remove invalid tests. (e.g. Don't test feature ''X'' if that feature is not in the build you are testing.)
Fewer warnings and bugs
- Bugs are bad. Fix as many bugs as possible and try to not introduce new ones.
- Compiler warnings are also bad. Eliminate as many compiler warnings as possible.