Cassandra表中的多列

时间:2013-04-22 16:34:17

标签: cassandra cql3

我想知道当表中有多个非PK列时会发生什么。我读过这个例子: http://johnsanda.blogspot.co.uk/2012/10/why-i-am-ready-to-move-to-cql-for.html

使用单列显示:

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 个答案:

答案 0 :(得分:1)

这篇文章可能有助于解释创建复合键时发生的情况: Cassandra Composite Columns - How are CompositeTypes chosen?

基本上,表格将以下列方式显示:

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

另请参阅二级索引: http://wiki.apache.org/cassandra/SecondaryIndexes