トランザクション処理
別名:tp
【英】transaction processing
トランザクション処理とは、データベースを利用するシステムにおいて、処理の一貫性を保証するために、関連する一連の処理全体を一個の処理単位として管理する仕組みのことである。
業務用途で用いられるデータベースシステムでは、複数の処理が関連するため、個々の小さな処理単位の成功・失敗を管理するだけでは不十分な場合がある。例えば、ある銀行の口座から別の銀行の口座に振り込む処理を考えると、送金元の銀行口座では金額を減らす、資金移動情報を送金先の銀行に通知する、送金先の銀行口座の金額を増やす、など複数の処理が関係している。ところが、例えば、資金移動情報を通知する、という処理が失敗したままにしておくと、送金元の口座では金額が減っているのに、送金先の銀行口座では金額が変わらず、処理結果が矛盾したままになってしまう。このような事態が生じることを防ぐため、トランザクション処理は、一連の処理において一部が失敗した場合は関連する全ての処理を元の状態に戻すという考え方を用いている。
トランザクション処理において、データベースシステムは、処理ごとに、その結果、状態、履歴などを永続的なデータとして記録していく。途中で処理が失敗した場合、関連したデータ同士が矛盾を起こすこともあり得るため、適切にエラー処理を行うことが重要となる。一連の処理をまとめて管理する場合、最も単純明解な方法が、トランザクションの考え方で、「あったか、なかったかどちらかにする」という方法である。なお、トランザクション処理を実現するソフトウェアはTPモニタと呼ばれており、トランザクションの一連の関連する処理の状態を監視し、全体として成功しているか否かを管理する役割を担っている。また汎用コンピュータシステムにおいて、ネットワークに接続された端末からトランザクション要求をホストコンピュータに送信し、ホストコンピュータがトランザクションの結果を各端末に通知するような形態は、オンライントランザクション処理(OLTP)と呼ばれている。
トランザクション処理が備えるべき特性を表現した言葉に、「ACID」(ACID特性)がある。これは、Atomicity(原子性)、Consistency(一貫性)、Isolation(独立性)、Durability(永続性)からなる頭字語である。
|