日々学習〜人の役に立てるITエンジニアを目指して〜

ITエンジニアが日々学んだ事を書き記します

【応用情報】ACID特性

原子性

(Atomicity)

更新処理トランザクションが正常終了した場合にのみ

データベースへの反映を保証し、異常終了した場合は

処理が何もなかった状態に戻すこと。

トランザクションでは、そのすべての処理が完了するか

(All)、あるいはまったく実行されていない状態か

(Nothing)のどちらか一方で終了しなければならず、

これは、COMMIT(正常終了)、ROLLBACK(異常終了)

で実現できる

COMMIT(コミット):更新処理を確定し、データベース

 への反映を保証する

ROLLBACK(ロールバック):更新処理をすべて

 取消し、トランザクション開始時点の状態へ戻す 

一貫性

(Consistency)

トランザクションの処理によってデータベース内の

データに矛盾が生じないこと。すなわち、常に整合性の

ある状態が保たれていること

隔離性

(Isolation)

複数のトランザクションを同時(並行)に実行した場合と、

順(直列)に実行した場合の処理結果が一致すること。

独立性ともいう。複数のトランザクションを同時に

実行しても、それが正しい順で実行されるように順序

づけすることをトランザクションのスケジュールリング

というが、その基本的な考え方は、並行実行の結果と

直列実行の結果が等しくなるように調整するというもの。

この直列可能性を保証する方法にロックがある 

耐久性

(Durability)

いったん正常終了したトランザクションの結果は、

その後、障害が発生してもデータベースから消失しない

こと、つまり、トランザクションの再実行を必要と

しないことを意味する