
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

273 Listeners

292 Listeners

624 Listeners

153 Listeners

585 Listeners

288 Listeners

214 Listeners

236 Listeners

983 Listeners

212 Listeners

62 Listeners

141 Listeners

505 Listeners

477 Listeners

60 Listeners