Позволяет рассмотреть следующую таблицу, взятую из http://planetcassandra.org/blog/getting-started-with-time-series-data-modeling/
Cassandra 2.0.11 - счетчик колонки для разделения ключа
CREATE TABLE temperature
(
weatherstation_id text,
event_time timestamp,
temperature text,
PRIMARY KEY (weatherstation_id,event_time)
);
weatherstation_id
Так это ключ раздела и event_time
является столбцом кластеризации.
Данные загружаются в эту таблицу, а затем мы проводим запрос:
SELECT COUNT(1) FROM temperature WHERE weatherstation_id = '1234ABCD'
Поэтому на самом деле мы спрашиваем для числа столбцов в базовой строке хранения Cassandra.
1) Это операция O (1)?
2) Если нет - как достигать O (1) в подсчете столбцов в строке хранения cassandra? Использовать счетчики?
(я использую Cassandra v2.0.11)
Спасибо
Я очень удивлен, что количество столбцов внутри раздела не сохраняется в метаданных раздела или что-то в этом роде –
@fuggy_yama Хранение номера столбца не помогает. Данные для раздела потенциально могут быть распределены между несколькими SSTables и Memtables, и подсчеты должны быть объединены. К сожалению, вы не можете просто добавить эти подсчеты вместе, поскольку одни и те же столбцы могут существовать в нескольких местах. –
Хорошая точка @MichaelMior –