VDP サーバーに対するログ情報の提供¶
ここでは、「 プロセスのセットアップの概要 」で紹介したサマリの自動推奨を構成するために必要な 2 番目の手順について、詳細を説明します。
サマリ推奨 ツールを使用するには、Administration Tool の [Tools] メニュー > [Query optimizations] > [Summary Recommendations] に移動します。
初めてサマリの自動推奨を実行する際は、次の作業が必要です。
プロセスを実行する Virtual DataPort サーバーを決定する。
ログ情報を利用するため、そのサーバーに特殊なデータベースを作成する。
Virtual DataPort サーバーを選ぶ際は、次の点を考慮してください。
このプロセスは大量のリソースと時間を必要とします。そのため、 本番環境で実行することはお勧めしません 。
推奨システムはサマリの候補を生成するために、監視対象のクエリをシミュレーションする必要があります。そのため、推奨機能を実行するサーバーに、高速化されるクエリが使用するものと同じビューが含まれていなければなりません。たとえば、本番環境を監視していて、ステージングサーバーで推奨機能を実行する場合、メタデータが同じである必要があります。
異なるクエリとサマリのコストと利点を推奨ツールが評価できるように、 ビューに統計情報が含まれている必要があります 。
サマリ推奨ツールが、前の手順で生成したログ情報にアクセスできる必要があります。
ログ情報に関するビューを含むデータベースを作成するため、Denodo Platform のインストール先の /resources/vdp/query_acceleration フォルダにある summary_recommendations_db.vql テンプレートをインポートします。このテンプレートを使用すると、次の 2 つのインターフェイスを持つ「query_acceleration」データベースを作成できます。
i_queryblock_notification: Denodo Monitor ログのクエリブロックに関する情報にアクセスするインターフェイスを実現します。このインターフェイスは、監視ログがテキストファイルの場合は <prefix>-queryblocks ログにアクセスし、ログが JDBC データベースに格納されている場合は queryblock_notification テーブルにアクセスします。このログはデフォルトでは生成されないことに注意してください。詳細については、「 サマリ推奨を目的とした環境監視の方法 」を参照してください。
i_request_notification: Denodo Monitor ログのリクエストに関する情報にアクセスするインターフェイスを実現します。このインターフェイスは、監視ログがテキストファイルの場合は <prefix>-queries ログにアクセスし、ログが JDBC データベースに格納されている場合は request_notification テーブルにアクセスします。
テンプレートには両方のインターフェイスのサンプル実装が含まれています。この実装は、サーバー上のローカル Denodo Monitor ツールが生成したログにアクセスするビューから構成されます。ツールの使い方を学ぶ第一歩として役立つ実装です。実際の用途では、監視結果のログにアクセスするバージョンに合わせてこの実装を修正・変更してください。使用するログがローカルのテキストファイルに保存されるなら、request_notification_file_impl と queryblock_notification_file_impl を編集し、次の条件にローカルファイルの正しいパスを指定します。
logs_path = '../tools/monitor/denodo-monitor/logs'
さらに、次の条件に正しいファイルプレフィックスを指定します。
log_prefix = 'vdp'
ローカル Denodo Monitor 用のデフォルトファイルプレフィックスは「vdp」ですが、Solution Manager を使用して生成されたログはプレフィックスが異なる場合があります。Solution Manager を使用する場合は、 <SOLUTION_MANAGER_HOME>/resources/solution-manager-monitor/work
からファイル名を確認できます。
データソース monitor_log_file_ds では jar ファイルの相対パスが使用されることに注意してください。
<DENODO_HOME>/resources/vdp/query_acceleration/denodo-dmt-log-customwrapper.jar
別の方法として、[File] -> [Extension Management] からこの拡張機能を追加し、データソースを編集してローカルパスの代わりに新しい拡張機能を選択することも可能です。
ログが別の場所や JDBC データベースに保存されている場合は、必要なデータソースとビューを作成して、インターフェイスの実装を置き換えます。
注釈
すでに別の用途で query_acceleration という名称のデータベースを使用している場合は、任意の別の名称のデータベースでもビューを作成できます。この場合、VQL シェルから次のコマンドを実行して、カスタムデータベース名を指定する必要があります。
SET 'com.denodo.summaryrecommendation.dbNameForLogsInfo' = '<your_custom_db_name>';