This is Not a Web App: The Evolution of a MySQL Deployment at Google
summary
Google runs MySQL at Internet scale using a huge Google patch to 5.0.37 plus NDB and Percona ideas, achieving per-server software MTBF measured in centuries and stopping runaway QPS growth that looked like 2x/year. Engineering builds hermetic RPMs, samples ~10,000 real queries with a Python replayer, runs Valgrind and -Wall, and automated crash-safe slaves, mirror binlogs, checksums, semi-sync replication and global transaction IDs; most changes are tested with nightly crash-kill and data-drift (mk-table-checksum style) checks and generally work.
AI-written summary · about
chapters (25)
- 0:00Intro
- 1:06Mark Callaghan
- 4:41MySQL at Google
- 7:11It is all about change management
- 8:24Sharding
- 9:28Benefit from others
- 12:05History of our deployment
- 13:11What is an Enterprise DBMS?
- 15:08Problems we solve change over time
- 15:24How do we build this?
- 17:12How do we test this?
- 19:27How do we deploy this?
- 21:31How do we monitor this?
- 23:55How do we improve this?
- 25:59Replication features added
- 27:41Semi-sync replication
- 29:05Global transaction IDs
- 29:34Performance features added
- 31:37Manageability features added
- 34:41Row-change logging
- 35:42Online data drift
- 36:32More to life than software development
- 37:23Production crises
- 39:02Open problems
- 40:34Soap box
related talks
49mMySQL at Google
27mDistributed MySQL Architectures: Past, Present and Future
25mData in the Cloud
26mOperationalizing 19 years of infrastructure via MySQL-as-a-Service
39mZero-Downtime Rebalancing and Data Migration of a Mature Multi-Shard Platform
47mHigh Availability in GCE
06mScaling your applications with Cloud SQL for MySQL
35mMySQL HA, Recovery and Load Balancing
