
Sign up to save your podcasts
Or


Postgresql database implements MVCC by creating a new row version for any update/delete/or insert. While this is a sound implementation to support concurrent transactions reading old version of the rows, it does have some side effects and this is what I want to discuss in this episode of the backend engineering show.
0:00 Intro
1:00 Postgres MVCC design
6:42 MVCC on other databases
11:15 Side-effects of Row-versioning
17:00 Postgres HOT optimization
19:50 How Index bloat affects Performance
24:20 How Postgres 14 Addresses index bloat
Cards:
14:12 b-tree https://www.youtube.com/watch?v=a1Z40OC553Y
Resources
https://www.postgresql.org/docs/14/btree-implementation.html#BTREE-DELETION
By Hussein Nasser4.9
4040 ratings
Postgresql database implements MVCC by creating a new row version for any update/delete/or insert. While this is a sound implementation to support concurrent transactions reading old version of the rows, it does have some side effects and this is what I want to discuss in this episode of the backend engineering show.
0:00 Intro
1:00 Postgres MVCC design
6:42 MVCC on other databases
11:15 Side-effects of Row-versioning
17:00 Postgres HOT optimization
19:50 How Index bloat affects Performance
24:20 How Postgres 14 Addresses index bloat
Cards:
14:12 b-tree https://www.youtube.com/watch?v=a1Z40OC553Y
Resources
https://www.postgresql.org/docs/14/btree-implementation.html#BTREE-DELETION

32,100 Listeners

275 Listeners

375 Listeners

12,237 Listeners

982 Listeners

8,051 Listeners

208 Listeners

1,645 Listeners

10,182 Listeners

576 Listeners

508 Listeners

5,530 Listeners

682 Listeners

1,489 Listeners

74 Listeners