Global Transaction ID at Facebook

Replication and High Availability Strategies
4 April 12:50PM - 1:40PM @ Ballroom E

Experience level: 
50 minutes conference
Global Transaction ID (GTID) is one of the most compelling new features of MySQL 5.6. It is also one of the trickiest to deploy to an existing large-scale environment. This talk will cover every aspect of how and why we adopted GTID at Facebook, including: * Benefits and use-cases * Comparison of different GTID implementations * A failover technique to easily replay missing transactions on replicas * Combining GTID with semi-synchronous replication * Changes we made to Facebook's version of the MySQL Server to simplify deployment, fix crash-safety, improve slave reconnection performance, and more * Operational rollout and automation across many thousands of MySQL instances This session is geared towards DBAs and database engineers. Attendees will gain a full understanding of how GTID works, why it's beneficial, and how to deploy it at any scale.


Database Engineer, Consultant
Evan is an independent consultant and software developer, based in New York City. Previously he was a member of Facebook's MySQL team, where he deployed GTID to the world's largest MySQL fleet, and led development of the company's internal RDS-like database-as-a-service platform. Prior to Facebook, Evan was one of Tumblr's first engineers, where he led the Database Engineering team and scaled the site's MySQL backend. He is the creator of Jetpants, an open-source sharding and database management toolkit.
Software Engineer, Facebook
Santosh is a software engineer at Facebook working on improving MySQL. He improved multiple replication features like Global Transaction Identifiers, Multi-threaded slave and Semi-sync so they work at Facebook scale efficiently. Before joining Facebook, he graduated from Indian Institute of Technology.
Database Engineer, Facebook
Yoshinori is a database engineer at Facebook. Before joining Facebook, Yoshinori was a database and infrastructure architect at DeNA, living in Tokyo. Yoshinori's primary responsibility at DeNA is to make our database infrastructure more reliable, faster and more scalable. Before joining DeNA, Yoshinori worked at MySQL/Sun/Oracle as a lead consultant in APAC for four years. Yoshinori has written eight MySQL related technical books so far and has published technical articles about MySQL, Linux, and Java for a monthly database magazine since 2004.