I started using MySQL 11 years ago. That’s not too long compared to other people in the industry, but nonetheless here’s my perspective on the state of the MySQL industry after attending Percona Live MySQL Conference & Expo 2104.
In short, the attitude around MySQL has changed from “Does it work?” to “Is it fast and reliable?” to “How do we manage it?” To further generalize, these periods correspond roughly to the original MySQL AB team, Percona and Oracle, and the last period is the current period so key players are emerging, like WebScaleSQL.
Does it work?
Peter Zaitsev said in one of his keynote talks that MySQL used to be considered a toy. Today that assessment is wrong, or at least very difficult to defend. The proof is that nearly all of the largest and most successful web companies today use it (Facebook, Twitter, Google, Tumblr, Box, etc.), and myriad other web and traditional companies use it too. MySQL works, but it’s not a panacea and successful companies realize this. I’ll talk more about this at this later.
Is it fast and reliable?
The have been rough spots, like MySQL 5.0 and the MySQL-Sun-Oracle transition, but MySQL is past these. The history is, of course, more nuanced but generally speaking those rough spots gave rise to Percona. Fast and reliable has been at the heart of Percona Server even before it was Percona Server (i.e. when it was still a collection of patches). Other projects and companies were created during this time, but in my biased opinion Percona held the fort. When MySQL became an Oracle product, the collective MySQL conscience waited to see if they would kill or revive it. They have revived it. MySQL 5.6 is great, and 5.7 is looking good so far too. The work Percona did and still does combined with Oracle’s work has made MySQL a product you can bet the business on. In other words: MySQL won’t fail you. Moreover, the work at companies like Fusion-io proves that the state of the art apropos performance is alive and well, as highlighted by Nisha Talagala’s excellent keynote “The Evolution of MySQL in the All-Flash Datacenter.”
How do we manage it?
MySQL has become business. Let me put it another way that’s difficult to say because I consider myself a hacker but I think it’s true nonetheless (and I’ve heard others say it too): MySQL isn’t cool any more. “Cool” in the context of technology a weird euphemism for “new and unstable but useful and promising”. MySQL was all these in past years, but now it’s mature, proven to be stable and useful, and it has delivered on the promise of being a free, open-source RDBMS that’s stable and useful. As a business product, the concern is manageability: deploying, scaling, monitoring, maintaining, etc. These are not new concerns; the difference today is focus: in the past these mattered less because we still had core usability and performance issues, but today MySQL usability and performance are solved problems. Mark Callaghan’s PLMCE 2012 keynote was aptly titled: “What Comes Next?” In 2012 he saw that MySQL at core was stable, so he turned his attention to things around it which can be pain points, like migrating shards and row compression. In other words, his message was not “here’s what we still need to fix in MySQL”, it was “here’s what we need to manage MySQL sanely.” He reiterated this message in a recent blog post, “Modern databases“:
“We have much needed work on write-optimized database algorithms – Tokutek, LevelDB, RocksDB, HBase, Cassandra. We also get reports of amazing performance. I think there is too much focus on peak performance and not enough on predictable performance and manageability.”
In my humble opinion, this is the current state of the MySQL industry: learning, developing, and establishing how to manage MySQL. Although the new WebScaleSQL collaboration is focused prima facie on performance at scale, as Mark said in his blog post, “Predictable performance is part of manageability.” There are many other companies and projects for managing various aspects of MySQL, like ClusterControl for MySQL Galera by Severalnines and Propagator by Outbrain (both were are PLMCE this year).
Earlier I said “MySQL works, but it’s not a panacea and successful companies realize this.” Successful companies like Dyn (who presented this year) use MySQL and other technologies. It’s important to realize that MySQL is one part of a business. The other parts are Hadoop, Redis, memcached, etc. OpenStack and other cloud platforms are increasingly mentioned, too. Therefore, managing MySQL is only half the story. The other half is understanding MySQL’s place in and interaction with other business technologies.
In summary, for me Percona Live MySQL Conference & Expo 2014 highlighted how MySQL has become one castle in the kingdom whereas 10 years ago it was an outpost on the frontier. People no longer ask “is MySQL fast and reliable?” Instead they ask, “how can we manage 100 MySQL instances and a handful of other technologies with 2 full-time DBAs?” The MySQL industry will continue to add features and improve performance, but we have shifted from doing that in the service of making a stable product to making a manageable product.