Data Warehousing and Analytics Platform
Lessons from Deploying MySQL GTID at Scale

Lessons from Deploying MySQL GTID at Scale

9/18/2014 · Evan Elias, Santosh Praneeth

What this post added

This post details the deployment of MySQL's Global Transaction ID (GTID) feature across Facebook's production MySQL instances. It highlights the benefits of GTID for failover, point-in-time backup recovery, and hierarchical replication. The post outlines significant challenges encountered during deployment, particularly with existing high-availability strategies, and describes custom solutions developed in fb-mysql to overcome these. These include relaxing gtid_mode constraints during deployment, fixing bugs related to binary log scanning and crash-safety with less durable settings, and enabling multi-threaded secondary replication with relay_log_recovery. It also covers preparation steps like auditing applications for GTID-incompatible statements and developing helper scripts for statement skipping. The work done is planned to be open-sourced via WebScaleSQL.

Read the original post ↗