2012-04-27 57 views
2

我正在評估cassandra是一個我的項目,我很想知道基本cassandra模式設計的可行性,該設計擁有數百萬列數百萬行的列族。每行將有一個30,000列的上限。這是一個可行的分佈式cassandra集羣設計(5-10個節點),還是我錯過了一些東西?Cassandra模式設計的可行性

我也很想知道在一次事務中從單行中檢索所有列的可行性。我想這樣做的原因是在將它們返回給用戶之前,按照它們的價值對它們進行排序。

回答

6

數百萬列家族目前在cassandra中不可行。最近版本的上限是數千個。此外,您所描述的數據集(數百萬cfs x數百萬行)表示至少1萬億行。當然,這取決於集羣的具體情況,但這些行數/數據量需要比5-10個節點大得多的集羣。 Cassandra要比許多中等大小的節點要好得多,而非大型和強大的節點。

關於一次檢索所有列,默認最大請求大小爲15mb。這可以改變,但你幾乎肯定不想改變它。你的查詢很可能不應該接近這個最大請求,因爲這樣的大分配在JVM上很難。是否有一個理由需要在一個單一的交易?您可以輕鬆地在幾個請求中翻閱一行,以便獲取所有列,然後在該點進行排序。

+0

感謝您的回答。自從我原來的文章中,我已經將它縮小到只有幾列數百萬行和數千列的列族。有關最大查詢大小的信息非常有用。我想一次獲得儘可能多的行,只是爲了儘量減少到服務器的往返行程。 – 2012-05-01 15:52:08