読み方 : トランザクションしょり

トランザクション処理 【transaction processing】 TP / トランザクション制御 / transaction control / トランザクション管理

概要

トランザクション処理(transaction processing)とは、関連する複数の処理や操作を一つの処理単位にまとめて管理する方式。処理に矛盾が生じないよう、途中でいずれかが失敗したら実行開始前の状態に戻す操作が行われる。
トランザクション処理のイメージ画像

解説 複数の処理を連結した処理単位を「トランザクション」(transaction)という。関連付けられた複数の処理が「すべて成功」か「すべて失敗」のどちらかであることを保証し、途中で処理が停止・失敗した場合にはすでに完了済みの処理を取り消して、トランザクション開始前の状態に戻すようになっている。

例えば、資金の移動を情報システムで処理する場合、「出金処理は完了したが入金処理には失敗した」状態で処理を終了することは許されない。このような場合に、入出金処理全体を一つのトランザクションとしてまとめて管理し、いずれかの処理が失敗したら残りも取り消して、すべて成功したときに初めて全体を完了とする。

トランザクション処理に求められる4つの特性を「ACID特性」という。複数の処理が一体不可分であることを表す “Atomicity”(原子性)、処理の前後でデータの整合性が保たれることを表す “Consistency” (一貫性)、他の処理へ影響を与えず、また影響を受けないことを表す “Isolation” (独立性)、処理結果が失われず永続することを表す “Durability”(耐久性)の頭文字をつなぎ合わせたものである。

データベースシステムなどでトランザクション処理が必要な場合は、データベース管理システムDBMS)の機能やTPモニタなどの専用のミドルウェアを用いて複数の処理の一体的な管理を行う。一連の処理全体が成功してデータの変更を反映させることを「コミット」(commit)、途中で中断や失敗が生じて開始前の状態に戻すことを「ロールバック」(rollback)という。

(2024.2.2更新)

他の用語辞典による「トランザクション処理」の解説 (外部サイト)

資格試験などの「トランザクション処理」の出題履歴

▼ ITパスポート試験
令7 問61】 DBMSのトランザクションに関する記述として,適切なものはどれか。
令6 問74】 トランザクション処理に関する記述のうち、適切なものはどれか。
令2秋 問72】 2台のPCから一つのファイルを並行して更新した。ファイル中のデータnに対する処理が①~④の順に行われたとき、データnは最後にどの値になるか。
平30秋 問63】 トランザクション処理におけるロールバックの説明として、適切なものはどれか。
平29秋 問76】 データベースの処理に関する次の記述中の a、b に入れる字句の適切な組合せはどれか。 データベースに対する処理の一貫性を保証するために、関連する一連の処理を一つの単位にまとめて処理することを [  a  ] といい、[  a  ] が正常に終了しなかった場合に備えて [  b  ] にデータの更新履歴を取っている。
平27秋 問71】 処理一覧に示す実行順に、トランザクション1〜4を実行する。あるトランザクションが途中で異常終了し、トランザクションを中断してロールバックした結果、データAとデータBが残った。
平26秋 問71】 図は処理1、処理2の順でデータベースを更新するトランザクションの処理フローを示している。図中の a~c のうち、コミット処理(処理1、処理2の更新結果を確定させる処理)に該当する箇所だけを全て挙げたものはどれか。
平25秋 問67】 あるトランザクション処理は、①共有領域から値を読み取り、②読み取った値に数値を加算し、③結果を共有領域に書き込む手順からなっている。
平23春 問78】 データベースのトランザクション処理に関する次の記述中の a、b に入れる字句の適切な組合せはどれか。 複数のユーザが同時に同じデータを更新しようとしたとき、データの整合性を保つために、そのデータへのアクセスを一時的に制限する仕組みを [  a  ] という。
平21春 問58】 オンライントランザクション処理システムを構成するサーバ上のソフトウェアのうち、データベース管理システムの役割の説明として、適切なものはどれか。

▼ 基本情報技術者試験
令7修7 問22】 トランザクションが,データベースに対する更新処理を完全に行うか,全く処理しなかったかのように取り消すか,のどちらかの結果になることを保証する特性はどれか。
令5公 問7】 トランザクションが,データベースに対する更新処理を完全に行うか,全く処理しなかったかのように取り消すか,のどちらかの結果になることを保証する特性はどれか。
令5修1 問28】 トランザクションTはチェックポイント取得後に完了したが,その後にシステム障害が発生した。トランザクションTの更新内容をその終了直後の状態にするために用いられる復旧技法はどれか。
令3修6 問26】 トランザクションが,データベースに対する更新処理を完全に行うか,全く処理しなかったかのように取り消すか,のどちらかの結果になることを保証する特性はどれか。
令3修6 問27】 トランザクションTはチェックポイント取得後に完了したが,その後にシステム障害が発生した。トランザクションTの更新内容をその終了直後の状態にするために用いられる復旧技法はどれか。
令2修1 問26】 トランザクションが,データベースに対する更新処理を完全に行うか,全く処理しなかったかのように取り消すか,のどちらかの結果になることを保証する特性はどれか。
平31修1 問29】 トランザクションTはチェックポイント取得後に完了したが,その後にシステム障害が発生した。トランザクションTの更新内容をその終了直後の状態にするために用いられる復旧技法はどれか。
平30修7 問28】 トランザクションが,データベースに対する更新処理を完全に行うか,全く処理しなかったかのように取り消すか,のどちらかの結果になることを保証する特性はどれか。
平28秋 問30】 トランザクションTはチェックポイント取得後に完了したが,その後にシステム障害が発生した。トランザクションTの更新内容をその終了直後の状態にするために用いられる復旧技法はどれか。
平28春 問28】 トランザクションが,データベースに対する更新処理を完全に行うか,全く処理しなかったかのように取り消すか,のどちらかの結果になることを保証する特性はどれか。
平27修7 問30】 トランザクションTはチェックポイント取得後に完了したが,その後にシステム障害が発生した。トランザクションTの更新内容をその終了直後の状態にするために用いられる復旧技法はどれか。
平26春 問29】 トランザクションが,データベースに対する更新処理を完全に行うか,全く処理しなかったかのように取り消すか,のどちらかの結果になることを保証する特性はどれか。
平24修1 問32】 トランザクション処理における次の特性はどれか。トランザクションの開始時点においてデータベースの完全性制約を満たしていれば,そのトランザクション終了時にも完全性制約を満たしている。
平21春 問35】 トランザクションTはチェックポイント取得後に完了したが,その後にシステム障害が発生した。トランザクションTの更新内容をその終了直後の状態にするために用いられる復旧技法はどれか。