Wikipedia switches from MySQL to MariaDB
A blog post by project lead Asher Feldman has announced that the Wikimedia Foundation migrated the English and German language editions of Wikipedia, as well as Wikidata, from MySQL 5.1 to MariaDB 5.5 a few days ago.
For several years, Wikipedia has used a MySQL variant customised by Facebook instead of the original MySQL. Feldman says that while Wikipedia was happy with this variant's improvements over Oracle's code, MariaDB offers further useful features such as an improved query optimiser and Percona add-ons that, for example, provide the ability to save the buffer pool. This feature allows a newly started server to read the buffer straight away without wasting time with filling the pool first.
Apparently, the Wikipedia developers found incompatibilities in their own code as well as two bugs in MariaDB during pre-migration testing. "The MariaDB team was very responsive and quick to offer solutions", writes Feldman. Once the issues were solved and the new database performed adequately in benchmark conditions, the Wikipedia team tested MariaDB in production. Feldman noted that average response times were found to drop from 15.4ms to 12.7ms. "Many query types were 4-15% faster with MariaDB 5.5.30 under production load, a few were 5% slower", wrote the developer. Apparently, the Wikipedia English language site alone reaches a daily peak of about 50,000 queries/second.
Feldman added that MariaDB being free software was another important reason behind the decision to migrate: "As supporters of the free culture movement, the Wikimedia Foundation strongly prefers free software projects; that includes a preference for projects without bifurcated code bases between differently licensed free and enterprise editions." Oracle offers a community as well as an enterprise edition of MySQL, and the enterprise edition now includes various features that are missing in the free variant.
All Wikipedia sites are due to be migrated to MariaDB over the coming month. Feldman said that he doesn't consider MySQL 5.6, which was released in February 2013, to be a suitable alternative. According to the developer, MariaDB already offers many of its features, and the rest of the features are expected to arrive with MariaDB 10. Feldman added that MySQL 5.6 experienced performance and stability issues when it was first introduced so "waiting to adopt doesn’t seem to be a bad approach for a high trafficked site".