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. maskli+PK1
[view]
[source]
2023-04-27 05:38:22
>>Max-Ga+TP
TFA covers its issues? It’s specifically compares postgres’ to other implementations’ (oracle and mysql).
◧◩◪◨⬒⬓⬔
7. jabl+oO1
[view]
[source]
2023-04-27 06:13:43
>>maskli+PK1
Also the paper linked from TFA goes into the various implementation options in more detail:
https://db.cs.cmu.edu/papers/2017/p781-wu.pdf
[go to top]