トランザクション 【transaction】
概要
トランザクション(transaction)とは、商取引、売買、執行、取扱、議事録などの意味を持つ英単語。ITの分野では、取引記録など一般的な意味の他に、ソフトウェアがデータを処理する際、互いに関連・依存する複数の処理をまとめ、一体不可分の処理単位として扱うことを指す場合が多い。トランザクション処理
データベースシステムや業務用ソフトウェアなどでよく用いられる概念で、金融機関のコンピュータシステムにおける入出金処理のように、一連の操作を全体として一つの処理として管理することを「トランザクション処理」(transaction processing)という。
ひとまとめのトランザクションとして登録された複数の操作は、必ず「すべて成功」か「すべて失敗」のいずれかとなるようシステムによって実行状態が管理される。処理の開始後、途中でいずれかの操作が失敗したら、それまでに行われた操作を取り消して最初からやり直す制御が自動的に行われる。
例えば、口座間の資金を移動をシステムで処理する場合に、出金と入金を個別に処理すると、片方の口座から出金した後に、もう一方の口座へ入金する前に障害が発生してシステムが停止してしまうと、出金した資金が宙に浮いてしまう。
このような事態を避けるため、出金と入金を一つのトランザクションとして管理する。出金後に障害で停止したら、復旧後に記録を参照して出金操作を取り消し、処理開始前の状態にデータベースの記録状態などを差し戻す。その後、必要に応じてもう一度出金から処理をやり直す。
トランザクションを管理するシステムが備えるべき性質は「ACID特性」としてまとめられている。処理がすべて成功か失敗のいずれかであることを保証する “Atomicity” (原子性/不可分性)、実行前後でデータの整合性が保たれる “Consistency” (一貫性/整合性)、トランザクションの実行が外部に影響を与えない “Isolation” (独立性/隔離性)、完了時に結果が恒久的に記録され、結果が失われない “Durability” (永続性/耐久性)の4つである。
取引、手続きの意
なお、情報システム分野では、複数の操作をまとめたトランザクション処理の意味以外にも、英単語の本来の意味に沿った「取引」などの意味でトランザクションということがある。例えば、商取引のデータを扱うシステムなどで、取引に関係する対象(商品、取引先など)に関するデータを「マスターデータ」、一件ごとの取引や手続き、操作などに関するデータを「トランザクションデータ」と呼ぶことがある。この場合の「トランザクション」はトランザクション処理の意味ではなく、現実世界で執行された取引などのことを表している。