トランザクション処理 【transaction processing】 TP / トランザクション制御 / transaction control / トランザクション管理
概要
トランザクション処理(transaction processing)とは、関連する複数の処理や操作を一つの処理単位にまとめて管理する方式。複数の処理を連結した処理単位をトランザクション(transaction)という。トランザクション処理では関連付けられた複数の処理が「すべて成功」か「すべて失敗」のどちらかであることを保証し、途中で処理が停止・失敗した場合にはすでに完了済みの処理を取り消して、トランザクション開始前の状態に戻すようになっている。
例えば、資金の移動を情報システムで処理する場合、「出金処理は完了したが入金処理には失敗した」状態で処理を終了することは許されない。このような場合に、入出金処理全体を一つのトランザクションとしてまとめて管理し、いずれかの処理が失敗したら残りも取り消して、すべて成功したときに初めて全体を完了とする。
トランザクション処理に求められる4つの特性を「ACID特性」という。複数の処理が一体不可分であることを表す “Atomicity”(原子性)、処理の前後でデータの整合性が保たれることを表す “Consistency” (一貫性)、他の処理へ影響を与えず、また影響を受けないことを表す “Isolation” (独立性)、処理結果が失われず永続することを表す “Durability”(耐久性)の頭文字をつなぎ合わせたものである。
データベースシステムなどでトランザクション処理が必要な場合は、データベース管理システム(DBMS)の機能やTPモニタなどの専用のミドルウェアを用いて複数の処理の一体的な管理を行う。一連の処理全体が成功してデータの変更を反映させることを「コミット」(commit)、途中で中断や失敗が生じて開始前の状態に戻すことを「ロールバック」(rollback)という。
(2024.2.2更新)