Published 11 February 2014
Switching Database Management Systems (DBMS) can be a challenge. Even with the best intentions you have compatibility concerns, data durability and performance to consider. At Web Drive we've just made the decision to move our back-end infrastructure to MariaDB after many years with MySQL. In this post we take a look at some considerations in our decision and how they might be useful for you, if you're looking to select the perfect DB system for your web site or application.
As web developers we're faced with a plethora of choice when it comes to selecting a DBMS. We'll start by assuming you're free of corporate requirements and working in a LAMP Stack; and that you're familiar with MySQL.
The time had come for us to upgrade to MySQL5.6 but rather than follow the standard path we decided to look at all options in the interests of building best practice web applications.
Non-relational, e.g. NoSQL (Not only SQL) systems were initially considered. NoSQL makes use of non-relational collections (graph, object, tabular, key-value store etc), providing improved i/o time to return results and scalability over multiple locations. This makes NoSQL a good alternative when extremely large datasets are involved.
Like many web applications we need to store chronological, transactional data. The only option for us was to remain with a Relational database to ensure data integrity and eliminate duplicated and orphan records.
In comparing SQL and NoSQL Management Systems it wasn't a case of which was better, but which suited our needs.
Comparing DBMS might seem futile, but as they say, the devil is in the detail. The first point we considered was Operating System. We run our web apps on Linux servers, so it's obvious that for us our DBMS needed to be compatible. Next we ranked our concerns - primarily we needed a secure, highly available database that could scale if needed.
There are plenty of RDBMS options suited to almost every requirement - compatibility with plugins, multi-core support, high availability, parallel processing, XML support, Internet protocol or Java. There are a vast number of options many suited to specific requirements.
The two other factors in our decision to move to MariaDB were the level of support, and the development path. We'd noticed MariaDB had a robust and growing community supporting it and a public development plan that was moving in the right direction.
As a large part of our business is deploying and managing Linux servers, we have an obvious inclination towards supporting and utilising Open-Source software. Along these lines we took into account the philosophy of MariaDB which balances user and community with enhanced features and performance.
In the end the decision was relatively obvious. Fast, secure and with a focus on users, MariaDB didn't just meet our business needs, but fit with our business.