CQL (Aster TSDB)
Tag-Werte und Ereignisse – diese Zeitreihen liegen hier. Das schnelle Abrufen von „ein Tag, ein Zeitraum" in Millisekunden ist die Stärke dieses Speichers.
| Element | Wert |
|---|---|
| Port | 9042 |
| Keyspace | pp |
| Repräsentative Tabellen | pp.tm_tag_point · tm_tag_point_archive · tm_tag_point_snapshot · pp.ts_data_points · pp.tm_asset_data |
| Engine | Aster TSDB Fork für industrielle Zeitreihen → Zeitreihendatenbank |
Verbindung
docker exec -it plantpulse-datalake pd node cql
🔴 CQL ist kein SQL
Aster TSDB ist ein Speicher, der über Partitionsschlüssel sucht und in Clustering-Reihenfolge durchläuft. Wenn Sie nur eines beachten, reicht das: WHERE mit Partitionsschlüssel und Zeitbereich angeben.
-- ✅ 이렇게
SELECT * FROM pp.tm_tag_point
WHERE tag_id = 'TAG-001'
AND timestamp >= '2026-07-01' AND timestamp < '2026-07-02';
-- ❌ 이렇게 하지 마십시오
SELECT * FROM pp.tm_tag_point WHERE value > 100 ALLOW FILTERING;
ALLOW FILTERING ist keine Erlaubnis, sondern eine WarnungWenn Aster TSDB das verlangt, bedeutet das: der gesamte Knoten muss durchsucht werden. Wenn Sie das in einem laufenden Cluster ausführen, werden in diesem Moment auch andere Abfragen langsamer. Solche Abfragen bitte an Spark SQL senden.
Beispiele
Einige letzte Werte
SELECT timestamp, value FROM pp.tm_tag_point
WHERE tag_id = 'TAG-001'
ORDER BY timestamp DESC
LIMIT 20;
Zeitraum begrenzen
SELECT timestamp, value, quality FROM pp.tm_tag_point
WHERE tag_id = 'TAG-001'
AND timestamp >= '2026-07-01 08:00' AND timestamp < '2026-07-01 09:00';
Stündlicher Durchschnitt – Berechnung auf dem Server
SELECT time_bucket(1h, timestamp) AS bucket, avg(value)
FROM pp.tm_tag_point
WHERE tag_id = 'TAG-001'
AND timestamp >= '2026-07-01' AND timestamp < '2026-07-02'
GROUP BY tag_id, time_bucket(1h, timestamp);
Es sind 21 Zeitreihenfunktionen inklusive time_bucket eingebaut → Zeitreihenfunktionen.
Log-Textsuche
SELECT ts, msg FROM logs
WHERE device = 'pump-01'
AND ts >= '2026-07-31' AND ts < '2026-08-01'
AND msg LIKE '%타임아웃%';
Geht auch ohne ALLOW FILTERING → Volltextsuche.
Schema anzeigen
DESCRIBE KEYSPACES;
DESCRIBE TABLE pp.tm_tag_point;
-- 이 테이블에 걸린 컴팩션·계층화 설정
SELECT compaction, extensions FROM system_schema.tables
WHERE keyspace_name = 'pp' AND table_name = 'tm_tag_point';
Zu beachten
- Sortierung nur in Richtung des Clustering-Schlüssels.
ORDER BYkann nicht zum Sortieren beliebiger Spalten verwendet werden. - Keine Joins. Wenn Sie mehrere Tabellen verknüpfen müssen, dann Spark SQL.
- TTL pro Tabelle, Komprimierungsstrategie und Größe zeigt
pd retention. - Auch wenn alte Daten komprimiert sind, bleiben Abfragen gleich –
SELECTliest sie automatisch zusammen → Hierarchische Speicherung.
Siehe auch
- Zeitreihendatenbank – Funktionen · Komprimierung · Volltextsuche
- Client-Bibliotheken – So verbinden Sie sich aus Programmen