Live data from Hacker News

The part of Postgres we hate the most: Multi-version concurrency control

ottertune.com

11–20 of 148 posts

Re: The part of Postgres we hate the most: Multi-version concurrency control

#11

Clever Clickbait - Of course at the end of the article they offer a solution - their product (and of course it’s AI enhanced) to the problem they have overhyped.

I've personally ran into the problems mentioned in the article many times, unsure it's "overhyped".

Re: The part of Postgres we hate the most: Multi-version concurrency control

#12
I must admit as a web practitioner since 1994 I have a bit of an issue with this:

> In the 2000s, the conventional wisdom selected MySQL because rising tech stars like Google and Facebook were using it. Then in the 2010s, it was MongoDB because non-durable writes made it “webscale“. In the last five years, PostgreSQL has become the Internet’s darling DBMS. And for good reasons!

Different DB's, different strengths and it's not a zero sum came as implied. MySQL was popular before Google was born - we used it heavily at eToys in the 90s for massive transaction volume and replacing it with Oracle was one of the reasons for the catastrophic failure of eToys circa 2001. MongoDB gained traction not because it's an alternative to MySQL or PostgreSQL. And PostgreSQL's marketshare today is on a par with Mongo and both are dwarfed by MySQL which IMO is the true darling of web DB's given it's global popularity.

Re: The part of Postgres we hate the most: Multi-version concurrency control

#13

Clever Clickbait - Of course at the end of the article they offer a solution - their product (and of course it’s AI enhanced) to the problem they have overhyped.

I've personally ran into the problems mentioned in the article many times, unsure it's "overhyped".

It's a problem, but not an AI problem. It has a clear cause and obvious mitigation strategies.

Re: The part of Postgres we hate the most: Multi-version concurrency control

#14

MVCC for Amazon Redshift; (pdf) https://www.redshiftresearchproject.org/white_papers/downloa... (html) https://www.redshiftresearchproject.org/white_papers/downloa... I've been told, very kindly, by a couple of people that it's the best explanation they've ever seen. I'd like to get more eyes on it, to pick up any mistakes, and it might be useful in and of itself anyway to reader, as MVCC on Redshift is I believe the…

Not bad but I like this one too

http://www.interdb.jp/pg/pgsql05.html

Re: The part of Postgres we hate the most: Multi-version concurrency control

#15

This post has a valid point. But the last line makes it clear why they care so much about it. Yeah, table bloat and transaction ID wraparounds are terrible, but easily avoidable if you follow a few simple guidelines. Typically in my experience, best way to avoid these issues are to set sensible vacuum settings and track long running queries. I do hate the some of the defaults in the Postgres configuration are too con…

> I do hate the some of the defaults in the Postgres configuration are too conservative for most workloads.

it is also black magic to tune them.

Re: The part of Postgres we hate the most: Multi-version concurrency control

#16

Clever Clickbait - Of course at the end of the article they offer a solution - their product (and of course it’s AI enhanced) to the problem they have overhyped.

> and of course it’s AI enhanced

did they mention LLM/ChatGPT?..

Re: The part of Postgres we hate the most: Multi-version concurrency control

#17
post #3
post #2

So why Postgres chooses the worst MVCC design compared to MySQL and Oracle? Is this because of legacy reasons or other factors?

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.

Is MVCC actually superior by some other considerations? Less lock contentions, transactional DML.

Re: The part of Postgres we hate the most: Multi-version concurrency control

#18

Clever Clickbait - Of course at the end of the article they offer a solution - their product (and of course it’s AI enhanced) to the problem they have overhyped.

> and of course it’s AI enhanced did they mention LLM/ChatGPT?..

I don't think so

Re: The part of Postgres we hate the most: Multi-version concurrency control

#19

MVCC for Amazon Redshift; (pdf) https://www.redshiftresearchproject.org/white_papers/downloa... (html) https://www.redshiftresearchproject.org/white_papers/downloa... I've been told, very kindly, by a couple of people that it's the best explanation they've ever seen. I'd like to get more eyes on it, to pick up any mistakes, and it might be useful in and of itself anyway to reader, as MVCC on Redshift is I believe the…

This paper, at least by my skimming, seems to describe Redshift's historic SERIALIZABLE ISOLATION level, but does not mention Redshift's newer SNAPSHOT ISOLATION capability.

https://aws.amazon.com/about-aws/whats-new/2022/05/amazon-re...

For concurrency scalability, AWS now configures SNAPSHOT ISOLATION by default if you use Redshift Serverless but non-serverless still defaults to SERIALIZABLE ISOLATION.

Re: The part of Postgres we hate the most: Multi-version concurrency control

#20
Am I correct in thinking that PG's MVCC implementation results in a worse story around offloading some mild OLAP workloads to a replica without affecting the primary? Anecdotally, it seems that MySQL handles this better but I don't understand the internals of both enough to explain why that is.

https://aws.amazon.com/blogs/database/manage-long-running-re...

Post reply on HN