In the MySQL team, one of our focuses over the last few releases has been improving the usability of the MySQL Server for operations teams. The results can be seen in a number of areas:
- Our continued investment in Performance Schema. In MySQL 5.7 we added instrumentation for memory, transactions, prepared statements, meta data locks. In 8.0 we’ve so far added indexes and instrumentation of errors.
- The introduction of the SYS schema. SYS provides DBA-level aggregations of Performance Schema meta data, with a set of views, functions and procedures.
- Our continued quest to make server settings dynamic. In MySQL 5.7 we added dynamic buffer pool resizing, replication filters and online upgrades to GTID-based replication.
Our vision for improved operations includes how can we make it better for tooling? So at our recent MySQL Server Core Meeting in London we invited experts from the MySQL Community to share some of their operational pain points and feature requests.
Enter GitHub and Booking.com
In November we invited Shlomi Noach (from GitHub) and Simon Mudd (from Booking.com) to present on the challenges working in MySQL operations. We were particularly interested to hear their feature requests in how we could improve DDL for tools such as Gh-ost.
Shlomi presented his conference talk on Gh-ost (co-presented with Tom Krouper), and explained the motivation(s) that led to creating a new trigger-less tool to perform online DDL. In it, he explained that performance consistency is usually more important than the actual execution time of the operation, and that the riskiest part of a DDL operation is at the time of the switch over between the current table and the new table. Being able to throttle, and manually cut over a schema migration is important.
Shlomi has also written a followup blog post on his presentation to our team here.
On behalf of the MySQL Engineering team, I would like to say thank you to Simon & Shlomi. We value your operational expertise, and are looking forward to incorporating your feedback into making MySQL better!