~/talk

Distributed DDL Replication at Global Scale

Talkat PGConf.dev 2024 · 2024-05-28..05-31· [distributed-systems]
slides:none on file

Nile implements virtual tenant Postgres databases across multiple AWS regions and replicates DDLs by hooking an extension into the process utility hook, sending parsed and transformed statements to a Rust transaction coordinator over protobuf, and using Postgres prepared transactions (2PC) to commit. Locks are extracted from statement behavior and taken deterministically (including a user‑tag advisory lock workaround for objects that don’t exist). The system retries/fences on commit ambiguity and currently supports Postgres 13–17 while excluding functions and some partitioning features.

AI-written summary · about

  1. 0:00Introduction and speaker background
  2. 2:35Why distributed DDL was needed
  3. 6:13Virtual tenant databases explained
  4. 8:02How the solution works
  5. 13:57Handling transactions in distributed DDL
  6. 20:28Locking challenges and solutions
  7. 27:33Failure handling and eventual consistency
  8. 34:37Summary and future plans
  9. 36:04Q&A: Resolving prepared transactions
  10. 37:54Q&A: Online migrations in PostgreSQL
  11. 40:00Q&A: Retry behavior for failed nodes
  12. 41:23Q&A: Node recovery and consistency
  13. 42:28Q&A: Lost commit messages scenario
  14. 43:11Q&A: User access and virtual databases
  15. 44:16Q&A: Lock extraction and PostgreSQL updates
  16. 46:25Q&A: Unsupported DDL types
  17. 47:48Q&A: Transaction coordinator HA
~/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.