zlacker

[return to "The part of Postgres we hate the most: Multi-version concurrency control"]
1. Ym9oYW+c4[view] [source] 2023-04-26 17:28:45
>>andren+(OP)
So why Postgres chooses the worst MVCC design compared to MySQL and Oracle? Is this because of legacy reasons or other factors?
◧◩
2. apavlo+w7[view] [source] 2023-04-26 17:42:58
>>Ym9oYW+c4
Legacy reasons. The idea was that you wouldn't need a WAL because the table itself is the log. And then you could support time-travel queries if you never cleaned up the expired tuples.
◧◩◪
3. riku_i+1u[view] [source] 2023-04-26 19:35:17
>>apavlo+w7
Is MVCC actually superior by some other considerations? Less lock contentions, transactional DML.
◧◩◪◨
4. maskli+sP[view] [source] 2023-04-26 21:18:27
>>riku_i+1u
The problem is not mvcc but postgres’ implementation details of it.
◧◩◪◨⬒
5. Max-Ga+TP[view] [source] 2023-04-26 21:20:42
>>maskli+sP
In what way? I didn't see anything obviously improper when I learned how serialization isolation worked.
◧◩◪◨⬒⬓
6. j16sdi+Jm1[view] [source] 2023-04-27 01:39:41
>>Max-Ga+TP
A delicated full vacuum process that need full locking, how little isolation between tables, etc

Lots of the pain point have been mitigated in the last ten years. It is now as simple as other comparable complex db can go (i.e. Not simple, but you can't find better product)

[go to top]