Data Virtualizationにおけるキャッシュの推奨

最終更新: 2025年3月17日
Data Virtualizationにおけるキャッシュの推奨

クエリの入力セットを使用して、Data Virtualizationは、入力クエリのパフォーマンスを向上させ、将来のクエリワークロードに役立つ可能性のあるデータキャッシュのランク付けされたリストを推奨します。

入力される照会は、過去1日から過去15日間に実行された照会で、少なくとも1分の実行時間が必要です。 推奨は 1 日間有効であると見なされ、その後、照会ワークロードの変更に応じて変更される可能性があります。

  1. キャッシュ・レコメンデーション・エンジンは、2つのモデルを使ってレコメンデーションを生成します。
    • ルール・ベース・モデルは、洗練されたヒューリスティックな手法を使用して、入力照会ワークロードに役立つキャッシュ候補を判別します。
    • 機械学習ベースのモデルは、事前に学習した機械学習モデルを使用して、潜在的な照会パターンを検出し、将来の潜在的な照会ワークロードに役立つキャッシュを予測します。

    どちらのモデルも、キャッシュ候補のランク付けされたリストを作成し、それをエンジンが統合して最終的なレコメンデーション・セットを生成します。 機械学習に基づくキャッシュ・レコメンデーションを有効にするか、または無効にするかを選択できます。 デフォルトでは、機械学習を利用したキャッシュ・レコメンデーションが有効になっています。

    エンジンは、キャッシュ作成を推奨するだけでなく、過去の使用状況やその他のメトリックに基づいて、キャッシュの無効化や削除の推奨も行います。 これらの推奨は、既存のキャッシュの アクティブ および 非アクティブ のキャッシュ・タブに表示されます。

  2. 機械学習に基づくキャッシュ・レコメンデーションは、基本的な照会パターンを考慮し、1 日有効なキャッシュを予測します。

    Data Virtualizationは、業界標準のデータセットで事前に訓練されたモデルを使用する。

    機械学習に基づくキャッシュ・レコメンデーションを有効にするか、または無効にするかを選択できます。

  3. レコメンデーション・エンジンは、両方のモデルから得られた最終的なレコメンデーションのセットを統合し、ランク付けします。 その後、 マネージャー は、これらの推奨からデータ・キャッシュを追加できます。

Data Virtualizationは、ランク付けされた推奨リストを生成するエンジンを提供する。 キャッシュ作成の推奨順位は、クエリーの実行時間、入力ワークロードにおけるクエリーの頻度、および2つのモデルの重みによって決定されます。 エンジンは完全に認識しており、存在するキャッシュの作成を推奨しません。 また、重複するキャッシュの作成がエンジンから推奨されることはありません。

キャッシュ・レコメンデーションを生成するプロセスは、以下の図に示す 5 つのステージで構成されます。

図1: キャッシュ・レコメンデーション・プロセスの概要
キャッシュ・レコメンデーションの生成プロセスに関係するステージの概要

収集
レコメンデーションエンジンは、パフォーマンスの向上が必要な顧客のクエリセットを選択し、キャッシュを推奨する。 キャッシュ・レコメンデーション・エンジンは、提供された期間の照会テキスト、実行時間、カーディナリティ、タイムスタンプ、頻度などの情報を収集します。
以下の図は、過去のワークロードの照会がフィルタリングされて、レコメンデーション・エンジンに最終的に入力される照会セットになるまでが示されています。
図2: キャッシュ・レコメンデーション・プロセスの収集ステージ。
キャッシュ・レコメンデーション・プロセスの収集ステージ。
キャッシュの構成設定はData Virtualization Manager によって定義されます。
抽出
レコメンデーション・エンジンは、入力照会ワークロードの潜在的なキャッシュ候補を生成します。
翻訳
レコメンデーション・エンジンは、候補を変換して統合し、それらの候補が構文的および意味的に正しく、固有であり、すべての Db2 制限を確実に渡すようにします。
Evaluate
エンジンは、変換された定義を評価するために、各キャッシュ候補を入力クエリワークロードと照合し、それらの有効性、順位、ソートを決定します。 また、機械学習モデルをスコアリングするために、候補ごとに高次元のフィーチャー・ベクトルが作成されます。
図3: キャッシュ・レコメンデーション・プロセスの評価ステージ。
キャッシュ・レコメンデーションを生成するプロセスのステージを評価します。
この評価の結果、レコメンデーション・エンジンによって各キャッシュ候補の一致スコア が生成されます。 各候補者の評価は、以下の基準に基づきます。
  • マッチ率 :キャッシュ候補に一致するクエリの数。
  • 多様性 :キャッシュ候補に一致する異なるクエリ。
  • Cardinality : キャッシュ候補が取得した結果セットのサイズ。
  • パフォーマンス :キャッシュ候補に一致したクエリの実行時間。
ランク付けとソート
レコメンデーション・エンジンによって、キャッシュ候補のランク付けとソートが行われて、最終的なレコメンデーションのリストが生成されます。 推奨の最終リストは、以下の基準に基づいて作成されます。
  • 一致した照会の実行時間と頻度の加重メトリックを使用して候補をソートします。
  • 並んだ候補がある場合は、照会の頻度とカーディナリティーを使用して順位を付けます。
図4: キャッシュ・レコメンデーション・プロセスにおけるランキングおよびソートのステージ。
キャッシュ・レコメンデーションのランキングとソート。