~/talk

Migrating Data Quickly and Safely

Talkat Dash 2019 · 2019-07-16..07-17· [databases, devops-and-delivery]
links:none on file
slides:none on file

Nextdoor deploys 10–15 times per day and solves long blocking DDLs by keeping Django migrations but adding safety checks that query Postgres’ information_schema and other catalog views to verify a column/index/trigger already exists before inserting the migration row. Developers run the generated SQL in staging and production (create column, backfill, then add constraint), merge, and automated checks either let Django mark the migration applied or page devtools on failure. Median read is ~900µs, alter table lock time ~25–30ms; system works for most cases but expensive ops like heavy backfills or long create index concurrently still require offline or scheduled windows.

AI-written summary · about

  1. 0:00Start
  2. 5:38Continuous Deployment
  3. 6:48Backwards Compatibility
  4. 10:54Lock Contention
  5. 24:31Safety Checks
  6. 25:41Safety Check
  7. 26:59Takeaways
~/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.