2013-04-22 6 views
5

Мне интересно, что происходит, когда в таблице есть несколько столбцов Non-PK. Я прочитал этот пример: http://johnsanda.blogspot.co.uk/2012/10/why-i-am-ready-to-move-to-cql-for.htmlНесколько столбцов в таблицах Cassandra

Это показывает, что с одной колонки:

CREATE TABLE raw_metrics (
schedule_id int, 
time timestamp, 
value double, 
PRIMARY KEY (schedule_id, time) 
); 

Получаем:

enter image description here

Теперь интересно, что происходит, когда у нас есть две колонки:

CREATE TABLE raw_metrics (
schedule_id int, 
time timestamp, 
value1 double, 
value2 int, 
PRIMARY KEY (schedule_id, time) 
); 

Мы собираемся в конечном итоге что-то вроде:

row key columns... 
123  1339707619:"value1" | 1339707679:"value2" | 1339707784:"value2" 
... 

или скорее:

row key columns... 
123  1339707619:"value1":"value2" | 1339707679:"value1":"value2" | 1339707784:"value1""value2" 
... 

и т.д. Я думаю, что я прошу, если это будет разреженным таблице, учитывая, что Я вставляю только значения «value1» или «value2».

В таких ситуациях, если я хочу хранить больше столбцов (по одному на каждый тип, например double, int, date и т. Д.), Было бы лучше, возможно, иметь отдельные таблицы, а не хранить все в одной таблице?

ответ

1

Это сообщение может помочь в объяснении того, что происходит, когда создаются составные ключи: Cassandra Composite Columns - How are CompositeTypes chosen?

Так, по существу, таблица будет выглядеть следующим образом:

row key columns... 
123  1339707619:"value1" | 1339707679:"value2" | 1339707784:"value2" 

Смотрите также ссылки на вторичные индексы: http://wiki.apache.org/cassandra/SecondaryIndexes

Смежные вопросы