ホット ウィンドウでコールド データにクエリを実行する
ホット ウィンドウを使用すると、データをエクスポートしたり、他のツールを使用したりすることなく、コールド データに対して効率的にクエリを実行できます。 コールド データのサイズが大きく、関連するデータが過去のあらゆる時点からのものである場合は、ホット ウィンドウを使用します。 ホット ウィンドウはキャッシュ ポリシーで定義されます。
Azure Data Explorer は、そのデータを信頼性の高い長期ストレージに格納し、このデータの一部をクラスター ノードにキャッシュします。 キャッシュされるデータは、キャッシュ ポリシーに従って管理されます。 キャッシュされたデータは "ホット" と見なされ、残りのデータは "コールド" と見なされます。
コールド データのクエリを実行するために、Azure Data Explorer は、ローカルディスクよりもはるかに長い待機時間のストレージ層へのアクセスを必要とする読み込み手順を処理します。 クエリが小さな時間枠に制限されている ("ポイントインタイム" クエリとも呼ばれる) 場合、取得されるデータ量は通常少なく、クエリはすぐに完了します。 たとえば、過去の特定の日におけるテレメトリに対してクエリを実行するフォレンジック分析は、このカテゴリに分類されます。 クエリ実行時間への影響は、ストレージからプルされるデータのサイズによって異なり、非常に大きくなる可能性があります。 大量のコールド データをスキャンする場合は、ホット ウィンドウを使用するとクエリのパフォーマンスが向上する可能性があります。
このドキュメントでは、ホット ウィンドウを使用してコールド データのクエリを実行する方法について説明します。
前提条件
- Azure サブスクリプションをお持ちでない場合は、開始する前に無料の Azure アカウントを作成してください。
- Azure Data Explorer クラスターとデータベースを作成します。
- 「Azure Data Explorer のデータ インジェスト概要」で説明されているいずれかの方法を使用して、クラスターにデータを取り込みます。
クラスターで自動スケーリングを構成する
キャッシュ ポリシーを変更すると、クラスターでは関連するデータが自動的にディスクにキャッシュされます。 新しいキャッシュ定義に必要な追加ディスクに対応するために、クラスターをスケーリングする必要があります。 最適化された自動スケーリングの設定を使用するようにクラスターを構成することをお勧めします。
Azure portal で、Azure Data Explorer クラスター リソースに移動します。 [設定] で、[スケールアウト] を選択します。
[スケールアウト] ウィンドウで、[最適化された自動スケーリング] を選択します。
最小インスタンス数と最大インスタンス数を選択します。 クラスターは、負荷に基づいてそれら 2 つの値の範囲で自動スケーリングされます。
[保存] を選択します。
これで、ホット ウィンドウの使用中に最適なパフォーマンスを期待できます。
ホット ウィンドウを設定する
ホット ウィンドウは、キャッシュ ポリシー コマンド構文の一部であり、.alter policy caching
コマンドを使用して設定されます。
Note
更新されたキャッシュ ポリシー定義に基づいてクラスター ディスク キャッシュを完全に更新するには、最大で 1 時間かかる場合があります。
.show policy caching
コマンドを使用して、初期キャッシュポリシーを確認します。.show table MyDatabase.MyTable policy caching
次の構文を使用して、キャッシュ ポリシーを変更します。 1 つのデータベースまたはテーブルに対して複数のホット ウィンドウを定義できます。
.alter <entity_type> <database_or_table_or_materialized-view_name> policy caching hot = <timespan> [, hot_window = datetime(*from*) .. datetime(*to*)] [, hot_window = datetime(*from*) .. datetime(*to*)] ...
ここで:
from
: ホット ウィンドウの開始時刻 (datetime)to
: ホット ウィンドウの終了時刻 (datetime)
たとえば、次の設定でクエリを実行すると、3 年間保持されるデータについて、過去 14 日間のデータが調査されます。
.alter table MyTable policy caching hot = 14d, hot_window = datetime(2021-01-01) .. datetime(2021-02-01), hot_window = datetime(2021-04-01) .. datetime(2021-05-01)
[クエリの実行]
ホット ウィンドウで指定された期間にわたって必要なクエリを実行します。
設定を元に戻す
- 上の「ホット ウィンドウを設定する」で取得した元のキャッシュ設定を使用します。
.alter policy caching
コマンドを使用して、キャッシュ ポリシーを元の設定に戻します。
そのクラスターに対して最適化された自動スケーリングを構成しているため、クラスターは元のサイズに縮小されます。