LevelDB源码分析——6.Sorted String Table

六.Sorted String Table

本系列的上一篇介绍了内存数据库,并且提到了内存数据库的大小限制问题。当内存数据块占用的内存达到阈值时(LevelDB 默认 4MB),会将当前的内存数据库 mem_ 转为不可修改的 imm_,并且为 mem_ 赋值一个新的内存数据库。这使得内存数据库的大小始终保持在阈值以下,同时保持着超高的读写性能。而不可修改的 imm_ 会经历Compaction 过程,转为 Sorted Table 存储到磁盘中。本篇将详细阐述该过程。

阅读更多...

LevelDB源码分析——3.日志

三.日志

本系列的前两篇介绍了 LevelDB 中使用的数据结构,并没有牵涉到 LevelDB 的核心实现。接下来的几篇将着重介绍 LevelDB 核心组件,包括日志、内存数据库、SortedTable、Compaction 和版本管理。本篇着重阐述高性能写操作的核心:日志和内存数据库。

怎样最快地把键值对存起来?不考虑查找的速度的话,追加地写入文件是最快的,查找时反向查找。举个例子🌰:

阅读更多...
  • Copyrights © 2021-2022 Xufei Pan
  • Visitors: | Views:

请我喝杯奶茶吧~

支付宝
微信