Hitachi

Hitachi Advanced Data Binder システム構築・運用ガイド


14.5.3 トランザクションを実行するノード

トランザクションを実行するノードは,トランザクションアクセスモードおよびトランザクション隔離性水準の指定によって決まります。トランザクションアクセスモードおよびトランザクション隔離性水準と,トランザクションを実行するノードの関係を次の表に示します。

表14‒7 トランザクションアクセスモードおよびトランザクション隔離性水準と,トランザクションを実行するノードの関係

項番

トランザクションアクセスモードの指定

トランザクション隔離性水準の指定

トランザクションを実行するノード

1

読み書き可能モード

READ COMMITTED

マスタノード

2

REPEATABLE READ

3

読み取り専用モード

READ COMMITTED

マスタノードまたはスレーブノード

4

REPEATABLE READ

マスタノード

トランザクションを実行するノードを次の図に示します。

図14‒3 トランザクションを実行するノード

[図データ]

検索系SQLだけを実行するAPの場合,次の設定をすることで,スレーブノードのリソースを有効に活用できます。

トランザクションアクセスモードおよびトランザクション隔離性水準の指定方法を次の表に示します。

表14‒8 トランザクションアクセスモードおよびトランザクション隔離性水準の指定方法

項番

APの種別

トランザクションアクセスモードの指定方法

トランザクション隔離性水準の指定方法

1

JDBCドライバを使用したAP

  • システムプロパティのadb_clt_trn_access_mode

  • ユーザプロパティのadb_clt_trn_access_mode

  • 接続用のURLのadb_clt_trn_access_mode

  • ConnectionインタフェースのsetReadOnlyメソッド

  • システムプロパティのadb_clt_trn_iso_lv

  • ユーザプロパティのadb_clt_trn_iso_lv

  • 接続用のURLのadb_clt_trn_iso_lv

  • ConnectionインタフェースのsetTransactionIsolationメソッド

2

ODBCドライバを使用したAP

  • クライアント定義のadb_clt_trn_access_modeオペランド

  • SQLSetConnectAttr()またはSQLSetConnectAttrW()

  • クライアント定義のadb_clt_trn_iso_lvオペランド

  • SQLSetConnectAttr()またはSQLSetConnectAttrW()

3

CLI関数を使用したAP

  • クライアント定義のadb_clt_trn_access_modeオペランド

  • a_rdb_SQLSetConnectAttr()

  • クライアント定義のadb_clt_trn_iso_lvオペランド

  • a_rdb_SQLSetConnectAttr()

指定方法の詳細については,マニュアル「HADB AP開発ガイド」を参照してください。

また,トランザクションを実行するノードは,次に示す要素などを考慮して,マスタノードのHADBサーバが自動的に決定します。

そのため,トランザクションごとに,実行するノードが変わることがあります。ただし,ホールダブルカーソルでカーソルをオープン中の場合は,実行するノードは変わりません。

注意事項

読み書き可能モードのトランザクション,または一部のコマンドが実行中のときは,読み取り専用モードのトランザクションもマスタノードで実行されます(スレーブノードを使用しません)。そのため,スレーブノードのリソースを有効に活用するために,読み書き可能モードのトランザクションはできる限り細かい頻度で決着させるようにしてください。

なお,ここでいう一部のコマンドについては,「2.16.2(4) トランザクションとコマンドの同時実行についての制限」を参照してください。