Is MariaDB the Right MySQL Build for Your Enterprise?
Author: Charleste King | 4 min read | March 10, 2016
MySQL is open-source database server software. In 2008, MySQL was purchased by Sun Microsystems, which was later purchased by Oracle. When MySQL was purchased by Sun, the creators of MySQL started a new fork of community SQL, which became MariaDB.
MariaDB is community-developed and resolutely open-source. The software is used by Wikipedia, Facebook and Google, among others. It’s maintained by the MariaDB Foundation, set up by Monty Widenius, the creator of MySQL (named after his daughter, My) and MariaDB (named after his daughter, Maria).
There are many reasons to consider different forks of MySQL for your business, and upgrades to those forks. Datavail has just published a whitepaper examining different forks and builds of MySQL available today, comparing their advantages and drawbacks, and generating at-a-glance capability tables for matching MySQL builds to your needs. Let’s consider some of the advantages and drawbacks of MariaDB.
XtraDB Replaces InnoDB
MariaDB uses XtraDB as of the 10.0.9 version. Prior to this, MySQL InnoDB was standard. XtraDB is drop-in “performance enhanced fork” of the InnoDB storage engine. This is becoming the de facto standard in CentOS; however, it is difficult to migrate out of MariaDB — you can easily migrate to it, but can’t easily move from it.
Monty Widenius, MariaDB creator, told Dr. Dobb’s: “Increasingly our customers expect MariaDB products to not just compete with, but to exceed what they can get from rival database technologies.” (The comment is in relation to MariaDBs efforts at software-optimized database acceleration, enabled in partnership with Fusion-io.)
XtraDB features ACID-compliant design with advanced MVCC architecture. It offers greater scalability and tunability than InnoDB. “It’s designed to scale better on many cores, to use memory more efficiently, and to be more convenient and useful,” according to MariaDB’s developers.
MariaDB Galera Cluster
The MariaDB Galera Cluster uses Galera as the backend. It’s free and easy to implement. All nodes have the same data, which is good, but also can be a tick against using the product. It has the lion’s share of production instances for this type of cluster. On the downside, it does not offer a true write-scaling cluster.
“The integration of Galera Cluster directly into the MariaDB Server binary is designed to make it simpler to deploy the synchronous, multi-master database clustering software, which offers real replication, giving higher availability than that provided single instances or traditional failover,” says Toby Wolpe, senior reporter at ZDNet London. “It is used for applications that involve lots of updates to the database — for example, in online gaming. In the case of a failure, Galera manages the process of keeping the system up and online, even if parts of the database infrastructure go offline.”
Which MySQL Build Is Right for You?
You should become acquainted with the features of MariaDB, Percona, Galera, and Oracle builds of MySQL. Each one offers advantages and disadvantages based on the size of your databases, the operating systems used, the quantity of transactions expected, the security level the data requires, and other factors that favor one solution over another.
The Datavail website provides many resources for those new to MySQL as well as long-time users. We have several whitepapers exploring the architecture options for MySQL and primary benefits related to using MySQL, including how to optimize MySQL for high availability, how to configure it for scalability, and how to use MySQL performance analysis tools.
With nearly 500 database administrators worldwide, Datavail is the largest database services provider in North America. With 24×7 managed database services, including database design, architecture and staffing, Datavail can support your organization as it works with MySQL, regardless of the build you ultimately select. Contact Datavail to discuss a custom MySQL solution designed for your enterprise.