トランザクション
トランザクション(transaction)とは、もともと「商取引」を意味するビジネス用語。IT分野ではソフトウェアの処理方式のことを指し、処理の一貫性を持たせるために「データベース管理システム」で活用されている。関連する複数の処理を一つの処理として実行・管理する仕組みを「トランザクション処理」と呼ぶ。
トランザクション処理の結果は「成功(実行する)」か「失敗(実行しない)」のいずれかで、処理のどこかで問題が生じれば「失敗」とみなされ、すべてキャンセルされる。例えば、システムで障害が発生した際、一つの処理を途中で終了すると、矛盾が起こってデータベースの整合性がとれなくなる。トランザクション処理は、一連のデータ処理の途中で問題が起こった場合、それまでの操作をすべて元に戻して、データの不整合を防ぐことができる。
トランザクション処理には、4つの特性(ACID)が標準規格によって決められている。
- 原子性(Atomicity)
トランザクションは「すべて実行される」か「一つも実行されない」のどちらかの状態になる - 一貫性(Consistency)
実行前と実行後のデータベースのデータに矛盾を生じさせない。 - 独立性(Isolation)
同時に複数のトランザクションを実行しても、それぞれのトランザクションが互いに影響を与えない - 永続性(Durability)
トランザクション完了後、その結果は記録される。ハードウェアに障害が生じても、処理結果はデータベースに永続的に保存される
(青木逸美)