在rocksdb中,是否有任何方法可以知道一个文件在一个级别中可以达到多少大小?

时间:2019-04-25 04:03:12

标签: rocksdb

我正在rocksdb上工作,但是无法获得可以告诉我某个级别内文件大小上限的选项?如果一旦达到最大大小,如何在RocksDB中拆分文件?

1 个答案:

答案 0 :(得分:0)

您要查找的选项是target_file_size_basetarget_file_size_multiplier

target_file_size_base-在1级配置SST文件的大小。

target_file_size_multiplier-在其他级别配置SST文件的大小。

例如:如果target_file_size_base设置为2MB,而target_file_size_multiplier为10,则

Level-1 SST文件将为2MB, 二级SST文件为20MB, Level-3 SST文件将为200MB,依此类推。

您还可以使用以下命令在每个级别中配置此类文件的数量: max_bytes_for_level_basemax_bytes_for_level_multiplier

例如:如果max_bytes_for_level_base = 200MB,而target_file_size_base = 2MB,则Level-1将包含100个文件,每个文件2MB

您可以在options.hadvanced_options.h文件中检查这些选项。

  

如果达到最大大小,如何在RocksDB中拆分文件

在压缩/刷新期间,将使用配置的大小创建文件。如果文件数超过配置的数量,则会触发压缩并将文件推到更高的级别