MVCC(多版同時実行制御)
Multi-Version Concurrency Control
えむぶいしーしー
データの複数のバージョンを保持し、各トランザクションが適切なバージョンを参照する同時実行制御方式。読取りがロックを必要としないため、読取りと書込みが互いにブロックしない。PostgreSQLやOracleが採用。
Related
他の資格での定義
データの複数のバージョンを保持し、各トランザクションが適切なバージョンを参照する同時実行制御方式。読取りがロックを必要としないため、読取りと書込みが互いにブロックしない。PostgreSQLやOracleが採用。
データを更新するときに古い版を残し、複数の版を保持することで同時実行制御を行う方式。読取りを行うトランザクションは、開始時点などで確定していた版(スナップショット)を読むので、更新中のデータにロックを掛ける必要がなく、読取りと書込みが互いを待たせない。不要になった古い版を回収する処理が要り、スナップショット分離ではライトスキューのような異状を防げない。
データを更新するときに古い版を残して複数の版を保持し、各トランザクションには開始時点などで確定していた版を読ませる同時実行制御の方式。読取りがロックを必要とせず、読取りと書込みが互いを待たないため、同時実行性が高い。多くの関係データベース製品が採用している。
Past Exams
過去問での出題
過去問で 4 回出題(データベーススペシャリスト試験 3・応用情報技術者試験 1)
出典: 独立行政法人情報処理推進機構(IPA)の過去問題。問題文は IPA のサイトの PDF で確認できます。「選択肢」は、問題文ではなく選択肢に出たものです。用語名で照合しているため、関係の薄い問題が含まれることがあります。
Related
関連キーワードの用語
NoSQLデータベースが重視する特性。基本的に可用(Basically Available)、厳密な一貫性は保証しない柔らかい状態(Soft State)、結果的に一貫する(Eventually Consistent)。ACID特性と対比される概念。
関係モデルに基づくデータベース。データを2次元の表(テーブル)で管理し、SQLを用いて操作する。データの整合性制約やトランザクション管理に優れ、業務システムで最も広く利用されている。
データベースのアクセス権限やトランザクションを制御するためのSQL文の総称。GRANT(権限付与)、REVOKE(権限取消)、COMMIT(確定)、ROLLBACK(取消)などが含まれる。
トランザクション内の全操作を確定し、その結果をデータベースに永続的に反映するSQL文。COMMIT後の変更は他のトランザクションからも参照可能になり、障害が発生しても失われない。
トランザクション内の全操作を取り消し、トランザクション開始前の状態に戻すSQL文。エラー発生時や整合性が保てない場合に使用する。SAVEPOINTを指定して部分的なロールバックも可能。
トランザクション内の中間的な保存点を設定するSQL文。ROLLBACK TO SAVEPOINTでその時点まで部分的にロールバックできる。長いトランザクションで一部の処理をやり直す際に有効。
