patternsqlMinor
Is MariaDB a suitable drop in replacement for MySQL on a standard LAMP stack?
Viewed 0 times
stacklampstandarddropmysqlforsuitablemariadbreplacement
Problem
I've been wondering lately what (if any) are the improvements available in MariaDB over 'conventional' MySQL?
I understand that where platform interoperability and/or backwards compatibility may be an issue then sticking with the tried and trusted MySQL is best. But for a stand-alone DB on a stand-alone web site/application are there any benefits to be had by using Maria?
Will Maria work with common web platforms such as WordPress, Drupal, Joomla etc.?
I expect that some of this is going to come down to choice/preference of storage engines, but to be honest I still don't know half the time if/when I should use MyISAM, InnoDB or any of the others! Which is better or faster or whatever?
The only thing I get is that if I want 'true' table relationships (i.e. foreign keys etc.) I use InnoDB.
Thanks for any help or clarity people can offer me.
I understand that where platform interoperability and/or backwards compatibility may be an issue then sticking with the tried and trusted MySQL is best. But for a stand-alone DB on a stand-alone web site/application are there any benefits to be had by using Maria?
Will Maria work with common web platforms such as WordPress, Drupal, Joomla etc.?
I expect that some of this is going to come down to choice/preference of storage engines, but to be honest I still don't know half the time if/when I should use MyISAM, InnoDB or any of the others! Which is better or faster or whatever?
The only thing I get is that if I want 'true' table relationships (i.e. foreign keys etc.) I use InnoDB.
Thanks for any help or clarity people can offer me.
Solution
One valid reason to move to another MySQL flavour is performance. The latest MariaDB versions 5.3 and 5.5 (which are drop in replacemants of MySQL 5.1 and 5.5 respectively) included major improvements in query optimization. You can read more on their site: What is MariaDB 5.3
Examples on improvements/features are "Index Condition Pushdown", "Cost-based choice of range vs. index_merge", "Subquery Materialization", "Subquery Cache" and new joins methods, like "Hash Join". Several of the features affect performance of (statements with) subqueries, derived tables and views.
Details can be found at the Optimizer Feature Comparison Matrix page.
Other additional features like microsecond support for time datatypes and improvements on the replication and binary logging.
The previous versions (5.1 and 5.2) also have some features that are not found in (mainstream) MySQL, like
Of course, any migration of your server from MySQL to MariaDB should be examined and tested by you as whether these features are useful in your databases/applications and whether the difference in performance (if any) is big enough for the troubles you may have (as with any migration).
Examples on improvements/features are "Index Condition Pushdown", "Cost-based choice of range vs. index_merge", "Subquery Materialization", "Subquery Cache" and new joins methods, like "Hash Join". Several of the features affect performance of (statements with) subqueries, derived tables and views.
Details can be found at the Optimizer Feature Comparison Matrix page.
Other additional features like microsecond support for time datatypes and improvements on the replication and binary logging.
The previous versions (5.1 and 5.2) also have some features that are not found in (mainstream) MySQL, like
[PERSISTENT] VIRTUAL columns.Of course, any migration of your server from MySQL to MariaDB should be examined and tested by you as whether these features are useful in your databases/applications and whether the difference in performance (if any) is big enough for the troubles you may have (as with any migration).
Context
StackExchange Database Administrators Q#21480, answer score: 7
Revisions (0)
No revisions yet.