Cassandra是否优化了重复字符串的存储?

时间:2017-05-05 13:31:37

标签: cassandra cassandra-2.1

我们正在尝试减少当前的磁盘使用量。在这样做时,我们注意到我们存储的大多数信息主要是元数据,包括在多个表和行中重复的相同字符串。

由于字符串通常比整数占用更多空间,我们认为我们可以用整数替换这些字符串以减少磁盘使用量。我们这样做了,发现磁盘消耗量差别不大。

我们只注意到元数据字符串中存在较大差异时的显着差异。即字符串变化多了。

所以现在我想知道Cassandra 2.1是否采用了一些巧妙的方法来存储重复信息,如果是这样,有人能指出一些关于它如何做到这一点的来源吗?我一直无法找到有关此事的任何内容。

感谢。

1 个答案:

答案 0 :(得分:3)

Cassandra从不混合属于不同表格的数据,因此如果你的字符串在多个表格中重复,那么C *就无法以任何方式混合优化它们。

唯一的问题是C *(除非你禁用它)在SSTable刷新期间使用压缩。根据您设计表格的方式,压缩比C *将会大大改变。例如,将字符串列作为聚类键,压缩算法将大大受益。并且有太多的小记忆可能会影响每个SSTable的压缩率。