cassandra表中的多列

tpxzln5u  于 2021-06-14  发布在  Cassandra
关注(0)|答案(1)|浏览(383)

我想知道当一个表中有多个非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)
);

我们得到:

现在我想知道当我们有两列时会发生什么:

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等),那么最好是使用单独的表,而不是将所有内容都存储在一个表中?

avkwfej4

avkwfej41#

这篇文章可能有助于解释创建复合键时发生了什么:cassandra复合列-如何选择复合类型?
因此,表的基本形式如下所示:

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

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

相关问题