MariaDB vs MySQL

Any software application that “stores” data in some way shape or form, needs a reliable and efficient way to do so. That’s where a database comes in!

MIDAS – our web based room booking and resource scheduling software – is no exception. Since 2012, for its database, MIDAS has supported MySQL. More recently we started supporting MariaDB too.

Last week we announced that we’d migrated all our cloud hosted customers to MariaDB.

In this post we thought we’d look a little bit closer as to the differences between MySQL and MariaDB.

MySQL What is MySQL?

MySQL is a database engine released under a GNU General Public License, and also available under a variety of proprietary licenses.

MySQL was originally owned and sponsored by the Swedish company MySQL AB, which was subsequently bought by Sun Microsystems, and which then went on to be ultimately acquired by Oracle Corporation.

In 2009, when it was announced that Oracle was to acquire Sun, the founder of MySQL wasn’t happy and so “forked” the MySQL project and created MariaDB… more on that later.

Today, MySQL is the second most popular database engine in the world.

Prominent users of MySQL include Facebook, Pinterest, Airbnb, Sony, BBC, Symantec, GitHub, and booking.com.

MariaDB What is MariaDB?

MariaDB is a community-developed fork of MySQL. One of its key attractions is that it is intended to always remain free under a GNU General Public License.

It was created by one of the founders of MySQL, who forked it due to concerns over MySQL’s acquisition by Oracle Corporation in 2009. The concerns centered around rumors that Oracle (who already developed a competing self-titled database product) wanted to kill off MySQL in order to let their own “Oracle” database thrive. In the end, that didn’t actually happen, but that fear was the initial main driving factor behind MariaDB initially.

MariaDB intended to maintain high compatibility with MySQL, ensuring it would be a “drop-in replacement” for MySQL. Whilst that’s still broadly true today, since its inception, the features of the two database engines have slowly diverged more.

MariaDB version numbers initially followed MySQL’s numbering scheme up to version 5.5. As such, MariaDB 5.5 for example offers all of the features that MySQL 5.5 offers.

Specific new features have since been developed in MariaDB, so its developers decided that a major version number change was necessary. MariaDB 10.0 was released in November 2012, whilst MySQL at that time remained at version 5.

New features are added more frequently to MariaDB than to MySQL. MariaDB development is also led by some of the original developers of MySQL, with many other contributors. MySQL on the other hand is now developed almost exclusively by Oracle’s own in-house team.

Prominent users of MariaDB include Google, Mozilla, and Wikipedia.

Popularity of MySQL vs MariaDB

Whilst today MySQL is still the second most popular database engine in the world, its popularity has been slowly declining over the years. At the same time, interest in MariaDB (currently the 11th most popular database) has been steadily increasing.

Global interest in MySQL since 2004
MySQL global interest since 2004 – Source: Google Trends
Global interest in MariaDB since 2004
MariaDB global interest since 2004 – Source: Google Trends

A brief history of database evolution in MIDAS

Our web based room booking and resource scheduling software, MIDAS, has been in active development for over 15 years now.

To help ensure maximum server compatibility, in the early days of our software, data was stored in simple CSV (Comma Separated Value) files.

In 2010, we migrated data storage from CSV to XML (Extensible Markup Language) files.

Two years later, in 2012 – and to coincide with the release of MIDAS v4 – we made the switch to a MySQL database.

MIDAS Database Evolution
MIDAS Database Evolution

Read more: MIDAS v4 – Why the database change?

Between 2012 to 2019 we continued to develop MIDAS exclusively using MySQL as its back-end database.

In 2019 we started receiving queries from a couple of customers asking if we’d consider supporting other database engines, as they weren’t big fans of MySQL.

By this time, MariaDB was gaining in popularity, and as it was billed as a “drop in replacement” for MySQL, it seemed a logical choice to explore.

In 2020, we released MIDAS v4.24, with preliminary and experimental support for MariaDB.

In our own development environment here at MIDAS HQ, we ran both MySQL and MariaDB in parallel during 2020. During this time, MySQL remained as the “preferred” database engine we use for development and testing of our software.

At the beginning of 2021, we made the decision to switch our “preferred” development database engine over to MariaDB. (We still continue to run MySQL, but this is mainly just for testing purposes these days).

Why we moved to MariaDB?

MariaDB has a number of advantages over MySQL, including:

  • MariaDB offers improved performance in many scenarios.
  • MariaDB is community-driven.
  • MariaDB has 268 contributors vs 83 contributors to MySQL *
  • MariaDB is in more active development (MariaDB has 193,330 code commits – the latest was today, MySQL has 163,534 – the latest was 3 months ago *).
  • MariaDB is gaining in popularity.

* correct at time of writing

All these factors led us to decide to migrate our development environment over to MariaDB in 2021.

In July 2021, we also seamlessly migrated our cloud-hosted customers over to MariaDB.

Should I use MySQL or MariaDB?

If you’re considering a self-hosted edition of MIDAS (remember that we also offer a cloud-hosted edition too!), our software currently supports both MySQL and MariaDB databases.

At the end of the day, it will come down to personal preference, but we like to give self-hosted customers a choice. So if you’re looking for a room booking system that’s compatible with either MySQL or MariaDB, choose MIDAS!


