massive schema changes in facebook
play

Massive Schema Changes in Facebook Jesse Salomon, Junyi Lu - PowerPoint PPT Presentation

Massive Schema Changes in Facebook Jesse Salomon, Junyi Lu Software Engineer, Production Engineer Agenda How O Online Schema Change Online Schema Change Why Why not MySQL's native online DDL? - cannot cover all our use cases - no resource


  1. Automatic OSC User Interface AOSC Server ~/mysql-schemas $ ... ~ $ aosc allow xdb.food apple ... ~/mysql-schemas $ git diff CREATE TABLE `apple` ( ~ $ aosc cancel xdb.food apple `id` int(11) AUTO_INCREMENT, ... `name` varchar(32), `quantity` int(11), ~ $ aosc hold xdb.food apple + `color` enum('red','green'), ... PRIMARY KEY (`id`) ) ENGINE=RocksDB ~ $ aosc continue xdb.food apple ...

  2. Automatic OSC Global Coordination AOSC Server Finished Pending Current

  3. Automatic OSC Alter-Level Coordination Pending Current Finished

  4. Automatic OSC Alter-Level Coordination Pending Current Finished

  5. Automatic OSC Alter-Level Coordination Pending Current Finished

  6. Automatic OSC Alter-Level Coordination Pending Current Finished

  7. Automatic OSC Alter-Level Coordination Pending Current Finished

  8. Automatic OSC Alter-Level Coordination: Pending Pending

  9. Automatic OSC Alter-Level Coordination: Pending Pending ~/mysql-schemas $ git diff db2 > SHOW CREATE TABLE `apple`; db3 > SHOW CREATE TABLE `apple`; db1 > SHOW CREATE TABLE `apple`; CREATE TABLE `apple` ( CREATE TABLE `apple` ( CREATE TABLE `apple` ( CREATE TABLE `apple` ( `id` int(11) AUTO_INCREMENT, `id` int(11) AUTO_INCREMENT, `id` int(11) AUTO_INCREMENT, `id` int(11) AUTO_INCREMENT, `name` varchar(32), `name` varchar(32), `name` varchar(32), `name` varchar(32), `quantity` int(11), `quantity` int(11), `quantity` int(11), `quantity` int(11), + `color` enum('red','green'), PRIMARY KEY (`id`) `color` enum('red','green'), `color` enum('red','green'), PRIMARY KEY (`id`) ) ENGINE=RocksDB PRIMARY KEY (`id`) PRIMARY KEY (`id`) ) ENGINE=RocksDB ) ENGINE=RocksDB ) ENGINE=RocksDB

  10. Automatic OSC Alter-Level Coordination: Pending Pending

  11. Automatic OSC Alter-Level Coordination: Current Current

  12. Automatic OSC Alter-Level Coordination: Finished Finished

  13. Automatic OSC Alter-Level Coordination: Finished Pending Current Finished

  14. Automatic OSC Alter-Level Coordination: Finished Pending Current Finished

  15. Automatic OSC Alter-Level Coordination: Finished Pending Current Finished

  16. Automatic OSC Alter-Level Coordination: Finished Pending Current Finished

  17. Automatic OSC Alter-Level Coordination: Finished Pending Current Finished

  18. Automatic OSC Alter-Level Coordination: Finished Pending Current Finished

  19. Automatic OSC Alter-Level Coordination: Finished Finished

  20. Automatic OSC Alter-Level Coordination: Current Current

  21. Automatic OSC Alter-Level Coordination: Finished Finished

  22. Host-Level Coordination

  23. Automatic OSC Host-Level Coordination Current

  24. Automatic OSC Host-Level Coordination Current

  25. Automatic OSC Host-Level Coordination Current

  26. Automatic OSC Host-Level Coordination M R R R R

  27. Automatic OSC Host-Level Coordination M R R R R R R R

  28. Automatic OSC Host-Level Coordination M M R R R R R R R

  29. Automatic OSC Host-Level Coordination M M R R R R R R R

  30. Automatic OSC Host-Level Coordination Current

  31. Automatic OSC Host-Level Coordination Current

  32. Automatic OSC Host-Level Coordination Current

  33. Automatic OSC Host-Level Coordination Current

  34. Automatic OSC Host-Level Coordination Current

  35. Automatic OSC Host-Level Coordination Current

  36. Automatic OSC Host-Level Coordination Current

  37. Automatic OSC Host-Level Coordination Current

Recommend


More recommend