Hitachi

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


11.4.2 マルチチャンク表にデータを格納する方法(バックグラウンドインポート)

バックグラウンドインポートでマルチチャンク表にデータを格納する方法について説明します。

メモ

マルチチャンク表にデータを格納する方法として,バックグラウンドインポートではなく,追加モードによるデータインポートもあります。追加モードによるデータインポートについては,「11.1.10 実表にデータを格納する方法(データインポート)」を参照してください。

バックグラウンドインポートを実行する場合,adbimportコマンドに-bオプションを指定してください。adbimportコマンドに-bオプションを指定して,バックグラウンドインポートを実行する例を次に示します。

adbimportコマンドの指定形式については,マニュアルHADB コマンドリファレンスadbimport(データのインポート)を参照してください。

■バックグラウンドインポートの実行例

HADBユーザ(ADBUSER01)が,店舗表(SHOPSLIST)に対して,バックグラウンドインポートを実行します。

adbimport -u ADBUSER01 -p '#HelloHADB_01' -k "'" -s , -g 10
          -w /home/adbmanager/tmp
          -z /home/adbmanager/imp_file/imp_opt_file.txt
          -b -m '2014/01/01-2014/01/31'
          SHOPSLIST
          /home/adbmanager/imp_file/imp_data_path.txt
メモ
チャンクにコメントを設定する方法

マルチチャンク表に対するデータインポート時に,データが格納されるチャンクに対して,コメントを設定できます。コメントは,-mオプションで設定できます。

特定のチャンクを対象にした運用をするような場合,コメントを設定しておくと,対象とするチャンクを特定しやすくなります。

重要

バックグラウンドインポートを実行する場合,インポートオプションadb_import_rthd_numには,次の計算式を満たす値を指定してください。次の計算式を満たす値をインポートオプションadb_import_rthd_numに指定すると,バックグラウンドインポートで追加するデータの格納効率が良くなります。

計算式

インポートオプションadb_import_rthd_numの指定値 ≦
      ↑ MIN ( C × db_org  , db_org × index_num × 0.25 ) ↑+1

変数の説明

C

バックグラウンドインポートの対象表が,ローストア表の場合は2を代入してください。カラムストア表の場合は0.5を代入してください。

db_org

バックグラウンドインポート時に使用する入力データファイルのファイルサイズ(単位:メガバイト)

index_num

バックグラウンドインポートの対象表に定義されているB-tree インデクスとテキストインデクスの数

バックグラウンドインポートを実行すると,HADBはチャンクを新規に作成し,そのチャンクにデータを格納します。バックグラウンドインポートによるデータの格納先を次の図に示します。

図11‒4 バックグラウンドインポートによるデータの格納先

[図データ]

[説明]

バックグラウンドインポート機能を適用したadbimportコマンドを実行すると,新規に作成されたチャンク3にデータが格納されます。その際,カレントチャンクがチャンク2からチャンク3に変更されます。

なお,チャンク3にデータを格納しているときに,チャンク1とチャンク2に格納されているデータを検索することができます。

重要

バックグラウンドインポートを実行するたびに1つのチャンクが新規に作成されるため,バックグラウンドインポートを繰り返すと,その分だけチャンク数が増加します。チャンク数が増加すると,B-treeインデクスやテキストインデクスを使用した検索時に性能が低下するおそれがあります。そのため,チャンクをマージして,チャンク数を減らすことを検討してください。チャンクをマージする場合は,「11.4.9 チャンクをマージする方法(チャンク数を減らす方法)」を参照してください。