Hitachi

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


5.2.8 マルチチャンク表を定義する場合の考慮点

ここでは,実表をマルチチャンク表として定義する場合の考慮点について説明します。

ここをお読みいただいたあとに,「5.6.2 データ用DBエリアにマルチチャンク表を格納する場合の考慮点」の説明もお読みください。

また,実表をアーカイブマルチチャンク表として定義する場合は,ここをお読みいただいたあとに,「5.2.9 アーカイブマルチチャンク表を定義する場合の考慮点」の説明もお読みください。

〈この項の構成〉

(1) 実表をマルチチャンク表として定義する場合のメリット

実表をマルチチャンク表として定義した場合,次に示す運用ができます。

参考

4メガバイト以下の少量のデータだけを頻繁に格納する場合は,バックグラウンドインポート機能ではなく,操作系SQLのINSERT文を使用することを検討してください。バックグラウンドインポートで少量のデータを頻繁に格納すると,むだな領域が発生してしまい,データの格納効率が悪くなります。バックグラウンドインポートを実行すると,すでに割り当てられているセグメントに空きがあっても,新規にセグメントが確保されて割り当てられるためです。

また,実表をアーカイブマルチチャンク表として定義すると,チャンクアーカイブ機能も使用することができます。実表をアーカイブマルチチャンク表として定義する場合は,「5.2.9 アーカイブマルチチャンク表を定義する場合の考慮点」の説明もお読みください。

(2) 実表をマルチチャンク表として定義する場合のデメリット

(3) CREATE TABLE文で必要な指定(チャンク数の最大値)

実表をマルチチャンク表として定義する場合は,CREATE TABLE文のチャンク指定でチャンク数の最大値を指定してください。

(4) チャンク数の最大値の求め方

バックグラウンドインポート機能を適用したデータインポートを実行するたびに,チャンクが作成されます。ただし,CREATE TABLE文のチャンク指定で指定したチャンク数の最大値以上のチャンクは作成できません。

そのため,バックグラウンドインポート機能を適用したデータインポートを実行する頻度と,チャンクを保持する期間を基に,チャンク数の最大値を見積もってください。

なお,作成したチャンクはPURGE CHUNK文で削除できます。チャンクを削除した分だけ,チャンクを再作成できます。また,CREATE TABLE文で指定したチャンク数の最大値は,ALTER TABLE文で変更できます。

変数CHUNK_NUMの値を次の計算式で求めてください。計算式で求めた値以上の値を,チャンク数の最大値に指定します。

計算式(単位:個数)

[図データ]

変数の説明
  • years

    実表に格納したデータ(チャンク)を保持する年数です。

    バックグラウンドインポート機能を適用したadbimportコマンドを実行して作成されたチャンクを,PURGE CHUNK文で削除するまでの年数を代入してください。

  • create_chunk_count

    1年間で作成するチャンク数です。

    1年間で実行するバックグラウンドインポート機能を適用したadbimportコマンドの回数を代入してください。

  • safety_factor

    安全率です。

    1.2〜1.5のどれかを代入してください。

変数CHUNK_NUMの求め方の例を次に示します。

■例1

次の条件で計算します。

  • 実表に格納したデータ(チャンク)を5年間保持する

  • 週に1回,バックグラウンドインポート機能を適用したadbimportコマンドでデータインポートを実行する

  • 安全率を1.2とする

計算式(単位:個数)

[図データ]

この例の場合,変数CHUNK_NUMの値は313となるため,チャンク数の最大値には313以上の値を指定してください。

■例2

次の条件で計算します。

  • 実表に格納したデータ(チャンク)を10年間保持する

  • 1日に1回,バックグラウンドインポート機能を適用したadbimportコマンドでデータインポートを実行する

  • 安全率を1.5とする

計算式(単位:個数)

[図データ]

この例の場合,変数CHUNK_NUMの値は5,475となるため,チャンク数の最大値には5,475以上の値を指定してください。