Hitachi

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


11.4.4 マルチチャンク表にインポートするデータを一時的に検索対象外にする方法(待機状態のチャンクの作成)

バックグラウンドインポートで格納するデータを検索対象外としておき,任意のタイミングで検索対象に変更したい場合は,adbimportコマンドに-bオプション,および--status waitオプションを指定してください。

待機状態のチャンクが作成されて,データが格納されます。その際,カレントチャンクは変更されません。また,システム表STATUS_CHUNKSにあるチャンクの作成日時,およびカレントチャンクが切り替わった日時は設定されません。

重要
  • 待機状態のチャンクは,操作系SQLで操作できません。待機状態のチャンク内にあるデータに対して,SELECT文やUPDATE文などを実行できません。ただし,PURGE CHUNK文,およびTRUNCATE TABLE文で待機状態のチャンクを削除することはできます。待機状態のチャンクを,操作系SQLで操作したい場合は,通常状態のチャンクに変更してください。

  • 待機状態のチャンクを通常状態のチャンク(操作系SQLの対象となるチャンク)に変更したい場合は,adbchgchunkstatusコマンドを実行してください。詳細については,「11.4.12 チャンクの状態を変更する方法」を参照してください。

  • adbimportコマンドで作成した待機状態のチャンクとadbchgchunkstatusコマンドを組み合わせて利用すると,任意のタイミングでデータを検索対象にしたり,検索対象外にしたりする運用を行うこともできます。詳細については,「11.4.24 バックグラウンドインポートとチャンクを意識した運用例2(待機状態のチャンクを利用した運用)」を参照してください。

メモ

システム表STATUS_CHUNKSの詳細については,「付録C.5 STATUS_CHUNKSの内容」を参照してください。

adbimportコマンドに-bオプション,および--status waitオプションを指定して,バックグラウンドインポートを実行する例を次に示します。

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 --status wait
          -m '2014/06/01-2014/06/30'
          SHOPSLIST
          /home/adbmanager/imp_file/imp_data_path.txt

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

図11‒5 待機状態のチャンクを作成するバックグラウンドインポート

[図データ]

[説明]

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

なお,チャンク3にデータを格納しているときに,チャンク1とチャンク2に格納されているデータを検索できます。また,チャンク3は待機状態のチャンクであるため,操作系SQLで操作できません。

重要

-bオプションおよび--status waitオプションを指定して,バックグラウンドインポートを実行するたびに,待機状態のチャンクが1つ新規に作成されます。そのため,バックグラウンドインポートを繰り返すと,その分だけ待機状態のチャンク数が増加します。待機状態のチャンク数が増加すると,adbidxrebuildコマンドの実行に時間が掛かるおそれがあります。インデクスの再作成処理では,通常状態のチャンクだけでなく,待機状態のチャンクも対象となるためです。待機状態のチャンクが大量にある場合は,チャンクをマージして,待機状態のチャンク数を減らすことを検討してください。待機状態のチャンクをマージする場合は,「11.4.9 チャンクをマージする方法(チャンク数を減らす方法)」を参照してください。