3 ms·
MVCC for Amazon Redshift; (pdf) https://www.redshiftresearchproject.org/white_papers/downloads/multi_version_concurrency_control_and_serialization_isolation_fa
by Max-Ganz-II 3y ago
MVCC for Amazon Redshift;
(pdf) https://www.redshiftresearchproject.org/white_papers/downloads/multi_version_concurrency_control_and_serialization_isolation_failure.pdf https://www.redshiftresearchproject.org/white_papers/downloa...
(html) https://www.redshiftresearchproject.org/white_papers/downloads/multi_version_concurrency_control_and_serialization_isolation_failure.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 same as MVCC was on Postgres before snapshot isolation.
- anecdotal1 3y agoNot bad but I like this one too http://www.interdb.jp/pg/pgsql05.html http://www.interdb.jp/pg/pgsql05.html
- gregw2 3y agoThis 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-redshift-snapshot-isolation-level-support-concurrent-transactions/ 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.
- Max-Ganz-II 3y agoYes. I intended to write exactly this at the end of my post, but I managed to word it completely wrongly. The document describes MVCC as it has been in Redshift until about a year ago, when snapshot isolation was introduced.