MySQL is one of the earliest database management systems. At one time, it was available by default with almost every website hosting provider. It was the de facto standard until Oracle Corporation bought Sun Microsystems, along with MySQL. This sale eventually led to the creation of MariaDB, a fork of MySQL.
In this article, we’ll go over the history of MySQL and MariaDB and see how they compare — MySQL vs. MariaDB — and the performance rationale why the Nexcess application stack is built using MariaDB.
How Oracle’s purchase led to MariaDB’s creation
Given that Oracle's main product is Oracle SQL, the MySQL community was apprehensive about its future after the sale. Although Oracle said it would continue to develop MySQL, the rapidly released version 5.5 didn’t eliminate any bugs.
Oracle also switched the database to an “open-core” model — selling addons alongside the open-source code — and reduced support options. As a result, some MySQL users looked for alternatives. And some developers decided to leave Oracle and pursue their own projects, taking the then-still free MySQL codebase.
One of those projects became MariaDB, which is identical to the original MySQL version at the protocol file format and SQL language level. This level of compatibility means any application built to run on MySQL should run on MariaDB without issue.
However, MariaDB is faster and offers some unique features. For example, the Sphinx storage engine (SphinxSE) is integrated into the server itself and doesn’t have to be installed separately. MariaDB also offers advanced backup and data management capabilities.
MySQL vs. MariaDB: Tech giants weigh in
In 2013, Red Hat Enterprise Linux switched to using MariaDB by default. The change came in part because of the difficulty in contributing certain patches and features to MySQL after the changes made by Oracle.
The same year, Google also announced that it was moving its database infrastructure to MariaDB. A Google engineer noted that although Oracle offers quality development work, it doesn’t offer enough public visibility.
MariaDB later partnered with Google to launch its Database-as-a-Service (DBaaS) SkySQL on the Google Cloud Platform. In 2022, Acronis announced a collaboration with MariaDB to offer advanced functionality and convenience for MariaDB users when setting up their backup repositories.
In addition, some newer packages of Linux use MariaDB instead of MySQL. And the tech community is very involved in MariaDB’s development. For instance, Alibaba and Wikipedia have submitted several patches to the code. Other big names that use MariaDB include Samsung and Nokia.
Comparison: MySQL vs. MariaDB performance
Now that you know a bit about the history of MySQL and MariaDB, let’s take a look at their performance.
Rundown of the data storage engines
Oracle acquired the InnoDB storage engine when it purchased Innobase in 2005. InnoDB is also available for use on MariaDB. MyISAM was the default data storage engine for MySQL until 2009. It’s still available to use in MySQL, and MariaDB uses some of its code.
MariaDB’s Aria storage engine is faster than MyISAM and InnoDB. It also recovers significantly faster than MyISAM after a server crash. MariaDB can also use Percona’s XtraDB, which is based on InnoDB code. However, it performs better than InnoDB, thanks to patches from Google and Percona.
Testing MySQL vs. MariaDB
The internet is full of tests conducted by enthusiasts and MariaDB.
To better understand why the optimizations performed in MariaDB are so good, we conducted several comparative tests on the Nexcess server. The mysqlslap utility was used in our tests:
#mysqlslap --auto-generate-sql --concurrency=$i --number-of-queries=$(($i*400)) --iterations=3
The $i variable changes from 10 to 200 in a loop while emulating the simultaneous operation of 10 to 200 clients, each making 400 database requests. Next, it measures the total test execution time.
Aria storage engine (MariaDB) vs. MyISAM storage engine (MySQL)
The graph below compares the performance of MySQL’s MyISAM storage engine vs. MariaDB’s Aria storage engine. The X axis shows the number of simultaneously working clients. The Y axis shows the time in seconds spent on the test:
MariaDB completed the test twice as fast as MySQL.
XtraDB storage engine (MariaDB) vs. InnoDB storage engine (MySQL)
The graph below compares MariaDB’s XtraDB storage engine vs. MySQL’s InnoDB storage engine:
The situation is similar here in that MariaDB won, but by a much more significant margin.
MariaDB performance tuning tools
Despite MariaDB’s advantages over MySQL, you’ll still want to optimize its performance to ensure fast and efficient operation. Thankfully, help is at hand. Many MariaDB performance tuning tools are available, and plenty of them work for MySQL, too.
MySQLTuner
This Perl-based performance tuner is a good choice for directly configuring MariaDB. However, if you’re just dipping your feet into using this relational database, you’ll like the succinct and clear suggestions for performance improvement.
Percona Toolkit
The Percona Toolkit comprises over 30 command-line tools. In particular, the tried-and-true pt-query-digest tool helps analyze queries in MariaDB and pinpoint the slowest ones.
MariaDB MaxScale
This performance tuner from MariaDB has various features, such as load balancing, ensuring an even distribution of resources.
MariaDB query cache
Depending on your database setup, enabling MariaDB’s query cache (it’s disabled by default) could give you serious performance optimization for SELECT query results that are repeated often.
Performance Schema
Performance Schema is another MariaDB tuning feature that’s disabled by default. Its primary goal is monitoring the performance of MariaDB servers. Although it appears as a storage engine, it doesn’t function exactly like one.
The Performance Schema's various tables give a good overview of specific performance problems, letting you quickly identify the root cause of any issue or issues.
WordPress: MySQL vs. MariaDB
If you’re already familiar with MySQL, you won’t have problems using MariaDB. They have the same syntax base, and it’ll only take a few days to ramp up on the minor differences.
For example, here’s the code for MySQL vs. MariaDB:
If you’re a beginner and need help deciding what to choose, feel free to start with MariaDB. The learning process will be the same, and the Nexcess Knowledge Base can help answer your questions.
Almost every WordPress hosting service uses MariaDB instead of MySQL in its application stack. This choice is because MariaDB offers faster performance, greater reliability, and functions that aren’t available in MySQL.
Taking advantage of MariaDB's superior performance for your WordPress website with help from Nexcess
When you choose fully managed WordPress hosting from Nexcess, you can focus on your business and let us sort the rest. As just one example documented here, we have a hosting infrastructure and technology stack with proven performance.
Hosting support that goes beyond other providers
We believe in a service that goes beyond; one that empowers users and provides stability. Make your web hosting experience simple with proactive site monitoring, security hardening, and a dedicated support team available 24/7/365.
Our technical support specialists will help you every step of the way, whether you have questions about improving your databases or complex technical problems requiring deep knowledge of WordPress. You can create a ticket, open a live chat, or give us a call.
Free migration from Nexcess guarantees a safe transition from any web host. Nexcess also offers pre-installed plugins, the latest updates, powerful server protection, and a free SSL certificate.
Contact Nexcess today to choose the hosting plan that’s right for you.