トランザクションが保証する安全性について以下の4つの頭文字を取ったもの
- 原子性(Atomicity)
- 一貫性(Consistency)
- 分離性(Isolation)
- 永続性(Durability)
commited date: 2024-03-23
トランザクションが保証する安全性について以下の4つの頭文字を取ったもの
データ指向アプリケーションデザイン
トランザクション分離レベル
#Database ACIDのうち、I(Isolation)について言及するような分離性のレベル。 RDBMS間で共通して4つの分離レベルがあるが、分離レベルの命名が異なるケースがあり曖昧になっている。 Read Uncommitted コミットされていない未確定のデータを読み取るダーティリードが発生する Read Committed ダーティリード、ダーティライトが生じない Snapshot Isolation OracleではSERIALIZABLE、PostgreSQLやMySQLではRepeatable Readと呼ばれるため曖昧 読み取りスキュー(nonrepeatable read)が生じない、読み取りはロックを取らず常にトランザクション開始時のスナップショットを参照する スナップショットとして複数のバージョンを保持するためMVCC(multi-version concurrency controll)の手法が用いられる Serializable 書き込みスキュー(ファントム)が生じない、複数のレコードを跨いだ一貫性を保証する ユニーク制約によって書き込みスキューを防止できない際に必要となる 全てのトランザクションが直列で実行されるように振る舞うことで直列化可能と呼ばれる