2.15.3 アーカイブマルチチャンク表の検索
アーカイブマルチチャンク表を定義したときに,アーカイブレンジ列に自動的にレンジインデクスが定義されます。また,ロケーション表が自動的に作成されます。
ここでは,アーカイブレンジ列およびロケーション表について説明します。
- 〈この項の構成〉
(1) アーカイブレンジ列とは
HADBサーバは,アーカイブマルチチャンク表に格納されたデータの範囲(最大値と最小値)を,チャンク単位で管理しています。チャンク単位で管理しているデータの範囲を使用すると,検索範囲を絞り込むことができます。そのため,長期間管理する膨大なデータの中から必要なデータだけを検索できるようにしています。
データが格納された列で,かつ検索範囲を絞り込むために使用する列を,アーカイブレンジ列といいます。
アーカイブマルチチャンク表には,アーカイブレンジ列として使用する列が必要です。日時データの列,数データの列などを,アーカイブレンジ列として使用できます。
アーカイブレンジ列には,HADBサーバが自動的にレンジインデクスを定義します。そして,アーカイブ状態ではないチャンクごとに,アーカイブレンジ列に格納されたデータの範囲(最大値と最小値)を管理します。
アーカイブレンジ列の概要を次の図に示します。
(2) ロケーション表とは
アーカイブマルチチャンク表を定義したときに,ロケーション表とロケーション表のインデクスがHADBサーバによって自動的に定義されます。ロケーション表は,アーカイブ状態のチャンクに関する情報を管理するシステム専用の表です。ロケーション表が管理する情報を次に示します。
- ロケーション表が管理する情報
-
-
チャンクID
-
アーカイブファイルのファイルパス
-
アーカイブファイル単位のアーカイブレンジ列の値の範囲(最大値と最小値)
-
アーカイブ状態のチャンクには,インデクスデータは含まれません。そのため,アーカイブ状態のチャンク内のデータを検索する場合,インデクスを使った検索はできません。その代わりに,アーカイブレンジ列に格納されたデータをロケーション表が管理することで,検索範囲の絞り込みを実現しています。
ロケーション表の概要を次の図に示します。
- メモ
-
-
ロケーション表は,HADBサーバが使用するための表で,ユーザが使用することはありません。
-
1つのアーカイブマルチチャンク表に対して,1つのロケーション表が作成されます。
-
ロケーション表とロケーション表に定義されたインデクスは,アーカイブマルチチャンク表が格納されているデータ用DBエリア内に格納されます。
-
アーカイブマルチチャンク表を検索する場合,HADBサーバはアーカイブレンジ列に格納されたデータを基に,検索対象のアーカイブファイルを絞り込みます。詳細については,マニュアルHADB AP開発ガイドのAPの性能向上に関する設計のアーカイブマルチチャンク表を検索する際の考慮点を参照してください。