2012-03-26 40 views
7

我要測試Cassandra的不同數據模型。我正在考慮使用由key1:key2作爲行鍵的組合鍵。例如,通過在Cassandra上的這種配置,我可以查詢所有行都具有特定的key1值和任何key2值,但是否則不可能(取得具有特定key2值和任何key1的所有行)。 是不是?關於Cassandra複合關鍵字的誤解

在此先感謝

切薩雷

回答

3

如果使用保序分區(OPP),然後是,各鍵將被分類保存,然後就可以在一定範圍的密鑰獲得片如A:A到A:Z - 但不一定是:A到任何:Z。

但是,OPP不能保證在整個節點上均勻分配密鑰,並且最終會出現太多或太少密鑰的「熱點」。您可能想要使用隨機分區(RP),通過散列存儲在所有節點上來分配密鑰。

但是,由於列存儲已排序,因此使用Composite值對於訪問數據範圍非常強大。

有關使用Hector查詢複合列的詳細信息,請參閱此question

如有必要,可以使用列名作爲鍵來執行Multiget查詢以進行其他查找。