来自一个分区或多个分区的cassandra supercolumn数据?

时间:2011-12-02 18:10:15

标签: cassandra database-partitioning super-columns

假设我有一个超级大家庭。还假设我在不同的机器实例上运行多个分区。我的超级列族数据如下所示(对于一行)

RowKey: 4818d991-9df5-4899-aa07-461f4ed19996
=> (super_column=4dddb83e-4096-428d-8d1b-8b0235ae772f,
     (column=1322847333862, value=, timestamp=1322847333863001)
     (column=1322847637237, value=, timestamp=1322847637237000)
     (column=1322847837206, value=, timestamp=1322847837206001)
     (column=1322848197819, value=, timestamp=1322848197819000))

现在我想知道,如果我对supercolumn系列进行查询以返回{row,super_column}的数据/子列,那么这些子列的所有值都将从一台机器或不同的机器返回?基本上这是一个问题 - 分区是在行级别还是超级列级别或子列级别进行的?而且,即使只是从一台机器返回,每个子列的顺序也会按原样返回,就像上面显示的那样?

1 个答案:

答案 0 :(得分:1)

分区在行级别完成,即整行存储在一台计算机上(可能在其他计算机上有副本,具体取决于您的复制因素)。

子列根据列名按照排序顺序存储 - 超级列可以在超级列名称和子列名称上指定比较器。见http://www.datastax.com/docs/0.8/ddl/column_family