H2的存储引擎MVStore剖析(3) —— 核心代码部分

646 阅读1分钟

引言:

在阅读MVStore源码的时候,发现有很多步骤和分支其实并不需要去关注。于是我就先把MVStore的源码中比较关键的部分提取出来,把学习的重点放在MVStore的基本架构、B+树的实现及其持久化。本文将简单介绍下提取出来的核心代码。

最后经验证,生成出来的存储文件是和H2的存储文件一致的(插入相同的key,value)。并且,为了更好地可视化,程序另外加了一部分功能,支持读入生成出来的存储文件并可视化出B+树,以及支持可视化搜索路径,可应用理解B+树的搜索过程

具体源码可到here获取

选择生成出来的存储文件(可直接读取有H2生成出来的存储文件)

image-20210927215053597.png

可视化B+树

image-20210927215140429.png

搜索key=144

image-20210927215307947.png

显示144的搜索路径

image-20210927215327121.png