Barry Abrahamson, talks about WordPress.com technicals
You probably already know that WordPress itself is built on top of MySQL. And despite everything you might have heard about our (MySQL/Sun’s) new founders, WordPress is MySQL today, and for the foreseeable future. Anyway, I digress.
WordPress.com has about 70 million tables, and tens of thousands of blogs. Large amount of tables, serve for easy sharding – after all, its based on WordPress MU, which creates a table for each blog (read does it scale?).
WordPress.com has a few terabytes of data in MySQL, with over 350 instances. They’re all powered by Debian servers, with MySQL.com binaries.
Of interest to lots of folk, is WordPress stats (you get them with your own install, thanks to the Stats plugin). There is about 150GB of data for stats, that enter MySQL every month, and the data is queried multiple times a second. WordPress stats currently are based on a per day basis, but real soon now, you’ll see hourly stats. So you can even switch when your day ends, because chances are, you’re not based in GMT.
WordPress has about 90%+ reads, so the single master multiple slaves replication methodology works well for them. They’re moving to solid state drives, which is giving them more capacity to their current SAS solutions, since its all many tables, MyISAM, and it fits their workload model really well. Moving to SSDs is interesting – if you weren’t at the MySQL Conference, you should definitely catch the video from Andreas von Bechtolsheim, titled The Solid State Storage Revolution. Andy is a co-founder of Sun Microsystems.
Off camera, Barry also told me that they ran HP hardware, and he gave me the tale of how PollDaddy got a new heart – i.e. they moved from .NET/SQLServer to PHP/MySQL.
So, here, I can’t wait for hourly stats to come to WordPress. And I’m most interested in seeing what comes out from this (via Matt Mullenweg’s blog post):
There are some new developments in the WordPress world, namely that I think it would be possible to add support for databases other than MySQL without changing every $wpdb call or breaking any plugins or themes. It won’t be easy, but the coolest stuff seldom is.