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はチャンクを新規に作成し,そのチャンクにデータを格納します。バックグラウンドインポートによるデータの格納先を次の図に示します。
- [説明]
-
バックグラウンドインポート機能を適用したadbimportコマンドを実行すると,新規に作成されたチャンク3にデータが格納されます。その際,カレントチャンクがチャンク2からチャンク3に変更されます。
なお,チャンク3にデータを格納しているときに,チャンク1とチャンク2に格納されているデータを検索することができます。
- 重要
-
バックグラウンドインポートを実行するたびに1つのチャンクが新規に作成されるため,バックグラウンドインポートを繰り返すと,その分だけチャンク数が増加します。チャンク数が増加すると,B-treeインデクスやテキストインデクスを使用した検索時に性能が低下するおそれがあります。そのため,チャンクをマージして,チャンク数を減らすことを検討してください。チャンクをマージする場合は,「11.4.9 チャンクをマージする方法(チャンク数を減らす方法)」を参照してください。