サマリ推奨ツールの実行

ここでは、「 プロセスのセットアップの概要 」で紹介したサマリの自動推奨を構成するために必要な 3 番目の手順について、詳細を説明します。

推奨の生成

Administration Tool を開き、[Tools] -> [Query optimizations] -> [Summary Recommendations] に移動します。このオプションを使用できるのはグローバル管理者ユーザーだけであり、サーバーライセンスによって許可されている必要があります。

../../../../../_images/summary-recommendations-parameters.png

[Generate recommendations] をクリックする前に、複数のオプションを以下のように調整できます。

  • Recommendations time limit (minutes): 推奨プロセスの最大実行時間 (分単位) を指定できます。

  • Minimum query duration (ms): 実行時間がこの最小継続時間よりも長いクエリのみをログから探して検討対象とします。このオプションによって、すでにパフォーマンスの高いクエリを除外し、本当に最適化すべきクエリのみに注力することが可能となります。

  • Initial date to consider: この日付以降に開始したワークロードのみを検討対象とします。日付を指定するには、「2021-05-01」のようなリテラルを使用することも、addweek(current_date(), -1) のように、より複雑な表現を使用することも可能です。

  • Last date to consider: この日付以前に開始したワークロードのみを検討対象とします。

  • Maximum size for summary candidates (number of rows): 推定サイズがこの制限未満のサマリを検討対象とします。

  • Maximum number of summary candidates: プロセスが推奨するサマリの最大数を指定します。

  • Database for recommended summaries: プロセスが推奨サマリを配置する、Virtual DataPort 上のデータベースを指定します。ユーザーが明示的にマテリアライズを指示するまで、サマリは Virtual DataPort サーバー上だけに存在します。

  • Folder recommended summaries: プロセスが推奨サマリを配置する、選択したデータベース上のフォルダを指定します。

  • Analyze queries from these databases: 指定したデータベースから実行されたクエリのみを検討対象とします (指定しない場合、全データベース)。このオプションは、常に同じデータベースを使用して接続する特定のクライアントからのクエリを最適化する場合に便利です。

  • Views to consider: ビューを選択した場合、推奨されるサマリ候補には選択したビューが少なくとも 1 つ含まれます。このオプションはファクトテーブルなどの重要なビューに的を絞らせる手段として役立ちます。

  • Preferred target data sources: 推奨サマリの保存先として希望するデータソースを選択できます。選択しない場合、プロセスはサーバーのキャッシュ構成で構成されたデータソースと、各クエリで最大のビューを含むデータソースであると見なします。

  • Excluded target data source: サマリの保存先として検討しないデータソースを選択します。

次の点を考慮してください。

日付範囲を非常に広くとると、検討するクエリが増加します。その結果、優れた推奨クエリが生成される可能性がありますが、実行時間も増加します。通常はまず他のパラメータを調整して有用なクエリだけを検討してから、用途に最適な日付範囲を選択します。推奨される手順としては、サーバー上のすべてのクエリを対象としたプロセスを 1 度に実行するのではなく、毎回特定の用途に着目し、それに合わせてパラメータを調整します。

例: データベース「bi_tool」によってアクセスを行う BI ツールを使用するユーザーからのクエリを最適化する場合、次の構成が考えられます。

  • [Analyze queries from these databases] にデータベース bi_tool を指定する

  • [Views to consider] にファクトテーブルを指定する

  • 希望するデータソースを選択する

  • 用途に応じて、[minimum query duration] を設定する。たとえば 10000 など、100 ミリ秒を超える値を選択するのが妥当でしょう。

最後に、[Tools] の下の [Query Monitor] ユーティリティから、推奨プロセスの実行中に、進捗をより詳細に確認できます。「CREATE SUMMARY RECOMMENDATION」から始まるリクエストを選択して、実行プランを確認してください。

../../../../../_images/summary-recommendations-trace.png

「Read log information time」プロパティの値が大きすぎる場合は、ログ実装インターフェイス i_queryblock_notification と i_request_notification にアクセスするビューのキャッシュを検討しても構いません。

結果の処理

../../../../../_images/summary-recommendations-result.png

プロセスの結果、ワークロードに対する特に優れたサマリが選出されます。また、各サマリについて以下の情報が表示されます。

  • [Database for recommended summaries] と [Folder recommended summaries] で指定したデータベースとフォルダにサマリのメタデータが作成されます。この時点ではリモートデータソースにテーブルが存在せず、データは読み込まれていないことに注意してください。

  • 結果にはサマリに関する有用な情報が含まれます。

    • Name: サマリの名前です。名前の先頭には「sum」とランキング上のサマリの順位を示す数値と、含まれる最大のビューが記載されます。名前をクリックしてサマリを開き情報を確認することが可能です。この時点ではまだリモートデータソース上にサマリは存在せず、読み込まれるまでクエリオプティマイザーはサマリを考慮しないことに注意してください。「Valid for query acceleration」プロパティに「Needs refresh」値が存在するのはこのためで、サマリを直接実行するとエラーになります。

    • Data source: データを読み込む場合に、サマリのデータを保存するように構成されたデータソースです。

    • Views: サマリのクエリ定義で使用されるビューです。

    • Estimated size: サマリの推定サイズです。Medium は十万単位、Large は百万単位を表します。

    • Usage (Num.queries): サマリのメリットを受ける、選択したワークロードからのクエリの数です。

    • Absolute gain factor: サマリを使用しない元のワークロードと比較して、このサマリを単独で使用することによってワークロードの推定コストが何倍削減されるかを表します。

    • Relative gain factor: 順位が 1 つ下のサマリだけを使用した場合の推定コストと比較して、このサマリと順位が 1 つ下のサマリを使用することでワークロードの推定コストが何倍削減されるかを表します。

The result shows the summaries in order in terms of cost benefit and size, which means the first one in the result is estimated as the best option. Based on the results, you can review the recommended summaries and decide which ones you want to persist. For the ones that you want to persist, you should first edit each one to review the selected data source, catalog and schema are the most suitable ones and modify if necessary. We encourage you to also review the recommendations on section サマリを使用する場合の推奨事項. Then, you can either click Load to create the summaries on that same database or click 'Export' to save the summary VQL. Once you load a summary, it is available for the query optimizer to accelerate queries on that server. If you prefer to create a summary on a different environment you can include your selected summaries in the revision of your next promotion. Visit the Promotions section of the Solution Manager Guide for more details.