Überblick über Datenabfragen
Das Data-Lake umfasst mehrere Speicher, und je nachdem, was Sie abfragen, ist die Abfragesprache unterschiedlich. Dieser Abschnitt fasst zusammen, wie die drei jeweils verwendet werden.
| Was Sie abfragen möchten | Speicher | Sprache | Dokumentation |
|---|---|---|---|
| Metadaten wie Anlagen · Tags · Benutzer | PostgreSQL | SQL | PostgreSQL |
| Zeitreihen wie Tag-Werte | Aster TSDB | CQL | CQL |
| Join · Massenanalyse über mehrere Speicher auf einmal | Spark (Kyuubi) | Spark SQL | Spark SQL |
Für einen Tag und einen Zeitraum CQL, für Anlagenlisten oder Konfigurationen PostgreSQL, für das Mischen mehrerer Speicher oder das Durchsuchen von hunderten Millionen Zeilen Spark SQL.
Die drei unterscheiden sich in ihrem Charakter
| PostgreSQL | Aster TSDB (CQL) | Spark SQL | |
|---|---|---|---|
| Stärken | Joins · Constraints · Transaktionen | Zeitbereichsabfragen in einer Partition | Massen-Scans · Joins über Speicher hinweg |
| Schwächen | Zeitreihen mit hunderten Millionen Zeilen | Beliebiges Joinen, Abfragen ohne Partitionsschlüssel | Kurze Antwortzeiten (Startkosten im Sekundenbereich) |
| Antwortzeit | Millisekunden | Millisekunden | Sekunden bis Minuten |
| Anbindung | 5432 | 9042 | 10000 (Kyuubi) |
🔴 Verwenden Sie CQL nicht wie SQL. Aster TSDB ist ein Speicher, der «über den Partitionsschlüssel sucht und in Clustering-Reihenfolge scannt».
Wenn Sie Bedingungen ohne Partitionsschlüssel angeben, wird der gesamte Knoten durchsucht, und in diesem Fall verlangt Aster TSDB
ALLOW FILTERING — diese Anforderung ist eine Warnung, keine Erlaubnis.
Senden Sie solche Abfragen an Spark SQL.
Anbindung — zwei Wege
① Über die Konsole — SQL im Browser ausführen. Konten · Berechtigungen · Auditierung werden angewendet.
Die Data-Gateway-Konsole ist diese Oberfläche. Der normale Weg, wenn eine Person sich mit einem laufenden Knoten verbindet.
② Im Knoten — Direkt über die Shell verbinden. Für Betrieb · Debugging.
docker exec -it plantpulse-datalake pd node psql # PostgreSQL
docker exec -it plantpulse-datalake pd node cql # Cassandra (cqlsh)
Bei direkter Verbindung werden Berechtigungen und Auditierung des Gateways umgangen. Nutzen Sie für Abfragen die Konsole, die Shell nur für Dinge, die die Konsole nicht kann.
Siehe auch
- Zeitreihendatenbank — Zeitreihenfunktionen · Kompression · Volltextsuche von CQL
- Data-Gateway-Konsole — SQL-Ausführung im Browser
- Client-Bibliotheken — Anbindung aus Programmen