Cassandra Partitionsschlüssel für Zeitreihendaten

Ich teste Cassandra als Zeitreihendatenbank.

Ich erstelle ein Datenmodell wie folgt:

CREATE KEYSPACE sm WITH replication = {
  'class': 'SimpleStrategy',
  'replication_factor': 1
};

USE sm;

CREATE TABLE newdata (timestamp timestamp,
  deviceid int, tagid int,
  decvalue decimal,
  alphavalue text,
  PRIMARY KEY (deviceid,tagid,timestamp));

Im Primärschlüssel lege ich die Geräte-ID als Partitionsschlüssel fest, was bedeutet, dass alle Daten mit derselben Geräte-ID in einen Knoten geschrieben werden (bedeutet dies eine Maschine oder eine Partition. Jede Partition kann maximal 2 Milliarden Zeilen enthalten), auch wenn ich Daten abfrage Innerhalb desselben Knotens erfolgt der Abruf schnell. Stimmt das? Ich bin neu bei Cassandra und ein bisschen verwirrt über den Partitionsschlüssel und den Clustering-Schlüssel.

Die meisten meiner Anfragen lauten wie folgt:

ählen Sie den letzten Zeitstempel von know deviceid und tagid auWählen Sie den Wert der bekannten Geräte-ID und Tag-ID sowie den Zeitstempel aus.Wählen Sie den Alphawert der bekannten Geräte-ID und der Tag-ID sowie den Zeitstempel aus.select * von know deviceid und tagid mit Zeitbereichselect * der bekannten Geräte-ID mit dem Zeitbereich

Ich werde ungefähr 2000 Geräte-ID haben, jede Geräte-ID wird 60 Tag-ID / Wert-Paare haben. Ich bin nicht sicher, ob es eine breite Reihe von Geräte-IDs, Zeitstempeln, Tag-IDs / Werten, Tag-IDs / Werten sein wird.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage