我正在使用 Cassandra 3.7,我正在比较单个 Cassandra 节点上不同压缩/压缩配置的磁盘空间分配,得到的结果如下:
Configurations Size of Data Directory
1. No Compression - Default Compaction (Size-tiered): 3428288 (Bytes)
2. LZ4 Compressor - Size-tiered : 3456764 (Bytes)
3. Deflate Compressor - Size-tiered : 3554636 (Bytes)
4. Snappy Compressor - Size-tiered : 3435320 (Bytes)
5. LZ4 Compressor - Leveled : 4640088 (Bytes)
6. Snappy Compressor - Leveled : 5788312 (Bytes)
对于填充过程,我使用来自 csv 文件的 cqlsh COPY 命令。
我的问题是启用压缩如何导致分配比不压缩运行时更多的磁盘空间?为什么 Leveled-Compaction 比“Size-tiered”-Compaction 分配更多的内存,而它应该更适合读取密集型操作(更少的 SStables 搜索)?