Domain Alias Addon

In our previous blog post, we introduced our new optional “Custom Branding” addon.

This allows you to re-brand (white label) a MIDAS booking system, removing any references to “MIDAS” and replacing them with your own name and logo.

The “Custom Branding” addon is available to both self-hosted and cloud-hosted customers.

Now, for cloud-hosted customers, if you want to remove references to “MIDAS” from your booking system, you’ll still have the “mid.as” reference in the actual URL for your MIDAS system (i.e. “example.mid.as”).

Our new companion “Domain Alias” addon solves this issue!

It allows you to setup access to cloud hosted MIDAS system via another domain instead. – for instance a sub-domain of your organization’s own website domain.

So for example, if your hosted MIDAS domain was “example.mid.as”, and your organization’s own domain was “example.com”, you could use the optional Domain Alias addon and set say “bookings.example.com” to use as the URL for your hosted MIDAS system instead.

Domain Alias Addon for MIDAS
Domain Alias Addon for MIDAS

Setting up a domain alias is a simple 3-step process:

  1. Enter the domain/sub-domain you wish to “alias” to your hosted MIDAS system.
  2. Make a small DNS change on your organization’s domain using the information provided in the addon
  3. Confirm that you’ve made your DNS change

Once your changes become active, you’ll be able to access your hosted MIDAS system via your chosen domain alias.

For more information about this optional addon for cloud-hosted customers, please visit: https://mid.as/domain-alias


Custom brand (white label) your booking system

We’re excited to announce our new “Custom Branding” addon for MIDAS room booking systems (v4.28+).

Our new optional “Custom Branding” addon can completely re-brand our software. This allows you to create a “white-label” software edition in which you can apply your own branding.

Visible traces of the word “MIDAS” can be removed, along with the MIDAS logo, links to the MIDAS website, and more. In their place, you can give the booking software your own bespoke name, logo, and icon.

A custom branded MIDAS login screen
A custom branded MIDAS login screen

An extensive range of customization options are available through the Custom Branding addon. These provide extended control over your booking system’s appearance:

The new Custom Branding addon also allows easy modification of any of the included “language packs” in MIDAS too. This means that you can completely customize all the wording and phrasing used throughout the software.

Moreover, the Custom Branding addon is available for both self-hosted and cloud-hosted editions of MIDAS.

For more information on this exciting addon, please see our new Custom Branding addon pages.

If you’re a cloud-hosted MIDAS customer, you may also be interested in our new “Domain Alias” addon. This addon compliments our “Custom Branding” addon. The Domain Alias addon allows you to make it appear that your hosted MIDAS system is in fact running on your own domain!


Web Calendar Improvements

A range of optional addons are available for our MIDAS room booking software.

One of our most popular addons is the “Web Calendars” addon.

This addon generates customizable monthly overview calendars of your room bookings, which can be seamlessly embedded directly into your own website to allow visitors to see what’s on.

Here’s an example of an embeddable Web Calendar using live data from our free online public demo:

Each calendar’s settings and appearance may be configured. You can, for instance, limit a Web Calendar to only show bookings from certain rooms, or that are of a certain booking type.

Since our Web Calendars addon first launched, we’ve had lots of positive feedback from customers. We’ve also had suggestions of how the Web Calendars addon could be improved to better meet specific needs.

Well, we’ve listened, and so for v1.38 of the Web Calendars addon (available for MIDAS v4.28+) we’ve added some exciting new features!

Web Calendar addon settings in MIDAS
Web Calendar addon settings in MIDAS

NEW: Embed single day Web Calendars

You can now embed a Web Calendar for a single day’s bookings into your website. Here’s an example of Web Calendar showing today’s bookings using live data from our public demo:

NEW: Allow visitors to book/request a date directly from a Web Calendar

One of the settings you can configure for each Web Calendar is what happens when someone clicks on a date or a booking. Until now, the only options available were:

  • Do Nothing
  • Show extended info for the selected date in a popup
  • Show extended info for the selected booking in a popup

Additionally, you can now also select:

  • Request this date
  • Book this date

If “Request this date” is selected and someone clicks on a date in a monthly Web Calendar, they’ll be taken to the Public Booking Request screen with their selected date pre-selected.

Similarly, for the “Book this date” option, the visitor will be taken to the Public Web Booking screen with their selected date pre-selected.

IMPROVED: Web Calendars can now be referenced by name

The Web Calendars addon can generate multiple embeddable calendars for you. To choose which calendar to embed, you’d previously have to pass its numeric reference number in a URL parameter.

We’ve now made this more user-friendly, by allowing Web Calendars to be referenced by name.

So for example, if you create a Web Calendar and name it “TestCal”, you can embed it by simply appending “?calendar=TestCal” to your Web Calendar URL.

IMPROVED: Setup/Breakdown times can now be included in Web Calendars

Setup/Breakdown periods were first introduced to MIDAS in v4.23. Until now, however, this information couldn’t be displayed on Web Calendars… well now it can! We’ve added support for additional placeholder “variables” in your Web Calendar templates to allow you to include setup and breakdown times or lengths!


Find out more about the new and improved Web Calendars addon for MIDAS at https://mid.as/web-calendars