~/talk

How we Migrated (...) Without Downtime using Elixir

TalkinSpanishat Code BEAM Lite A Coruña 2022 · on Saturday, 2022-06-11· [elixir-and-erlang, distributed-systems]
links:none on file
slides:none on file

An Elixir-based migration service that dual-writes new records to S3 and the legacy database, then uses a Broadway pipeline to read the old DB, track progress via persistent Redis offsets, apply a simple transform (remove leading underscore from id and drop the revision field), and write batched objects to S3. With up to 100 concurrent writers and tuned batch sizes they achieve ~450k writes/sec and migrated about 1 billion objects (~500M estimates + ~400M final fares) in ~two weeks with ~99.99% success and no downtime.

AI-written summary · about

  1. 0:00Introduction
  2. 1:27Cabify’s business and tech
  3. 3:54Elixir in pricing
  4. 8:17Legacy data issues
  5. 10:04Migration to S3
  6. 11:29Elixir migration service
  7. 14:03Broadway for concurrency
  8. 16:56Pipeline architecture and perf
  9. 19:07Migration results and timeline
  10. 21:22Benefits of Elixir
  11. 25:23Q&A: Testing
  12. 28:46Q&A: Race conditions
  13. 29:13Q&A: Legacy shutdown
  14. 30:03Q&A: Migration timing
  15. 31:29Q&A: Reusability
  16. 34:46Q&A: Data storage
  17. 36:41Closing
~/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.