If you were starting a new application tomorrow, which backend would you use? Chances are you said MySQL. However post Oracle acquisition MySQL has changed. After Oracle purchased the code they broke the hearts of many. And there is hope that MySQL has re-invented itself in the form of MariaDB
The M (MySQL) in the LAMP stack is generally not questioned. It works and is ubiquitous. But the lack of deep enterprise support from Oracle paired with anticipated license changes, and a their slow trickle of new functionality might open the doors for MariaDB to steal the M.
MariaDB: A Strong Contender
On July 15th, MariaDB announced significant changes to MariaDB Enterprise and their MaxScale product, which made me take a second look at what seems to be the transition from the active MySQL development days to post-Oracle acquisition in 2010.
The announcement included several tidbits that piqued my interest:
- Pre-built Docker containers with MariaDB instances. Docker containers in the public library are not usually something I consider a feature nor an announcement. In this case, however, I think they’re worth mentioning. One important thing to realize is that if a commercial entity publishes a tool, they have some responsibility to keep it up to date.
- Pre-built Chef recipes
- Azure Images in the Azure Marketplace
All of this means faster onboarding, which is great news, as onboarding is typically the worse part of making any changes to application components.
- Scalability. This is the biggest news from my point of view: the functionality around scalability, and the ability to launch scripts based on server state changes. Specifically the ability to launch scripts in particular is a huge time saver (and also a butt saver) for anyone in IT who cannot keep track of all the moving parts.
Although not yet a household name, MariaDB does have an impressive list of users that include many in the travel industry like Booking.com, along side Disney, and popular sites CraigsList and Wikipedia. Surprised? I was. Because MySQL still has the greatest share of the application backend voice.
SmartFile, a cloud-based application and on-premise appliance that helps businesses securely connect, manage, and share files, recently made the jump from a MySQL backend to MariaDB Open Source. “It was drop-in replace upgrade” says Ryan Johnston a Senior Software Engineer at SmartFile. “We turned off MySQL and pointed MariaDB to our existing database”. This fast upgrade meant little to no coding for his development team. The biggest technical benefits were instant performance improvement and the ability to easily measure. “MariaDB added great debugging functionality and analytics. We can see what queries are running the slowest. We could not do that with MySQL,” said Travis Cunningham, a Software Engineer at SmartFile. Now their team has ample possibilities for enhancement.
Another big factor in moving to MariaDB was that “we wanted the original authors to support the product going forward,” said Travis. A strong testament to not only the technical features, but the relationship with the community.
But MySQL is Alive
Between the MySQL community development and the contributions directly from Oracle, these improvements are not trivial – but they are for the most part surface and focus on management tools not the core engine.
I’ve seen this before in another technology space, for example, OCR. The core of the two primary OCR engines, ABBYY and Nuance, is locked in some deep dark cave never to be improved, but at the surface there is a lot going on. There also is a lot going on in the broader ecosystem, like Amazon AWS’s Aurora and RDS for MySQL.
SQL for GrownUps
MariaDB clearly shows greater potential for improving the core of the database engine. It could also unite the database with the broader development processes in an attempt to bring backend developers into the fold of the rest. This could finally bring the backend into DevOps processes.
However it becomes clear fast that you need their commercial tools to make this all happen. It is the commercial offering MaxScale, a database proxy, where everything seems to hinge, and the secret sauce is found.
MariaDB has shown credibility beyond their commercial endeavors. They have a strong commitment to stewarding the open source project. They have been giving back by implementing some of the functionality learned through professional services and large client deployments. And the community itself is active, including Google who added Data at Rest Encryption to release 10.1.3, a much needed feature in today’s security climate.
After Monty Widenius saw the looming acquisition and anticipated stagnation to come for MySQL, he jumped to action by first forming the “Save MySQL” movement, and then taking the risk of forming MariaDB Corporation ( formerly SkySQL ) . He not only resurrected his baby, he continued improvements at the core of a critical component to any application.
Because community for years was the primary driving force behind MySQL and it’s sheer ubiquitous it is unlikely that MariaDB will be the new “M”, or compete with the power of Open Source MySQL. But LAMP in modern development also is not what it used to be and not a complete picture of the common development stack, so it might be a mute issue.
When you compare what MariaDB is doing over Oracle commercial MySQL offerings, there are notable wins. They have a solid product that will do well with the grown ups of backends. But probably not the startups in san francisco or the one-off masses of developers.