
The Backend Engineering Show with Hussein Nasser
Postgresql index bloat | The Backend Engineering Show
Nov 11, 2021
27:53
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