メインコンテンツまでスキップ

データクエリ概要

データレイクにはストレージが複数あり、何を尋ねるかによってクエリ言語が異なります。 この節では、3つをそれぞれどう使うかを整理します。

尋ねたいものストレージ言語ドキュメント
設備・タグ・ユーザーなどのメタデータPostgreSQLSQLPostgreSQL
タグ値などの時系列Aster TSDBCQLCQL
複数ストレージを一度に結合・大量分析Spark (Kyuubi)Spark SQLSpark SQL
選び方の基準一行

1タグの1期間ならCQL、設備リストや設定ならPostgreSQL、 複数ストレージを混ぜるか数億行を走査するならSpark SQLです。

3つの性質が異なります​

PostgreSQLAster TSDB (CQL)Spark SQL
得意なこと結合・制約・トランザクション1パーティションの時間範囲の参照大量スキャン・ストレージ間結合
苦手なこと数億行の時系列任意の結合、パーティションキーなしの参照短い応答(秒単位の起動コスト)
応答ミリ秒ミリ秒秒~分
接続場所5432904210000 (Kyuubi)

🔴 CQLをSQLのように使わないでください。 Aster TSDBは「パーティションキーで探し、クラスタリング順で走査する」 ストレージです。パーティションキーなしで条件を付けると全ノードを探すことになり、その場合Aster TSDBは ALLOW FILTERINGを要求します — その要求は警告であって許可ではありません。 そのようなクエリはSpark SQLに送ってください。

どこに接続するか — 2つの経路​

①コンソールから — ブラウザでSQLを実行します。アカウント・権限・監査が適用されます。

データゲートウェイコンソール がその画面です。 稼働中のノードに人が接続する正規の経路です。

②ノード内から — シェルで直接接続します。運用・デバッグ用です。

docker exec -it plantpulse-datalake pd node psql # PostgreSQL
docker exec -it plantpulse-datalake pd node cql # Cassandra (cqlsh)
運用ノードへの直接接続は最後の手段です

直接接続すると、ゲートウェイの権限・監査をスキップします。参照はコンソールで、シェルはコンソールではできないことにのみ 使用してください。

関連項目​