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