MariaDB, Monty Widenius’s fork of MySQL (which Widenius also created but which is now under Oracle’s control), has a new capability: it supports Fusion-io’s “atomic writes” function. And that addition might make MariaDB more attractive to enterprise users, at least in the short-to-medium term.
Flash storage outfit Fusion-io, which makes pretty high-end gear, introduced atomic writes a couple of years back. Relational databases like MySQL are often used for their reliability and MySQL’s storage engine, InnoDB, effectively writes data to the drive twice in order to make sure the write takes properly.
Atomic writes makes it possible for MySQL or its variants to write once while still ensuring redundancy – this leads to higher performance and, as flash storage can only take a limited number of writes, longer hardware lifespan too.
However, although Fusion-io released an atomic writes extension for MySQL in October 2011, Oracle never built the capability into MySQL. MariaDB, meanwhile, saw an opportunity to optimize InnoDB and XtraDB (Percona’s take on InnoDB) for atomic writes and, following a public benchmarking in May, the feature is now ready for prime time.
As Rasmus Johansson, VP of engineering at MySQL and MariaDB services company SkySQL, told me:
“We have made use of this new functionality that Fusion-io created on their side and reworked the way MariaDB writes to Fusion-io drives. It will detect if there is a Fusion-io drive and then make use of a specific configuration to enable all this. The result is that you will get a performance gain because you only write once from the application to the drive.
“From our own initial benchmarking, out of the box you get a 30 percent [performance] gain. With some tuning you come up to 50 percent. Also, when you take away one of the writes, over time you will double the life of the device.”
Fusion-io relies quite heavily on webscale clients like Facebook and Apple and, as my colleague Jordan Novet has explained, the flash storage company is also pushing hard into the enterprise. According to Johansson, MariaDB’s support for atomic writes should help it in both these segments, particularly among enterprises that are willing to invest big-time in hardware for their business-critical systems.
“Many of Fusion-io’s biggest customers run MySQL and MariaDB being close to MySQL makes it an easy switch for the customer and influences Oracle to create the same functionality in MySQL,” Johansson argued.
Of course, if Oracle does enhance MySQL in this way then MariaDB loses that aspect of its edge. And then there’s the issue – for both MariaDB and Fusion-io – of atomic writes currently being up for standardization, a move that could dilute one of Fusion-io’s advantages over its much cheaper rivals. But even if those things come to pass, MariaDB and Fusio-io users can clearly get ahead of the pack today.