18.12.2 実表の運用(マルチノード機能の使用時)
ここでは,マルチノード機能を使用している場合の,実表の運用について説明します。
マルチノード機能を使用している場合,実表の運用のうち,次の運用項目ではマルチノード機能特有の運用が必要となります。
-
実表にデータを格納する方法
-
実表の更新不可状態を解除する方法
上記以外については,マルチノード機能を使用しない場合と同じです。「11.1 実表の運用」を参照してください。
(1) 実表にデータを格納する方法(マルチノード機能の使用時)
マルチノード機能を使用している場合,adbimportコマンドを実行できるノードはプライマリノードだけです。セカンダリノードおよびワーカーノードでは,adbimportコマンドを実行できません。
adbimportコマンドについては,マニュアルHADB コマンドリファレンスのadbimport(データのインポート)を参照してください。
adbimportコマンドとトランザクションの同時実行可否については,「2.20.2 トランザクションおよびコマンドが実行されるノード」の「(4) トランザクションとコマンドの同時実行についての制限」を参照してください。
- ■SQLパラレル実行機能の検索対象表にデータを格納する場合(クラウドストレージ機能を使用していないとき)
-
クラウドストレージ機能を使用していない場合,SQLパラレル実行機能の検索対象表は,複数のDBエリアファイルで構成されるデータ用DBエリアに格納されています。SQLパラレル実行機能を適用して検索系SQLを実行する場合,DBエリアファイルごとに検索系SQLの処理を並列実行します。そのため,各DBエリアファイルに格納されているデータ量に偏りがあると,各ノードの負荷にばらつきが出てしまい,並列に処理にするメリットが小さくなります。したがって,SQLパラレル実行機能の検索対象表にデータを格納する際は,各DBエリアファイルに均等にデータが格納されるようにしてください(次の条件をすべて満たすようにしてadbimportコマンドを実行してください)。
-
「adbimportコマンドが使用するスレッド数-1」を,インポート対象表が格納されているデータ用DBエリアのDBエリアファイル数の倍数にする。
-
入力データファイル数を「adbimportコマンドが使用するスレッド数-1」の倍数にする。
-
各入力データファイルのデータ件数をなるべく同じにする。
-
(2) 実表の更新不可状態を解除する方法(マルチノード機能の使用時)
-
adbimportコマンドまたはadbidxrebuildコマンドが異常終了した場合
adbimportコマンドまたはadbidxrebuildコマンドが異常終了し,処理対象の実表が更新不可状態になった場合,異常終了したコマンドを再実行して,実表の更新不可状態を解除してください。
なお,プライマリノードのHADBサーバが異常終了してプライマリノードが切り替わった場合は,新たなプライマリノードでadbidxrebuildコマンドを実行し,実表の更新不可状態を解除してください。このとき,--create-temp-fileオプションを指定してadbidxrebuildコマンドを実行してください。
--create-temp-fileオプションについては,マニュアルHADB コマンドリファレンスのadbidxrebuild(インデクスの再作成)のadbidxrebuildコマンドの指定形式を参照してください。
-
adbunarchivechunkコマンドが異常終了した場合
adbunarchivechunkコマンドが異常終了し,処理対象の実表が更新不可状態になった場合,adbunarchivechunkコマンドを再実行して,実表の更新不可状態を解除してください。
- メモ
-
実表の更新不可状態については,「16.8.1 実表が更新不可状態になった場合」を参照してください。