~/talk

Lessons Learned from Our Main Database Migrations at Facebook

Talkat SREcon18 Asia/Australia · 2018-06-06..06-08· [databases]
links:none on file
slides:none on file

Facebook builds MyRocks, a MySQL storage engine on RocksDB, and migrates the UDB from compressed InnoDB to MyRocks, cutting storage roughly 50% space reduction and halving server count. Migration uses logical dumps, a fast bulk loader that bypasses WAL/memtables, online physical copies for instant replicas, and audit-replay to verify masters. Production issues include commit stalls tied to buffered I/O and kernel versions, secondary-index deletion corruption, slow empty-table range scans, and huge core dumps from allocator virtual memory.

AI-written summary · about

  1. 0:00Intro
  2. 1:51MySQL at Facebook
  3. 4:11User Database (UDB) at Facebook
  4. 7:59What is My Rocks
  5. 10:09MyRocks Initial Goal at Facebook
  6. 12:17MyRocks features
  7. 15:07MyRocks cons vs InnoDB
  8. 18:22MyRocks migration - Technical Challenges
  9. 20:32Creating first MyRocks Instance without downtime
  10. 21:37Faster Data Loading
  11. 23:59Creating second MyRocks instance without downtime
  12. 24:43Shadow traffic tests
  13. 26:01Promoting MyRocks as a master
  14. 27:00InnoDB vs My Rocks, from SRE point of view
  15. 29:48Case a Stalls on COMMIT
  16. 31:13Hitting stalls on memory allocation
  17. 32:22Mitigating stalls
  18. 33:04Transition to Direct I/O
  19. 34:35A few deleted rows re-appeared
  20. 36:16Easy way to check index consistencies
  21. 38:29Scanning outbound delete-markers
  22. 39:00Reproducing
  23. 41:26Writing core files crashed servers
  24. 41:51Investigating logs
  25. 43:19Large virtual memory
  26. 43:58Workarounds
  27. 44:47Lessons Learned
  28. 46:15Our current production status
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.