Skip to content

Data Explorer

Data Explorerは、EMQX Tablesに保存されたデータをクエリ、分析、エクスポートするための統合インターフェースを提供します。クエリの作成・実行、クエリ実行の挙動の確認、クエリ履歴の管理、結果のエクスポートなど、一般的なワークフローを効率化するよう設計されています。

本ページでは、Data Explorerの主要コンポーネントを説明し、その機能を効果的に活用する方法を解説します。

Overview

Data Explorerは以下の主要エリアで構成されています:

  1. Tablesパネル:利用可能なスキーマ、テーブル、カラムを参照し、クエリ作成時にテーブル構造を素早く確認できます。
  2. クエリエディター:SQLまたはPromQLクエリを作成・実行します。
  3. アクションツールバー:クエリの実行、Explain Queryによる実行計画の解析、クエリファイルのアップロード・ダウンロード、クエリ履歴へのアクセスを行います。
  4. 結果エリア:クエリ結果、実行詳細を表示し、対応フォーマットでデータをエクスポートできます。

data_explorer_overview

Tables Panel Controls

Tablesパネルは展開・折りたたみが可能で、クエリ作成や結果分析に集中しやすくなっています。

  • Tablesの横にある展開/折りたたみアイコンをクリックしてパネルを切り替えます。

    tables_panel_control

  • パネルが非表示の場合、クエリエディターと結果エリアが自動的に拡大し、横方向のスペースが増えます。

これは、長いまたは複雑なクエリを扱う際に、エディターの表示領域が広くなるため、可読性と作業効率が向上します。

Query Editor

クエリエディターは、EMQX Tablesのデータに対してSQLまたはPromQLクエリを作成・実行する場所です。

対応クエリタイプ

クエリエディターは以下のクエリ言語をサポートしています:

  • SQL(デフォルト)
  • PromQL

エディター右上のセレクターでクエリタイプを切り替えられます。

クエリ実行

Run Queryボタンは、選択されたクエリ言語に基づいてクエリを実行します。

SQLクエリ

Run Queryボタンは一度に1つのSQL文を実行します。

  • エディターにSQL文が1つだけの場合は、Run Queryをクリックすると直接実行されます。
  • 複数のSQL文がある場合は、Data Explorerが以下のルールに従って実行する文を判別します。

この動作により、単純なクエリと複数文スクリプトの両方を同じエディターで効率的に扱えます。

文選択ルール(SQLのみ)

複数のSQL文がある場合:

  • 文はセミコロン(;)で区切られます。
  • テキストが選択されていない場合、カーソルがある文が実行されます。
  • テキストが選択されている場合は、選択された文のみが実行されます。

すべてのSQL文を順に実行するには、**Run All**を使用してください。

SQL文選択の例

例1:1行に複数文がある場合
sql
SELECT * FROM t1;SELECT count(*) FROM t1;SELECT * FROM t2;
  • カーソルがSELECT count(*) FROM t1;内にある場合、以下の文が実行されます:

    sql
    SELECT count(*) FROM t1;

    query_example_1

  • カーソルがSELECT * FROM t2;内にある場合、以下の文が実行されます:

    sql
    SELECT * FROM t2;

    query_example_1_result2

例2:複数行に分かれた文
sql
SELECT * FROM t1
WHERE host = 'server1';

SELECT * FROM t2
ORDER BY "timestamp" DESC
LIMIT 10;

カーソルが最初のクエリ(SELECT * FROM t1 ...)内のどこかにある場合、以下の文が実行されます:

sql
SELECT * FROM t1
WHERE host = 'server1';

query_example_2

例3:複数文をまとめて実行
sql
SELECT * FROM t1
WHERE host = 'server1';

SELECT avg(usage_user) FROM t1
WHERE region = 'us-east-1';

マウスで両方の文を選択し、Run Queryをクリックします。

両方の文が順に実行され、各成功した実行は別々の結果タブを生成します。

query_example3_result1

query_example3_result2

PromQLクエリ

PromQLの場合、Run Queryボタンは常に単一のPromQL文を実行します。

  • エディターには1つのPromQL文のみがサポートされます。
  • カーソル位置やテキスト選択は適用されません
  • 複数のPromQL文の実行や文の一部選択はサポートされていません。

PromQLクエリがある場合は、Run Queryをクリックすると文が直接実行されます。

Run All

Run Allボタンは、エディター内のすべてのSQL文を順に実行します。

  • SQLのみ対応。
  • 各成功した文の実行は別々の結果タブを生成します。

バッチクエリの実行や複数クエリの結果比較に便利です。

Explain Query

Explain Query機能は、SQLまたはPromQLクエリが内部でどのように実行されるかを理解するのに役立ちます。

クエリの詳細な実行プロセスを返し、以下を含みます:

  • 実行ステージの構成
  • クエリの計画と実行方法
  • 各ステージに費やされた時間

Explain Queryは、パフォーマンスのボトルネック特定、遅いSQL/PromQLクエリの分析、クエリ設計の最適化に一般的に利用されます。

