2011-05-24 76 views

回答

1

http://en.wikipedia.org/wiki/Apache_Cassandra權利要求(顯然不正確!)的是:

在一個表中的行密鑰是一個字符串 沒有大小限制,雖然 通常爲16到長

參見36個字節:

http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/value-size-is-there-a-suggested-limit-td4959690.html其中暗示有一些限制。

顯然,如果需要通過Thrift RPC接口發送網絡性能的影響,非常大的密鑰可能會對網絡性能產生影響 - 而且這些密鑰會花費存儲空間。我建議你嘗試一個快速的基準,看看它對你的數據有什麼影響。

解決此問題的一種方法可能是預先哈希您的密鑰,並將哈希值用作密鑰,但這不適合所有用例。

14

鍵(和列名稱)必須小於64K字節。

路由是O(N)的密鑰大小,查詢和更新是O(N log N)。在實踐中,這些因素通常被其他開銷所掩蓋,但一些擁有非常大的「自然」鍵的用戶使用散列來減少大小。

+0

這可以添加到http://wiki.apache.org/cassandra/Cas​​sandraLimitations或其他一些明智的地方嗎? - 我還沒有看到這個文件在任何地方...... – DNA 2011-05-25 15:51:02

+1

這個wiki是可公開編輯的。只需點擊登錄創建一個帳戶。 – jbellis 2011-05-26 15:42:40

+0

感謝 - 爲http://wiki.apache.org/cassandra/FAQ#max_key_size和http://wiki.apache.org/cassandra/Cas​​sandraLimitations添加了信息 – DNA 2011-05-26 18:36:44