2011-12-02 43 views
1

假设我有一个超级柱子族。还假设我有多个分区在不同的机器实例上运行。我supercolumn系列数据如下所示(一行)cassandra超级列数据从一个分区或多个?

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家庭的查询返回的数据/分列的{行,super_column},将所有这些子列的值从一台机器或不同的机器回来?基本上这是一个问题 - 分区是在行级别还是super_column级别或子列级别发生的?而且,即使仅从一台机器回来,每个子列的顺序是否会按原样返回,如上所示?

回答

1

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

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

相关问题