Transaction Isolation in Postgres
Presented by:
Gwen Shapira
Gwen is a co-founder of Nile (thenile.dev) where she and her team are building Serverless Postgres for SaaS. She has 20+ years of experience working with code and customers to build reliable and scalable data architectures - most recently as the head of Cloud Native Kafka engineering org at Confluent. Gwen is a committer to Apache Kafka, author of “Kafka - the Definitive Guide” and "Hadoop Application Architectures". You can find her speaking at tech conferences or talking data at the SaaS Developer Community.
No video of the event yet, sorry!
Transactions are a key part to many modern databases, relational and non-relational systems alike. At a basic level, transactions allow us to treat a series of operations as a single unit. The reason transactions are so important is because they provide guarantees that developers can then use as assumptions when writing code. This means that there are entire set of concerns that you, the developer, don't need to worry about because the DB guarantees certain behaviors. This greatly simplifies the code and drastically improves its reliability.
What are these guarantees? You may already be familiar with the term ACID - atomicity, consistency, isolation and durability. From these sets of guarantees, “isolation” tends to be the most confusing, which is a shame because it is also the one where a deeper understanding directly translates to making better design decisions, and more secure SaaS.
I'm going to start by explaining what problem transaction isolation is even trying to solve. Then I'll explain the standard isolation levels as they appear in the SQL92 standard and are still mostly used today. Then we'll talk about the problems with SQL92 levels and how Postgres handles isolation and these problems today. This talk will illustrate isolation level problems and solutions with many SQL examples.
- Date:
- 2024 April 19 14:00 PDT
- Duration:
- 50 min
- Room:
- Santa Clara
- Conference:
- Postgres Conference 2024
- Language:
- English
- Track:
- Essentials
- Difficulty:
- Easy