MariaDB versus MySQL - Features - Source

Revision
10271
User
dbart
Date
2012-05-08 08:05
=== 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: * [[aria|Aria]] * [[xtradb|XtraDB]] (drop-in replacement for InnoDB) * [[pbxt|PBXT]] (In MariaDB 5.1, 5.2 and 5.3. Disabled in [[what-is-mariadb-55|5.5]]) * [[federatedx|FederatedX]] (drop-in replacement for Federated) * [[oqgraph|OQGRAPH]] <<style style="font-size:0.6em;color:green;">> //<<entity>>mdash<</entity>> new in 5.2//<</style>> * [[sphinxse|SphinxSE]] <<style style="font-size:0.6em;color:green;">> //<<entity>>mdash<</entity>> new in 5.2//<</style>> * [[mroonga|mroonga]] <<style style="font-size:0.6em;color:green;">> //<<entity>>mdash<</entity>> new in 5.3//<</style>> * [[http://dev.mysql.com/doc/refman/5.1/en/se-db2.html|IBMDB2I]]. Oracle removed this in MySQL 5.1.55 but we have kept the code in MariaDB. === Speed improvements * A lot of optimizer enhancements in [[what-is-mariadb-53|MariaDB 5.3]]. Sub queries are now finally usable! You can find a benchmark [[http://blog.montyprogram.com/mariadb-5-3-optimizer-benchmark|here]]. * Faster and safer replication: [[group-commit-for-the-binary-log|Group commit for the binary log]]. This makes many setups that uses replication and lot's of updates [[http://www.facebook.com/note.php?note_id=10150211546215933|more than 2x times faster]]. * [[MariaDB 5.3 - Asynchronous I/O on Windows with InnoDB|Improvements]] for Innodb asynchronous IO subsystem on Windows. * There are some improvements to DBUG code to make its execution faster when debug is compiled in but not used. * [[checksum-table|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. * Our use of the Aria storage engine enables faster complex queries (queries which normally use disk-based temporary tables). The [[aria|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 <<entity>>amp<</entity>> new features We've added a lot of [[what-is-in-the-different-mariadb-releases|new features to MariaDB]]. If a patch or feature is useful, safe, and stable <<entity>>mdash<</entity>> we make every effort to include it in MariaDB. The most notable features are: * [[time_ms-column-in-information_schemaprocesslist|Microsecond Precision in Processlist]] * [[pool-of-threads|Pool of Threads in MariaDB 5.1]] and even better in [[thread-pool-in-mariadb-55|MariaDB 5.5]] * [[table-elimination|Table Elimination]] * [[virtual-columns|Virtual Columns]] <<style style="font-size:0.6em;color:green;">> //<<entity>>mdash<</entity>> new in 5.2//<</style>> * [[user-statistics|Extended User Statistics]] <<style style="font-size:0.6em;color:green;">> //<<entity>>mdash<</entity>> new in 5.2//<</style>> * [[segmented-key-cache|Segmented Key Cache]] <<style style="font-size:0.6em;color:green;">> //<<entity>>mdash<</entity>> new in 5.2//<</style>> * [[pluggable-authentication|Pluggable Authentication]] <<style style="font-size:0.6em;color:green;">> //<<entity>>mdash<</entity>> new in 5.2//<</style>> * [[extending-create-table|Storage-engine-specific CREATE TABLE]] <<style style="font-size:0.6em;color:green;">> //<<entity>>mdash<</entity>> new in 5.2//<</style>> * [[information_schemaplugins-table|Enhancements to INFORMATION SCHEMA.PLUGINS table]] <<style style="font-size:0.6em;color:green;">> //<<entity>>mdash<</entity>> new in 5.2//<</style>> * [[group-commit-for-the-binary-log|Group commit for the binary log]]. This makes [[http://www.facebook.com/note.php?note_id=10150261692455933|replication notable faster!]]<<style style="font-size:0.6em;color:green;">> //<<entity>>mdash<</entity>> new in 5.3//<</style>> * Added ##{{{--}}}rewrite-db## [[mysqlbinlog]] option to change the used database <<style style="font-size:0.6em;color:green;">> //<<entity>>mdash<</entity>> new in 5.2//<</style>> * [[progress-reporting|Progress reporting]] for ##[[alter-table|ALTER TABLE]]## and ##[[load-data-infile|LOAD DATA INFILE]]##. <<style style="font-size:0.6em;color:green;">> //<<entity>>mdash<</entity>> new in 5.3//<</style>> * Faster [[http://kb.askmonty.org/en/what-is-mariadb-53#query-optimizer|joins and subqueries]]. <<style style="font-size:0.6em;color:green;">> //<<entity>>mdash<</entity>> new in 5.3//<</style>> * [[handlersocket|HandlerSocket]] and faster [[HANDLER]] calls. <<style style="font-size:0.6em;color:green;">> //<<entity>>mdash<</entity>> new in 5.3//<</style>> * [[dynamic-columns|Dynamic Columns]] support. <<style style="font-size:0.6em;color:green;">> //<<entity>>mdash<</entity>> new in 5.3//<</style>> * [[microseconds-in-mariadb|Microseconds in MariaDB]] <<style style="font-size:0.6em;color:green;">> //<<entity>>mdash<</entity>> new in 5.3//<</style>> For a full list, please see [[what-is-in-the-different-mariadb-releases|features for each release]] === Better Testing * 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. === Related links See also [[mariadb-versus-mysql-compatibility | Compatiblity between MariaDB and MySQL]]