コンテンツにスキップ

MultiVersion Concurrency Control

出典: フリー百科事典『ウィキペディア(Wikipedia)』

これはこのページの過去の版です。Shinwemon (会話 | 投稿記録) による 2008年2月28日 (木) 15:19個人設定で未設定ならUTC)時点の版 (MVCC は、データベース管理システムの可用性を向上させる制御技術のひとつ。)であり、現在の版とは大きく異なる場合があります。

(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

MultiVersion Concurrency Control (MVCC, マルチバージョン コンカレンシー コントロール) は、データベース管理システムの可用性を向上させる制御技術のひとつ。複数のユーザから同時に処理要求が行われた場合でも同時並行性を失わずに処理し、かつ情報の一貫性を保証する仕組みが提供される。日本では多版型同時実行制御などと訳される。

概念

MVCCは、書き込み処理(トランザクション)が行われている最中に他のユーザによる読み取りアクセスがあった場合、書き込みの直前の状態(スナップショット)を処理結果として返す。つまり、書き込み中も読み取りができ、読み取り中でも書き込みができる。

MVCCにおいて可用性を達成するには、最低限、全ての処理が「どの順番で」行われたかを確実に記録する必要がある。そのため、タイムスタンプやトランザクションIDなどを用いて全ての更新処理が管理される。

歴史

MVCCの考え方は、1981年に Philip A. Bernstein と Nathan Goodman により、 ACM Computing Surveys 誌上に掲載された。

MVCCの考え方を採用するデータベース