【応用情報】ACID特性
原子性 (Atomicity) |
更新処理トランザクションが正常終了した場合にのみ データベースへの反映を保証し、異常終了した場合は 処理が何もなかった状態に戻すこと。 トランザクションでは、そのすべての処理が完了するか (All)、あるいはまったく実行されていない状態か (Nothing)のどちらか一方で終了しなければならず、 これは、COMMIT(正常終了)、ROLLBACK(異常終了) で実現できる ・COMMIT(コミット):更新処理を確定し、データベース への反映を保証する ・ROLLBACK(ロールバック):更新処理をすべて 取消し、トランザクション開始時点の状態へ戻す |
一貫性 (Consistency) |
トランザクションの処理によってデータベース内の データに矛盾が生じないこと。すなわち、常に整合性の ある状態が保たれていること |
隔離性 (Isolation) |
複数のトランザクションを同時(並行)に実行した場合と、 順(直列)に実行した場合の処理結果が一致すること。 独立性ともいう。複数のトランザクションを同時に 実行しても、それが正しい順で実行されるように順序 づけすることをトランザクションのスケジュールリング というが、その基本的な考え方は、並行実行の結果と 直列実行の結果が等しくなるように調整するというもの。 この直列可能性を保証する方法にロックがある |
耐久性 (Durability) |
いったん正常終了したトランザクションの結果は、 その後、障害が発生してもデータベースから消失しない こと、つまり、トランザクションの再実行を必要と しないことを意味する |