【发布时间】:2021-05-27 22:12:37
【问题描述】:
我正在查看一个示例 RocksDB 选项配置:
opts = rocksdb.Options()
opts.create_if_missing = True
opts.max_open_files = 300000
opts.write_buffer_size = 67108864
opts.max_write_buffer_number = 3
opts.target_file_size_base = 67108864
opts.table_factory = rocksdb.BlockBasedTableFactory(
filter_policy=rocksdb.BloomFilterPolicy(10),
block_cache=rocksdb.LRUCache(2 * (1024 ** 3)),
block_cache_compressed=rocksdb.LRUCache(500 * (1024 ** 2)))
https://python-rocksdb.readthedocs.io/en/latest/tutorial/
它说
它分配 2.5G 的缓存,使用布隆过滤器进行更快的查找和 在写入 .sst 文件之前,在内存中保留更多数据 (64 MB)。
这是否意味着它使用的最大内存为 2.5GB 或 64MB?
为什么缓存是 2.5GB? (2 * (1024 ** 3)) 是 20 亿,而不是 25 亿?
【问题讨论】:
标签: rocksdb