投稿日: May 17, 2022

Amazon Redshift は、同時トランザクションのスナップショット分離のサポートを開始しました。Amazon Redshift は、SQL 標準に従って、ダーティリード、ノンリピータブルリード、およびファントムリードを防止します。Amazon Redshift は、トランザクションをシリアル化するために SERIALIZABLE と SNAPSHOT ISOLATION の 2 つのオプションを提供します。SERIALIZABLE オプションは、厳密なシリアル化を実装します。このオプションでは、結果を同時に実行されているトランザクションのシリアル順序にマッピングできないと、トランザクションが失敗する可能性があります。SNAPSHOT ISOLATION オプションで同時実行性を高めることができ、同じテーブル内で異なる行への同時変更が正常に行われます。どちらのオプションでも、トランザクションはデータベースの最新のコミット済みのバージョン、つまりスナップショットで引き続き動作します。

Amazon Redshift でプロビジョニングされたクラスターが、デフォルトオプションとして SERIALIZABLE を使用します。Amazon Redshift サーバーレスデータウェアハウスが、デフォルトのオプションとして SNAPSHOT ISOLATION を使用します。これは、Amazon Redshift CREATE または ALTER DATABASE ISOLATION LEVEL SQL コマンドを使用して変更できます。SNAPSHOT ISOLATION は、Amazon Redshift を利用可能なすべての商用 AWSリージョンで利用できます。Redshift 分離レベルの使用方法の詳細については、Amazon Redshift のドキュメントを参照してください。