Zum Hauptinhalt springen

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.

ElementWert
Port9042
Keyspacepp
Repräsentative Tabellenpp.tm_tag_point · tm_tag_point_archive · tm_tag_point_snapshot · pp.ts_data_points · pp.tm_asset_data
EngineAster 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 Warnung

Wenn 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 BY kann 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 – SELECT liest sie automatisch zusammen → Hierarchische Speicherung.

Siehe auch​