ACID1970: atomicity: consistency: isolation: durability[1]

41983[2][3]

概要

編集

データベースにおいては、データに対する一つの論理的操作の事をトランザクションと呼ぶ。ACIDの各性質を銀行での口座間送金を例にして示す。

不可分性(Atomicity)

編集

AB12

(一)A1

(二)B1

12

一貫性(Consistency)

編集



0AA

独立性(Isolation)

編集



100A200B1

(一)A1

(二)B1


時点 口座A 口座B
送金前 100万円 200万円
実行中 99万円 200万円
送金後 99万円 201万円

の3つになるが、外部からは送金前送金後のいずれかの状態しか観測できない。

永続性(Durability)

編集

永続性あるいは持続性と呼ばれる。トランザクション操作の完了通知をユーザが受けた時点で、その操作は永続的となり、結果が失われないことを指す。これはシステム障害に耐えるということであり、DBMS整合性制約をチェック済みでありトランザクションを中止してはいけないということである。多くのデータベース実装では、トランザクション操作を永続性記憶装置上にログとして記録し、システムに異常が発生したらそのログを用いて異常発生前の状態まで復旧することで永続性を実現している。

実装

編集

ACIDACID

ACIDUNIX

ACID: write ahead logging2redo undo



2PC

トランザクションを考慮したファイルシステム

編集

その他のモデル

編集

ACIDとは対照的に、結果整合性 (BASE[4]) という整合性モデルも考案されている。

注釈

編集
  1. ^ [1]

出典

編集
  1. ^ ISO/IEC 10026-1:1992 Section 4
  2. ^ Andreas Reuter
  3. ^ Theo Härder
  4. ^ : basically available, soft state

関連項目

編集