target_file_size_base | state.backend.rocksdb.compaction.level.target-file-size-baseL1层单个 sstable 文件的大小阈值,默认值为64MB。每向上提升一级,阈值会乘以因子 target_file_size_multiplier(但默认为1,即每级sstable最大都是相同的)。显然,增大此值可以降低 compaction 的频率,减少写放大,但是也会...
RocksDB调整SSTable的大小 structAdvancedColumnFamilyOptions{// Target file size for compaction.// target_file_size_base is per-file size for level-1.// Target file size for level L can be calculated by// target_file_size_base * (target_file_size_multiplier ^ (L-1))// For example, if ...
每层的文件大小比前一层的大target_file_size_multiplier倍。然而,默认的target_file_size_multiplier 是1,所以L1...Lmax的文件大小是一样的。增加target_file_size_base 会减少数据库的文件数,一般是一件好事。我们建议设置target_file_size_base为max_bytes_for_level_base / 10,这样在1层会有10个文件。 co...
Flink 参数为 state.backend.rocksdb.compaction.level.target-file-size-base(ColumnFamilyOptions 的 setTargetFileSizeBase 方法),表示上一级的 SST 文件达到多大时触发 Compaction 操作,默认值是 2MB(每增加一级,阈值会自动乘以 target_file_size_multiplier). 为了减少 Compaction 的频率,可以适当调大此参数,例如...
.setTargetFileSizeBase(256 * 1024 * 1024) // 每个 SSTable 文件的目标大小,根据磁盘 I/O 能力调整 .setMaxBytesForLevelBase(1024 * 1024 * 1024) // Level 1 的目标大小,根据磁盘空间调整 .setMaxBytesForLevelMultiplier(10) // 每层的目标大小是前一层的倍数,控制 Compaction 触发条件 ...
target_file_size_base- level1-levelN的单个SST文件大小 max_bytes_for_level_multiplier- level1-levelN中,相邻两个level的大小的差距,例如level1为256MB,差距为10的话,level2就为2560MB num_levels- 最多可以有几个level 这里详细介绍一下合并操作的触发条件,了解不同level之间的合并触发是非常重要的,因为通...
target_file_size_multiplier —— 系数,level2的文件大小是target_file_size_base*target_file_size_multiplier,以此类推 max_bytes_for_level_base —— level1的文件大小总量,超过后会触发compaction以降低level1的文件总量。 max_bytes_for_level_multiplier —— level2的文件大小总量限制是max_bytes_for_level...
options.write_buffer_size = 64 * 1024 * 1024; options.target_file_size_base = 64 * 1024 * 1024; options.max_bytes_for_level_base = 512 * 1024 * 1024; 1. 2. 3. 4. 5. 6. 7. 任何时候,只能有1个并发压缩和1个落盘线程在进行。然而,系统有多个分片,所以在不同分片会有多个压缩。否则...
target_file_size_base | state.backend.rocksdb.compaction.level.target-file-size-baseL1层单个 sstable 文件的大小阈值,默认值为64MB。每向上提升一级,阈值会乘以因子 target_file_size_multiplier(但默认为1,即每级sstable最大都是相同的)。显然,增大此值可以降低 compaction 的频率,减少写放大,但是也会造成旧...
target_file_size_base这是级别 1 中 sst 文件的基本大小。每个后续级别都会将target_file_size_multiplier的附加乘数应用于此基本文件大小 level0_file_num_compaction_trigger 这控制在触发压缩到级别 1 之前可以在级别 0 中累积的文件数。级别 0 的总大小由以下公式控制: write_buffer_size * min_write_buffer...