現在のSQLまたはPromQL文を解析するには、Explain Queryをクリックします。Explain結果は専用のExplainタブに表示され、通常のクエリ結果タブの左側に配置されます。最新のExplain結果のみが保持・表示されます。

Explain Query結果は3つの異なるビューをサポートし、実行計画を多角的に確認できます。

Table View

Tableビューは、クエリ実行計画を構造化されたステージベースの表形式で表現します。実行はステージごとにグループ化され、各ステージはクエリが内部でどのように処理されるかを反映した階層的なオペレーターツリーを表示します。

explain_query_table

Select Metricドロップダウンで、選択したステージに表示する実行メトリックを切り替えられます。メトリックを変更すると、Tableビューの値や視覚的指標が更新され、同じ実行計画を異なるパフォーマンス視点から分析可能です。

explain_query_select_metric

注意

クラスター展開の場合、実行詳細は各GreptimeDBノードごとに表示され、個々のノードでのクエリ実行状況を確認できます。ノードセレクターはクラスターに複数ノードがある場合のみ表示されます。

本節の例はすべて単一ノード展開のExplain結果に基づいています。

Chart View

Chartビューは、クエリ実行計画をインタラクティブなグラフィカルツリー図として表示し、実行ステージとオペレーターの関係を視覚的に表現します。

Chartビューでは以下が可能です:

  • 個々の実行ノードをクリックして詳細を確認、または各ノードに表示された主要メトリックを直接読み取る。
  • ノードに表示された実行メトリック(実行時間やリソース使用量など)を生のExplainデータの対応値と照合する。

explain_query_chart_view

メトリック表示モード

右上のコントロールで、チャート内のメトリック表示方法を切り替えられます:

  • None:メトリックに基づく視覚化なしで実行ツリー構造のみを表示
  • Rows:処理行数に基づいてノードを強調表示
  • Duration:実行時間に基づいてノードを強調表示

モードを変更すると、視覚的な強調表示と各ノードの表示値が更新され、異なる視点から実行計画を分析できます。

Chartビューは、実行パスの視覚的追跡、オペレーター間の親子関係の理解、各実行ステップのパフォーマンス特性の検証に便利です。

Raw View

RawビューはAPIレスポンスのJSON形式を表示し、コピーしてさらなる分析に利用できます。

explain_query_api

Query Results

クエリが正常に実行されるたびに、Data Explorerは新しいクエリ結果を生成します。

  • 成功したクエリ実行ごとに新しいResultタブが生成されます。
  • タブは連番でラベル付けされ(例:Result 1Result 2)、自由に切り替え可能です。
  • 個別のタブは**✕**アイコンで閉じられます。

結果は現在のデプロイメントページを離れると保持されません

結果ビュー

クエリやデータの形状に応じて、結果は以下の形式で表示されます:

  • Tableビュー(デフォルト):ページネーション付きの表形式でクエリ結果を表示します。生データや正確な値の確認に適しています。

  • Chartビュー:クエリ結果をチャートとして可視化し、傾向分析や比較を容易にします。

    query_result_chart

クエリ結果のエクスポート

Data Explorerからクエリ結果をCSV形式で直接エクスポートできます。

  1. クエリ文を入力します。
  2. Run Queryの隣のドロップダウン矢印をクリックします。
  3. Export Result as CSVを選択します。
  4. システムがクエリを実行し、結果をダウンロードします。

export_result

Query History

Query Historyは、現在のデプロイメント内で過去に実行したSQLおよびPromQLクエリを確認、再利用、管理するのに役立ちます。

自動履歴保持

クエリ履歴は以下のルールに従って自動的に記録されます:

  • クエリ履歴はブラウザのローカルに保存されます。
  • 履歴は最大30日間保持されます。
  • 各デプロイメントごとに:
    • SQLクエリは最大100件
    • PromQLクエリは最大100件
  • 上限に達すると最も古い履歴が自動的に削除されます。
  • デプロイメントが削除されると、すべてのクエリ履歴も削除されます。

クエリ履歴パネルの開き方

ツールバーのHistoryアイコンをクリックすると、Query Historyパネルが開きます。

このパネルからは:

  • SQLまたはPromQLで履歴をフィルターできます。
  • クエリ履歴内を検索できます。
  • 各クエリの実行時間を確認できます。
  • 履歴エントリーをクリックすると、クエリエディターにクエリが挿入されます。

クエリ履歴のダウンロード

フィルター検索結果を含むクエリ履歴をダウンロードできます。

  • SQL履歴

    • .sqlファイルとしてエクスポート
    • 文は空行で区切られています
    • 各文はセミコロン(;)で終了
    sql
    select * from t2
    where host = 'server1';
    
    SELECT * FROM public."t2" ORDER BY "timestamp" DESC LIMIT 100;
  • PromQL履歴

    • .txtファイルとしてエクスポート
    • 1行に1クエリ
    text
    sum(t1)
    t1

query_history_panel

クエリ履歴ファイルのアップロード

クエリ履歴ファイルをアップロードして、既存クエリの再利用や編集を素早く行えます。

  • 対応ファイル形式は.sqlおよび.txtです。
  • アップロード後、ファイル内容が現在のクエリエディターの内容に置き換わります。

upload_query_file