Amazon Redshift

Intelligence Agent for Redshiftに必要なCloudFormationテンプレート、Parameter Storeの情報、および取得するメタデータについて

CloudFormationテンプレート

CloudFormationテンプレートのご利用には、Quollio Data Intelligence Cloudへの事前登録が必要です。詳しくは、お問い合わせ | 株式会社Quollio Technologies ページよりご連絡ください。

※基盤環境は全てのAgentから共通で使用するため、すでに存在している場合は構築不要です。

※エンドポイント経由でプライベートサブネットのRedshiftクラスタにアクセスする場合、基盤環境で作成されたセキュリティグループのIDに対してポートの解放が必要です。

※「QT」は会社としてのQuollio Technologies、「QDIC」は製品のQuollio Data Intelligence Cloudを指します。

Parameter Store一覧

パラメータストア名 概要
/quollio/company_id QTから提供されるCompany ID
/quollio/redshift/default/qdc_client_id QDIC側で発行したクレデンシャルのクライアントID
/quollio/redshift/default/qdc_client_secret QDIC側で発行したクレデンシャルのクライアントシークレット
/quollio/redshift/default/host Redshiftクラスタのエンドポイントから、ポートとデータベース名を除いたもの。例)example.123456abcdef.ap-northeast-1.redshift.amazonaws.com
/quollio/redshift/default/port Redshiftクラスタのポート
/quollio/redshift/default/build_user View作成用のRedshiftのユーザー名。Intelligence Agent内部で使用するdbtに対して、特定のデータベースおよびスキーマに対するView作成の権限を付与します。
/quollio/redshift/default/query_user Intelligence Agentが作成したViewに対してクエリを実行するためのRedshiftのユーザー名。
/quollio/redshift/default/build_password Build用ユーザーのパスワード
/quollio/redshift/default/query_password Query用ユーザーのパスワード
/quollio/redshift/default/target_database*1 Viewを作成するRedshiftのデータベース名。
/quollio/redshift/default/target_schema Viewを作成するRedshiftのスキーマ名。"target_database" で指定したデータベース内に存在するスキーマである必要があります。
  • *1: RedshiftのInformation Schemaおよびpg_catalogは、接続中のデータベース内のメタデータのみを出力するため、Intelligence Agentは対象とするデータベースごとに構築が必要です。

load_statsコマンドは、テーブルに対して実際に集計を行うため、実行する際は利用するワークロードへの影響を十分考慮した上で実行するようにしてください。

ローカル端末にライブラリをインストールし、下記を実施して、計算量と計算対象を十分制限した上で試していただくことをお勧めいたします。

  • CloudFormationのskip_heavyパラメータをtrueにして、一部の統計データ取得をスキップする
  • query_userがselectできるテーブルを最小限にする。
コマンド 実行内容 必要な権限
build_view intelligence agentで利用するビューを作成します。
作成されるビューの一覧は、下記を参照してください。

下記テーブルへのselect権限が必要となります。

  • pg_catalog.pg_class
  • pg_catalog.pg_depend
  • pg_catalog.pg_namespace
  • pg_catalog.pg_tables
  • pg_catalog.pg_table_def
  • pg_catalog.stl_insert
  • pg_catalog.stl_scan
  • pg_catalog.svv_table_info
load_lineage lineageデータをQDICに反映します。

下記ビューへのselect権限が必要となります。

  • quollio_lineage_table_level
  • quollio_lineage_view_level
load_stats

統計データをQDICに反映します。

build_viewコマンドで作成されたビューへのselect権限が必要となります。

query_userがselectできるテーブルのみ対象となります。

    build_viewコマンドで作成されるビューの一覧

    ビュー名 内容 元となるテーブル
    quollio_lineage_table_level クエリ履歴から、テーブル間のリネージデータを生成します。
    • pg_catalog.stl_insert
    • pg_catalog.stl_scan
    • pg_catalog.svv_table_info
    quollio_lineage_view_level

    クエリ履歴から、ビューのリネージデータを生成します。

    制約として、リネージの上流がビューだった場合、元となるテーブルの情報が取得されます。

    • pg_catalog.pg_class
    • pg_catalog.pg_depend
    • pg_catalog.pg_namespace
    quollio_stats_profiling_columns

    query_userのパラメータに指定したユーザーがselect可能なテーブルの一覧を取得します。

    こちらのビューから取得したテーブル一覧をもとに統計情報を取得します。

    • pg_catalog.pg_table_def
    • pg_catalog.pg_tables
    quollio_stats_columns

    下記の統計情報をテーブルのカラムを集計して取得します。

    • 最大値
    • 最小値
    • Nullの数
    • 平均値
    • カーディナリティ
    • 中央値
    • 最頻値
    • 標準偏差

    quollio_stats_profiling_columnsから取得したテーブルの一覧から、カラムごとに上記の統計情報を集計します。

    skip_heavyパラメータをTrueにすることで、下記の統計値計算のみ行われます。

    • カーディナリティ
    • 標準偏差
    • quollio_stats_profiling_columns