BASE特性・MVCC
応用情報技術者 用語
BASE特性は、分散したNoSQLデータベースが満たす性質で、更新結果が一時的に不一致でも、障害がなければいつかは全ノードに反映される結果整合性(Eventually consistent)を含みます。MVCC(多版同時実行制御)は、RDBMSで同じデータ項目の複数の版を保持し、読み取りと書き込みが互いを待たずに済むようにして同時実行性を高める仕組みです。
一貫性と同時実行制御の仕組みの違い
| 用語 | 仕組み | 見分ける手がかり |
|---|---|---|
| 結果整合性(BASE特性) | 更新は一時的に不一致でも、いつかは全ノードに反映されます | Eventually consistent、いつかは一致 |
| 2相コミット | 全ノードの合意を取ってから一斉に確定します | 準備フェーズと確定フェーズ、強い一貫性 |
| MVCC | 同じデータの複数の版を保持します | 読み取りと書き込みが互いを待たない |
| 2相ロッキングプロトコル | ロックを獲得する段階と解除する段階を分けます | 直列化可能性の保証、ロック待ちが発生 |
| WALプロトコル | データ更新の前にログを書き出します | ログ先行書込み、障害回復 |
いつかは全ノードに反映されるなら結果整合性、全ノードで同時に確定させるなら2相コミットです。複数の版を持って読み書きが待たないならMVCC、ロックの獲得と解除を段階に分けるなら2相ロッキングです。
取り違えやすい用語
- 結果整合性(いつかは全ノードに反映)と2相コミット(全ノードの合意を取って一斉に確定)
- MVCC(複数の版を保持し読み書きが待たない)と2相ロッキングプロトコル(ロックの獲得と解除の段階を分け、ロック待ちが発生)
- MVCC(複数の版による同時実行制御)とWALプロトコル(更新前にログを書き出す障害回復の仕組み)
試験での出方
- BASE特性を満たす分散NoSQLデータベースについて、適切な記述を選ぶ(令和7年度 秋期 問26)
- データ項目の異なる版を用意して同時実行性を高める仕組みを選ぶ(令和7年度 秋期 問29)
出題された回
全年度から出題。10問で実力を判定します。登録不要。
解説と用語ページは生成 AI が書き、別の生成 AI が確かめています。作り方