Ключ разделения Cassandra для данных временных рядов

Я тестирую Кассандру как базу данных временных рядов.

Я создаю модель данных, как показано ниже:

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));

В Первичном ключе я устанавливаю deviceid в качестве ключа раздела, что означает, что все данные с одинаковым идентификатором устройства будут записываться в один узел (означает ли это один компьютер или один раздел. Каждый раздел может иметь до 2 миллиардов строк), даже если я запрашиваю данные в пределах тот же узел, поиск будет быстрым, я прав? Я новичок в Cassandra и немного запутался по поводу ключа раздела и ключа кластеризации.

Большая часть моего запроса будет выглядеть так:

выберите последнюю метку времени для идентификатора устройства и тегаВыберите десятичное значение известного deviceid, tagid и метку времени.Выберите буквенное значение известного deviceid, tagid и метку временивыберите * из известного deviceid и tagid с диапазоном временивыберите * известного устройства с временным диапазоном

У меня будет около 2000 deviceid, у каждого deviceid будет 60 пар tagid / value. Я не уверен, будут ли это широкие строки deviceid, timestamp, tagid / value, tagid / value ....

Ответы на вопрос(1)

Ваш ответ на вопрос