High-concurrency distributed snapshots
Wednesday, October 23 at 11:10–12:00
Room: Ilissos
PostgreSQL uses snapshots to determine which transaction can see which versions of updated rows, creating an abstraction of reading from an immutable database. This mechanism has been largely unmodified for almost 2 decades. In this talk I will do a deep dive into how snapshots work right now. What kinds of problems the current approach has, including problems with large concurrency, tracking sub-transactions, inconsistent commit order between primaries and replicas and phantom transactions with synchronous replication.
I will also outline a potential new hybrid design for snapshots that would solve or alleviate these issues and give an essential building block for making PostgreSQL a true distributed database.