スケーラブルデータベースサーバ HiRDB Version 8 解説(UNIX(R)用)
トランザクションによるデータベースの更新内容が有効になることをコミットといいます。トランザクションによる更新内容が無効になることをロールバックといいます。コミットとロールバックのタイミングには,大きく分けて次に示す2種類があります。
コミット及びロールバックの設定タイミングをそれぞれの種類ごとに説明します。
コミットのタイミングを次に示します。
ロールバックのタイミングを次に示します。
HiRDB/パラレルサーバのコミットメント制御は次に示す二つの方式があります。
コミットメント制御を二相(プリペア処理とコミット処理)にしないで,コミット処理だけを行います。したがって,フロントエンドサーバとバックエンドサーバ(ディクショナリサーバ)間の同期点処理の通信回数がブランチ数×2(二相コミットの場合はブランチ数×4)になるため,トランザクションの処理性能が向上します。コミットメント制御に一相コミットを使用する場合は,pd_trn_commit_optimizeオペランドにONEPHASE(省略値)を指定してください。
なお,一相コミットが適用されるケースは,一つのトランザクション内の更新ブランチ数が一つのときだけです。それ以外の場合は二相コミットが適用されます。
一相コミットの処理方式を次の図に示します。
図6-24 一相コミットの処理方式
コミットメント制御で一相コミットを行うことを一相最適化といいます。
コミットメント制御をプリペア処理とコミット処理の二相に分けてトランザクションの同期点処理を行います。フロントエンドサーバとバックエンドサーバ(ディクショナリサーバ)間の同期点処理の通信回数がブランチ数×4になります。二相コミットの処理方式を次の図に示します。
図6-25 二相コミットの処理方式
コミット発行元,及びトランザクションの実行環境によって,HiRDB/パラレルサーバのコミットメント制御が決定されます。HiRDB/パラレルサーバのコミットメント制御を次の表に示します。
表6-11 HiRDB/パラレルサーバのコミットメント制御
条件 | HiRDBのコミットメント制御 | ||
---|---|---|---|
コミット 発行元 |
コミット発行元が 指示したコミット メント制御 |
トランザクションの実行環境 | |
UAP | - | 参照トランザクションの場合 | 一相コミット |
トランザクションによる更新サーバ数が一つで,かつpd_trn_commit_optimizeオペランドにONEPHASEを指定(又は省略)している場合 | |||
上記以外 | 二相コミット | ||
OLTPシステム | 一相コミット | 参照トランザクションの場合 | 一相コミット |
トランザクションによる更新サーバ数が一つで,かつpd_trn_commit_optimizeオペランドにONEPHASEを指定(又は省略)している場合 | |||
上記以外 | 二相コミット | ||
二相コミット | 参照トランザクションの場合 | 一相コミット | |
上記以外 | 二相コミット |
(凡例)-:該当しません。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.