In a recent blog post about MongoDB, we discussed how non-relational database differ from relational databases like SQL and MySQL. The fact of the matter is, relational databases are widely used and still just as popular in the industrial automation space as ever. A popular alternative to SQL and MySQL is MariaDB which is an open source relational database.
This blog post (based on the article "What is MariaDB? A comparison with MySQL" by our partner company, inray Industriesoftware GmbH) discusses what MariaDB is, comparing it to MySQL so you can determine if MariaDB is a better database option for your company.
So let's first discuss what MariaDB is, since I'm sure there are at least a few of you who may have never heard of it.
How MariaDB and MySQL Started
MariaDB is an open-source, relational database that is closely related to MySQL. MariaDB started out as a spin-off of the MySQL project prior to MySQL being acquired and fully managed by Oracle in 2010. Due to that acquisition, Oracle holds the trademark rights for the name MySQL. As such, the spin-off project was renamed MariaDB.
Development Origins of MySQL and MariaDB
The MariaDB project was founded by Michael Widenius, who was also the chief developer and inventor of MySQL in 1994 and co-founder of the Swedish company MySQL AB. MySQL AB was acquired by SUN Microsystems in 2008 and then, as previously mentioned, by Oracle in 2010. As such, the further development and support of the open source idea at MySQL came to a standstill with this acquisition (i.e. MySQL was no longer open source). So Widenius turned away from MySQL and began to develop MariaDB, the second important relational database management system.
In December 2012, an independent software foundation, the MariaDB Foundation, was founded to ensure that MariaDB in the Community Edition remains available as open source and is promoted and further developed going forward. But MariaDB, like MySQL, also has an Enterprise Edition, which can be licensed separately and is then subject to a fee with support and further functionalities.
Compatibility Between MySQL and MariaDB
The database structures of MariaDB and MySQL are so similar, as a result of those shared origins and the same development team, that one can even speak of a 1:1 compatibility. Both databases use the same SQL syntax, which requires similar indexing. As such, it is relatively easy for companies to switch between the two databases. This is an absolutely unique feature compared to other database solutions.
How MariaDB and MySQL Differ
Despite the origins and similarities, there are certainly some key differences between MariaDB and MySQL to be discussed so that you can decide which database solution can be the right tool for your company.
MariaDB's Full Functionality is Still Open Source
The primary distinguishing factor between MySQL and MariaDB is the way the open source concept is interpreted. For example, the development and update cycles for the free open source community edition are significantly shorter for MariaDB than for MySQL. As a result, as it is with other software solutions, MariaDB releases are more responsive towards adding features and resolving issues.
MySQL does still offer a free open source community edition. However, if you need enterprise-level features, MySQL locks some of those features behind proprietary code. So for the full version of MySQL, companies must purchase an Enterprise Edition (i.e. the full functionality is NOT open source any longer).
MariaDB, on the other hand, offers all of its features in its open source package. Users do have the option to pay for support services or for cloud implementations (enterprise license), however a qualified team can certainly use the best and core features of MariaDB completely free of charge.
Apart from how these two products handle their open source code base, MySQL and MariaDB also have other notable differences.
Comparing Market Presence between MySQL and MariaDB
As I think we can all agree, MySQL is certainly the most recognizable name between the two database solutions. This is due to the much longer market presence of MySQL, which is one of MySQL’s biggest advantages.
Because it is one of the oldest popular database solutions (remember, it's been around since 1995), there is a wide range of community resources that developers and database administrators can use to find answers to problem questions and fix bugs. Even if users don’t pay for MySQL support services, MySQL is a database solution that many database administrators are already familiar with. So it can be easier to learn and implement if you already have a database team that is familiar with it.
MariaDB, on the other hand, while derived by a common ancestry with MySQL, its name is less recognizable due to its relatively short market presence. However, as pointed out previously, the similarities are such that it's not a great leap for those database administrators familiar with MySQL to make the conversion to MariaDB. So some of that prior familiarity can certainly still be leveraged by those considering MariaDB.
Comparing Performance between MySQL and MariaDB
The greatest factor and, therefore, the biggest advantage of MariaDB is its speed and performance. When it comes to performing queries or replication, MariaDB is faster than MySQL. So if you need a high-performance relational database solution, MariaDB is a good choice.
Additionally, MariaDB also easily supports a high concurrent number of connections without much performance loss. So if you have many data sources, this could be a deciding factor in choosing MariaDB over MySQL.
Comparing Pricing between MySQL and MariaDB
When it comes to pricing, it’s worth noting that it’s possible to use both MySQL and MariaDB for free by using their open source versions. But if you are looking for a bit more support or special implementations or features, both offer some additional services. MySQL offers an enterprise version of its product that includes complementary security features and 24/7 support.
Maria DB offers a paid enterprise edition as well as a cloud implementation of its database solutions on an hourly billing basis. This solution includes support, implementation as well as security features and custom branding.
All in all, it’s a tough call between Maria DB and MySQL, as both are extremely powerful relational database solutions that can be used for many similar use cases.
Summarizing Key Differences between MySQL and MariaDB
The following table summarizes the key distinguishing features.
If you need high performance and a variety of connectors from your database solution, then MariaDB is the solution you should prefer. A free tool can also be used to build enterprise-level databases, as you can access these enterprise features in the open source code.
MySQL may be the better choice if you need a wider range of support resources or if you already have a team of database administrators who are familiar with MySQL technology. But most professionals also need only a few minutes to get used to MariaDB before they can fully work efficiently with the database management system. Administration and operation are almost completely the same for both databases.
We hope this blog post has given you some insights into how MariaDB might be a good fit for your projects. If you're interested in how to log your process data to MariaDB or integrate data from MariaDB with your process, the OPC Router MySQL Plug-in can access the data in MariaDB in read and write modes and supports handling of the replication capabilities in MariaDB. For more details, click here. You can try OPC Router for logging/reading from MariaDB with the free trial available here.