2015-02-17 20 views
0

我對Cassandra建議的羣集方法的理解是通過對文件的唯一標識進行散列來確保羣集中的每個節點都能收到相同的數據分佈。我的問題是,是否有方法可以改變這種情況,並定義一個用於將文檔「智能」地路由到集羣中特定節點的自定義鍵?Cassandra:控制哪個節點接收數據

在我的場景中,我有關於特定實體(認爲client-project-task-item)的數據在我的所有數據中;我將有足夠的項目需要一些水平縮放;但是,每個搜索將始終與給定的客戶端項目任務相關,該客戶端項目任務的數據集只有中等大小。

有沒有辦法在Cassandra中創建這種類型的分區/路由(我已經見過不同的名稱)邏輯?

謝謝;布倫特

回答

0

卡桑德拉的聚類方法不僅僅用於平均分配數據。它還確保所有讀/寫操作都分佈在集羣中,以加快這些操作。除此之外,很可能您的複製因子大於1,以確保數據冗餘,以便節點故障不會導致數據丟失。

回到你的問題和你自己的答案。如果您對數據使用相同的分區鍵,這可以確保Cassandra分區將數據的主要副本存儲在同一個節點上,甚至更多地將它們存儲在同一個分區中(舊的「寬行」命名方式)。

相關問題