Cassandra的最大钥匙尺寸

blo*_*err 4 cassandra

我对使用cassandra完全不熟悉..是否有最大的密钥大小并会影响性能?

谢谢!

jbe*_*lis 14

密钥(和列名称)必须小于64K字节.

路由是密钥大小的O(N),查询和更新是O(N log N).在实践中,这些因素通常与其他开销相比相形见绌,但是一些具有非常大的"自然"键的用户使用他们的哈希来减小其大小.


DNA*_*DNA 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 接口发送非常大的密钥,可能会对网络性能产生一些影响 - 并且会消耗存储空间。我建议您尝试一个快速基准测试,看看它对您的数据有什么影响。

处理这个问题的一种方法可能是预先散列您的密钥并仅使用散列值作为密钥,尽管这并不适合所有用例。