Hacker News·5 min read·hard

PostgreSQL's MVCC is bad. So is everyone else's

M
masklinn
PostgreSQL's MVCC is bad. So is everyone else's
AI Summary

The article examines the design trade-offs of PostgreSQL's Multi-Version Concurrency Control (MVCC) system, addressing common criticisms regarding table bloat and vacuuming. It argues that these issues are intentional design choices rather than defects, comparing them to alternative database architectures.

The first thing you will probably learn about Postgres, if you follow people who don't like Postgres, is that MVCC is bad. The 40-year-old design mistake. It's signatures are everywhere. Bloated tables that double in size, 32-bit transaction counter limit, the never ending struggle with VACCUM, dead tuples nightmares. It comes with credentials, too: Uber measured the write amplification in 2016 and left for MySQL over it; Andy Pavlo's database group called MVCC the part of PostgreSQL they hate the most . It's a real thing. Postgres is as bad as it gets.

Continue reading on Headlinne

Create a free account to read the full article.

Read full article →
technologybusiness

Get the full story

Sign up for Headlinne to unlock AI insights, political bias analysis, and your personalized news feed.

Create free account

Already have an account? Sign in