有没有办法控制SSTable的最大大小,例如100 MB,这样当CF实际数据超过100MB时,Cassandra会创建下一个SSTable?
min_threshold
(默认为4)个相同大小的sstables时,STCS将在次要压实中将它们组合成一个文件,过期数据并合并键。这有可能在一段时间后创建非常大的SSTables。sstable_size_in_mb
选项,用于控制SSTable的目标大小。一般来说,除非您有一个包含大量数据的分区键(“宽行”),否则SSTables的大小将小于或等于此大小。
我还没有对日期分层压缩策略进行过多的实验,但它与STCS类似,它合并相同大小的文件,但它按时间顺序保持数据,并具有配置以停止压缩旧数据(max_sstable_age_days
),这可能会很有趣。
关键是找到最适合您的数据的压缩策略,然后根据最适合您的数据模型/环境调整相关属性。
sstable_size_in_mb
?我尝试将其放置在conf/cassandra.yaml中,例如sstable_size_in_mb: 40
,但是Cassandra启动失败并显示以下错误:org.apache.cassandra.exceptions.ConfigurationException: Invalid yaml. Please remove properties [sstable_size_in_mb] from your cassandra.yaml - RRM