3.2.1 分散トランザクション
トランザクションとは,関連する複数の処理を一つのまとまった処理として扱うための論理的な単位です。一つのトランザクション内で実行した処理は,すべてが有効になるか,すべてが無効になるかのどちらかです。
これまでのオンラインシステムは,トランザクションを単体の大型コンピュータで実行していました。このため,一つのコンピュータ内でしかトランザクションの整合性を保証していませんでした。
分散コンピューティング環境で動作するTP1/EEでは,トランザクションはほかのコンピュータに分散して実行されます。このようなトランザクション処理を分散トランザクションといいます。TP1/EEは,分散して処理する一連のトランザクション全体の整合性を保証しています。
トランザクション制御では,リソースマネジャの排他制御によって,複数のトランザクションが同時に,同じ資源を更新することはありません。資源は常にトランザクションごとに更新されます。
トランザクションが正常に終了して,トランザクションを有効にすると決定した場合,その後のUAPの処理に関係なく資源を更新することをリソースマネジャに指示します。このため,資源間の不整合が起きません。これは,障害が発生しても資源間で不整合が生じないように,トランザクションに関する履歴情報を,ステータスファイルに取得しているためです。トランザクションの処理中に障害が発生して,トランザクションを有効にしないと決定した場合には,トランザクションを開始する前の状態に資源を戻すことをリソースマネジャに指示します。このように,業務をトランザクションとして処理することで,資源の整合性を保てます。
分散トランザクションを次の図に示します。
|
トランザクションは,トランザクションマネジャが管理,実行します。トランザクションマネジャが管理,実行する処理内容の一覧を次の表に示します。トランザクションの種別については,マニュアル「TP1/Server Base Enterprise Option プログラム作成の手引」を参照してください。