我试图理解在“内存/存储消耗”方面使用MD5 Hash作为Cassandra Key的含义:
Cassandra的存储消耗是多少,将其用作行键?
如果我直接使用Hash函数中的字节数组,我会假设它在Cassandra中消耗了16个字节?
但是如果我使用十六进制字符串表示(如上所述),cassandra可以将其“压缩”为16个字节,还是在cassandra中也需要64字节?我假设Cassandra有64个字节,这是正确的吗?
您使用什么样的按键?你是直接使用哈希函数的outpout还是首先编码为十六进制字符串,然后使用字符串? (在MySQL中我总是,每当我使用哈希键时,我都使用它的十六进制字符串表示...所以它在MySQL工具和整个应用程序中可以直接读取。但我现在意识到它浪费了存储? ?)
也许我的想法完全不正确,那么解释我错在哪里会很友善。
非常好吃! 延答案 0 :(得分:2)
在两个计数上都正确:byte []为16个字节,utf16-as-hex为64个。
在0.8中,Cassandra有关键元数据,所以你可以告诉它“这个键是一个字节[]”,它将在cli中以十六进制显示。