Custom Development

Along Comes MariaDB

Mitch Goldstein

MySQL came into prominence as an open-source alternative to costly OracleDB and Microsoft SQL Server implementations, especially for applications that require global web scalability. It made its appearance in 1995 as a personal DBMS solution, designed to be a data management framework without built-in internal support for physical storage. It supported a number of underlying storage engines to actually perform the work of persisting relational data. The original engine was MyISAM, which was optimized for read operations and did not provide transactional support. Later, the InnoDB engine was integrated, which provided both SQL and XA transaction support.

Surprisingly, MySQL is at the heart of some of the enormous implementations in the high-volume social media space. Twitter, who boasts more than 400 million tweets per day, uses MySQL and its underlying InnoDB engine to store data on more than 1000 servers. LinkedIn, with more than 225 million members world-wide, uses MySQL as a primary database engine. PayPal, the global online e-commerce site, uses MySQL on 80,000 servers to store its payment activity. Even Facebook, with over one billion users worldwide, makes heavy use of MySQL on over 180,000 servers. Ticketmaster, eBay, and even Wikipedia all use MySQL as their primary back end relational data store. It is likely that the number of servers that are required to operate at this scale made the licensing costs an enormous factor in these decisions.

With the acquisition of MySQL by Sun and, consequently Sun by Oracle, MySQL no longer has the reputation of being an 'outsider' database. Despite its status as a GPL (GNU Public License) product, there continues to be concern by its user community that Oracle's intentions are not in the best interest of open source development. Some have accused Oracle of subsuming the popular product and slowly converting it to a closed-source, proprietary model.

Michael "Monty" Widenus, who sold MySQL to Sun for one billion dollars, was very critical of Oracle for their rigid control of a project that was advanced primarily from external contributions. Widenus' claim was Oracle had a strategy to force MySQL implementors into the proprietary world of OracleDB by restricting creativity and limiting support options. As a result, Widenus formed a the MariaDB Foundation and started a new product thread based on a 'fork' from an earlier version of MySQL.

MariaDB has focused on maintaining the original 'spirit' of MySQL while continuing to allow its developer community to integrate new storage engines and other features. One of the promising features is integration with the Cassandra engine, which was developed as a 'no-SQL' key-value store by Facebook and eventually released as a product under the Apache umbrella.

Google has already jumped on this bandwagon and has been aggressively moving from MySQL to the MariaDB platform. Red Hat Linux will ship version seven of its enterprise package with MariaDB installed instead of MySQL. This past April, Wikipedia also announced that it will have migrated its database infrastructure to MariaDB as well. These maneuvers by such large scale implementors will definitely be a game changer in the open-source database world.

MariaDB appears to have very similar performance characteristics to MySQL. Wikipedia, which processes some 50,000 queries per second, has reported excellent performance characteristics from the new SQL engine and is making plans to adapt some of the new features of MariaDB 10.

Although designed to be backward compatible with MySQL implementations, there is no guarantee that this compatibility will extend to the future. This means a switch from MySQL to MariaDB might be a one-way trip. With support options narrowing, this may prove to be a moot point for most small-scale users.

For commercial users, unless the functionality begins to dramatically diverge, both MySQL and MariaDB are excellent solutions and have virtually equivalent functionality. It appears that MariaDB may continue to open additional support for front-ending 'no-SQL' storage engines, which are continuing to gain popularity for low-latency, high-performance applications.

Mitch Goldstein
ABOUT THE AUTHOR

Senior Technical Consultant Mitch Goldstein is Summa's first Technical Agile Coach as well as a certified SAFe Program Consultant, combining centuries of technical experience and a great love for all things lean and agile. Mitch has been a featured speaker at technical conferences in the US and Europe as well as a published author and technical journalist. Try to imagine a polymath, but only up to the easy part of calculus. Dabbles in Freemasonry.