このドキュメントでは、分析ビューと、分析ビューを作成するタイミングについて説明します。また、分析ビューと保存済みクエリの違いについても説明します。
概要
分析ビューはクエリ可能なリソースです。つまり、分析ビューを定義した後は、FROM 句で分析ビューを指定するクエリを作成できます。
分析ビューを使用する主な利点は、API やシステムで定義された形式に制約されずにデータをクエリできることです。分析ビューではスキーマを定義できるため、クエリを簡素化したり、クエリの作成にかかる時間を短縮したりできます。分析ビューのクエリでは、特定のフィールドのみを保持する、フィールドの名前を変更する、ネストされたフィールドを最上位の列に移動する、グループ化と集計を実行する、などの操作を行えます。
分析ビューはマテリアライズド ビューではありません。分析ビューは、クエリ結果を定期的にキャッシュに保存する事前計算ビューではありません。したがって、分析ビューをクエリすることは、分析ビューのクエリでリストされているビューをクエリすることと同等です。
分析ビューは、保存済みクエリ([ログ分析] ページで実行して保存したクエリ)よりも強力です。保存済みクエリは再実行できますが、保存済みクエリの結果をクエリすることはできません。
分析ビューの種類
分析ビューには、ユーザー定義とシステム定義の 2 種類があります。
ユーザー定義の分析ビューとは、ユーザーが作成した分析ビューです。ユーザー定義の分析ビューに対してクエリを実行したり、編集や削除を行うことができます。
システム定義の分析ビューは、Google Cloud サービスによって作成される分析ビューです。システム定義の分析ビューに対してクエリを実行できます。ただし、編集や削除はできません。
Google Cloud プロジェクト内の分析ビューを一覧表示する方法については、分析ビューを一覧表示するをご覧ください。
分析ビューのロケーション
分析ビューのロケーションは、クエリするリソースのロケーションによって決まります。たとえば、アナリティクス ビューが global ロケーションにあるオブザーバビリティ ビューをクエリする場合、アナリティクス ビューのロケーションも global にする必要があります。 Google Cloud コンソールを使用して分析ビューを作成すると、ロケーションが自動的に設定されます。
サンプル ユースケース
分析ビューの主な利点は、システムで定義された形式に制約されずにデータをクエリできることです。分析ビューではスキーマを定義できるため、クエリを簡素化したり、クエリの作成にかかる時間を短縮したりできます。
トレース サービス名を抽出する
トレースデータを分析するクエリを作成し、合成されたサービス名で表示またはグループ化するとします。分析ビューのクエリは、COALESCE 関数を使用してスパンのサービス名を決定します。この関数は、式のリストを順番に評価し、NULL と評価されない最初の式の値を返します。
SELECT
start_time,
-- Set the value of service name based on the first non-null value in the list.
COALESCE(
JSON_VALUE(resource.attributes, '$."service.name"'),
JSON_VALUE(attributes, '$."service.name"'),
JSON_VALUE(attributes, '$."g.co/gae/app/module"')) AS service_name,
name AS span_name,
duration_nano,
status.code AS status,
trace_id,
span_id
FROM
`PROJECT_ID.us._Trace.Spans._AllSpans`
LIMIT 10
クエリを使用する前に、PROJECT_ID をGoogle Cloud プロジェクトの ID に置き換えます。
制限事項
アナリティクス ビューには次の制限が適用されます。
- アナリティクス ビューでクエリできるのはオブザーバビリティ ビューのみです。
- アナリティクス ビューの親リソースは Google Cloud プロジェクトである必要があります。
- アナリティクス ビューをクエリできるのは、[ログ分析] ページで [ログ分析(デフォルト)] クエリエンジンを使用する場合のみです。
- アナリティクス ビューでクエリするすべてのビューは、同じロケーションに存在する必要があります。
- アナリティクス ビューの作成と管理には、 Google Cloud コンソールを使用する必要があります。
- 作成できるアナリティクス ビューの数は Google Cloud プロジェクトあたり 100 個までです。
- 作成できるアナリティクス ビューの数はリージョンあたり 50 個までです。
- 各 Google Cloud プロジェクトでアナリティクス ビューを含めることができるリージョンの数は 10 個までです。