データゲートウェイ概要
アナリスト・外部システム・BI・AIエージェントはストレージに直接接続しません。 データゲートウェイ(:5500・TLS :5501)が4つのクエリ言語を単一のエンドポイントで受け付け、スキーマを変更する文をブロックし、結果を制限し、すべてのクエリを記録します。
| 言語 | 何に接続するか | 何を参照できるか |
|---|---|---|
| PQL | PostgreSQL | メタデータ — アセット・タグ・ユーザー・設定 |
| CQL | Aster TSDB | センサー生値・集計・BLOBメタ |
| SQL | Kyuubi(Spark) | Icebergコールド層・ウェアハウス |
| TQL | 時系列エンジン(TSE) | メトリクス・ロールアップ |
開かれるが傷つかない
ゲートウェイは「遮断する門」ではなく**「制御された門」**です。読み取りは広く開放され、構造を変更する文と過剰な結果のみをブロックします。
構成
AIエージェントも同じ門から入ります
プラットフォームのMCPツールは内部的にこのゲートウェイと同じ権限・同じログ・同じ上限の下で実行されます。エージェントだからといって見えるものが増えるわけではありません。
3つのアクセス方法
| 方法 | いつ使うか |
|---|---|
REST POST /api/v1/query・/query/stream | 外部システム・スクリプト・エージェント |
SQLコンソール https://<server-ip>:5501/ | 人がブラウザで使用 — データゲートウェイコンソール |
Java SDK plantpulse-data-gateway-client | アプリケーションに組み込み — データゲートウェイクライアント |
ストレージに直接接続する必要があるBIツール向けには、JDBCドライバセットが別途用意されています — データクエリ。
5分で1行実行してみる
# 1. 살아 있나 (익명 readiness — 이 경로만 HTTPS 강제에서 빠집니다)
curl -fsS http://127.0.0.1:5500/api/health
# {"status":"UP","service":"plantpulse-data-gateway-web",…,
# "checks":{"database":true,"inmemory":true,"query_log":true}}
# 2. 메타데이터 한 줄 (PQL)
curl -fsS -X POST -H "X-API-Key: ${PP_DATA_GATEWAY_API_KEY}" -H "X-Lang: PQL" \
-H "Content-Type: application/json" \
-d "SELECT tablename FROM pg_tables WHERE schemaname='pp'" \
http://127.0.0.1:5500/api/v1/query
# 3. 큰 결과는 스트림으로 (NDJSON)
curl -fsS -X POST -H "X-API-Key: ${PP_DATA_GATEWAY_API_KEY}" -H "X-Lang: CQL" \
-H "Content-Type: application/json" \
-d "SELECT * FROM pp.tm_tag_value WHERE tag_id='TAG_001' LIMIT 100" \
http://127.0.0.1:5500/api/v1/query/stream
このセクションの構成
| ページ | いつ参照するか |
|---|---|
| API | エンドポイント・ヘッダー・パラメータバインディング・エラー契約 |
| 制御と制限 | 何がブロックされ何が記録されるか — DDL・レートリミット・上限 |
関連ドキュメント
plantpulse-data-gatewayコンポーネント — モジュール・パス・設定ファイル- データゲートウェイコンソール
- データゲートウェイクライアント
- データクエリ — PQL・CQL・Spark SQLのどれを使うか