トランザクション
提供: miniwiki
2017/3/29/ (水) 00:29時点における58.98.231.89 (トーク)による版
トランザクション (英: transaction) とは、データベース管理システム(または類似のシステム)内で実行される、分けることのできない一連の情報処理の単位である。トランザクション内では、ユーザインタフェース、アプリケーションプログラム、永続性記憶資源、各種I/Oが実行される。
ユーザインタフェースには、トランザクション実行の有無を明確に表示する必要がある。
永続性記憶資源には、自分自身のローカルトランザクションを管理するトランザクショナルなファイルやデータベースが使われる。その理由は、複数の不揮発性データが更新の途中で処理が中断した場合に不揮発性データ値が中途半端な状態で残ってしまい、データを正常値に戻すことができなくなるためである。
永続性記憶資源の管理には、複数のデータ項目の更新操作列をすべて実行するか、まったく実行しないように制御する必要がある。これをアトミック実行[1]という。バッチジョブのような処理形態でも、出力結果はアトミック実行の概念を満たさなければならない。たとえば、月末の領収証の一括印刷処理を行っているときにプリンタエラーでジョブが中断した場合でも、安易な位置から再実行してはならない。
また、分散トランザクションとは、ユーザインターフェイス端末、各種処理サーバ、永続性記憶資源、I/O装置を複数の遠隔装置として構成する処理形態である。論理的な狭義では、複数の永続性記憶資源の管理を使うトランザクション処理の事を指す。ユーザインターフェイス端末が永続性記憶域を分担しないで集中処理サーバにつながっている形態は、単にオンライントランザクション処理 (OLTP) と呼ぶ。
トランザクションが満たすべき技術的要件にACID特性がある。
具体例
- 利用者が銀行のATMで決済を依頼
- 銀行内のシステム上の口座の処理
- 処理結果のフィードバックが利用者に返される