Postgresql index bloat | The Backend Engineering Show

The Backend Engineering Show with Hussein Nasser

Episode | Podcast

Date: Thu, 11 Nov 2021 04:03:10 GMT

<p>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.</p> <p>0:00 Intro</p> <p>1:00 Postgres MVCC design</p> <p>6:42 MVCC on other databases</p> <p>11:15 Side-effects of Row-versioning</p> <p>17:00 Postgres HOT optimization</p> <p>19:50 How Index bloat affects Performance</p> <p>24:20 How Postgres 14 Addresses index bloat</p> <p>Cards:</p> <p>14:12 b-tree <a href="https://www.youtube.com/watch?v=a1Z40OC553Y">https://www.youtube.com/watch?v=a1Z40OC553Y</a></p> <p>Resources</p> <p><a href="https://www.postgresql.org/docs/14/btree-implementation.html#BTREE-DELETION">https://www.postgresql.org/docs/14/btree-implementation.html#BTREE-DELETION</a></p>