我已经使用sstable_size = 256MB设置了带有Leveled Compaction的Cassandra。然而,经过多次压缩,我的sstables继续增长超过256MB。我以为他们的上限是256MB。我能正确理解吗?
以下是表格属性: ...)WITH bloom_filter_fp_chance = 0.100000 AND caching ='KEYS_ONLY'AND comment =''AND dclocal_read_repair_chance = 0.000000 AND gc_grace_seconds = 86400 AND index_interval = 128 AND read_repair_chance = 0.000000 AND replicate_on_write ='true'AND populate_io_cache_on_flush ='false'AND default_time_to_live = 0 AND speculative_retry = '99 .0PERCENTILE'AND memtable_flush_period_in_ms = 0 AND compaction = {'sstable_size_in_mb':'256','class':'LeveledCompactionStrategy'} AND compression = {'sstable_compression':'LZ4Compressor'};
答案 0 :(得分:0)
问题是你有非常大的分区,sstable的最小大小是一个分区。
如果您不需要扫描每个分区的版本,则可以使用复合分区键将每个版本作为自己的分区:http://www.datastax.com/documentation/cql/3.0/webhelp/cql/cql_reference/create_table_r.html
如果你确实需要整理版本,那么你需要考虑某种“分片”方案,例如: PK((关键,日),版本)。