What are the problems and what can we do to fix them? From my perspective there are two problems:
- MySQL is not efficient on modern hardware (multicore, many disk IOPs)
- Replication is very expensive to manage
Replication requires much more work. I want more automation and more flexibility.
The lack of automation is apparent when you consider the replication related errors that require manual intervention. These errors are frequent or constant when you run a large number of MySQL servers. It is very expensive to support MySQL in this environment. Actions that must be automated include:
- the promotion of a slave to a master after the failure of the master
- failover of slaves to the new master
I have more ideas to improve replication but it isn't clear to me that I can afford the cost to modify the replication code in official MySQL. But then I looked at the code for Drizzle. Wow! The code is clean, easy to read and easy to modify. So I still have hope for MySQL-related technology in the datacenter, but in the form of Drizzle.