Inside Google’s Decision To Stop Using MySQL

The search giant is moving its terabytes of information to the open source MariaDB format for “ideological reasons,” according to one senior Google engineer. Here’s the backstory.

A week ago, news broke that Google will be switching database technologies. They’re moving from the industry standard in relational database management systems (DBMS), Oracle’s open-source MySQL, to MariaDB, a newer open source standard which is much quicker to adopt community fixes and improvements. For the lay Google user, nothing much will change. For the web community, Google’s big move might be a paradigm shift in the DBMS ecosystem.

First, the basics: A database is a repository for files, but relational SQL databases index all those files into a grid of context, assigning values (known as “keys”) to files that give them a particular address in a massive table of column-and-row organization. (Imagine a giant spreadsheet with shortcuts to certain cells.) The goal of relational DBs is to eliminate as much time as possible between a query--when the app asks the database for a piece of information--and the result, or the answer the server gives back. Every delay impedes workflow, which reduces efficiency, which (at Google’s huge scale) can significantly affect the bottom line. Hence the need for constant DBMS refinement.

The need to control these refinements was a main thrust of Google senior engineer Jeremy Cole’s announcement of the switch to MariaDB--if there was a problem, they could “get a fix made and out in days, not months.” He further elaborated that, while Oracle does good development, it ignores bugs, feedback, and communication from the community--in other words, it’s moving away from a true open source mentality. Brian Proffitt at ReadWrite suspects that part of the motivation may be “dish served cold” revenge for Oracle’s years of litigation against Google for using Java code in the Android platform (which Google won and Oracle appealed). An added bit of irony: MariaDB was founded by Michael “Monty” Widenius, who also built the original MySQL DBMS.

The history of database standards has Widenius’s name all over it. His first company, MySQL AB, was bought by Sun Microsystems in 2008, and in 2009, Widenius left to start MariaDB. One year later, Widenius unsuccessfully protested Sun’s acquisition by Oracle, citing concerns that Oracle would make MySQL closed source. Widenius’s return to MySQL, MariaDB, merged with SkySQL (made of ex-MySQL employees who left during the Oracle acquisition of Sun) back in April 2013. MariaDB is a forked development of MySQL, so the features of each new version of MySQL are integrated into MariaDB (though its current renumbering away from the MySQL system indicates that MariaDB is moving more in its own direction).

So why MariaDB, technically speaking?

Widenius’s fervent embrace of open source aligns with Google’s, but Google’s relationship with MariaDB goes back to the opening days of Android, when its launch in November 2007 was lauded by Sun CEO Jonathan Schwartz in a blog post (since taken down due to its heated use in the Oracle v. Google trial). Google and Sun entered discussions to license the Java Google used in its Android platform (and possibly partner to release the Java-specific parts of the Android code as open source), but never reached agreement; but when Oracle acquired Sun and similarly did not reach agreement with Google, it started the legal firestorm mentioned above.

Google currently uses a heavily modded version of Oracle’s MySQL 5.1 DBMS, while the latest is MySQL 5.6--in other words, it was time for Google to upgrade anyway. But ultimately, Google’s decision to go with MariaDB 10 (Oracle MySQL 5.6’s equivalent) is less about technical differences than ideology, as Google senior engineer Cole told the Register:

"From my perspective, they're more or less equivalent other than if you look at specific features and how they implement them," Cole said, speaking in a personal capacity and not on behalf of Google. "Ideologically there are lots of differences."

The move is total: All of Google’s thousand-plus MySQL servers are moving over to MariaDB, said SkySQL chief executive Patrik Sallner. And it’s been happening for a while: Google has been working with the MariaDB Foundation on migrating from MySQL to MariaDB since the beginning of the year, Sallner continued. Google put its weight behind MariaDB last month when it assigned an engineer to hang out at MariaDB, which retrospectively seems like a public salvo at Oracle.

If Google’s move to MariaDB is intended to dilute Oracle’s dominance of the DBMS field, it’s joining several developers who jumped the MySQL ship for MariaDB: Linux OS developer Red Hat seems to have switched over while Wikipedia is transitioning--again, not for technological advantage but to act in the best interests of the open source community. Even as Oracle retains its hold on the MySQL roadmap, the true open source alternative in MariaDB has won this ideological round.

[Image: Flickr user Carey Akin]