implementation - 在 LevelDB 中,是否所有的键都加载到内存中?

标签 implementation key-value-store leveldb

因此,我一直在阅读有关 LevelDB 和其他在其实现中使用日志结构化合并树的键值存储的实现。我对此有几个问题:

  • 即使在大型数据集的情况下,是否所有键都加载到 LevelDB 的内存中?
  • 如果不是,如何搜索 key ,是通过二进制搜索还是任何其他算法?

最佳答案

所以,我确实发现有一个 memtable 保存内存中的键和值,当这个 memtable 变得超过某个特定大小时 - 压缩过程就会发生。因此 memtable 被写入 SST 并被清空。因此,似乎所有的键都没有存储在内存中,LevelDB 确实使用 SST 文件中重启点的概念对文件进行二进制搜索。

关于implementation - 在 LevelDB 中,是否所有的键都加载到内存中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70733733/

相关文章:

key-value-store - etcd 是否使用 boltdb 作为其后端?

key-value - LevelDB 快照能否在数据库关闭后继续存在?

python - 无法从 python leveldb 数据库中删除锁定

deep-learning - 如何在 caffe 中创建用于对象检测的数据集?

c++ - 方法和自由函数之间有哪些细微的区别?

swift - 如何在 SwiftUI 中创建条件内容?

actionscript-3 - 检查类是否实现特定接口(interface)

c++ - 多线程opencv视频处理Qt/C++

c++ - LevelDB --- C++ 代码

c++ - LevelDB random read -- 为什么官方的benchmark这么好?