树
重要的
该项目正在进行中,出于教育目的被视为正在进行中。
受启发的持久性B + Tree实现,被设计为键值存储的索引。
设计
每个BTree结构都与包含其节点的文件关联。 每个节点都有一个预定义的结构。
单元测试可作为API使用的有用示例。
磁盘上的节点结构
有两个NodeType变种- Internal和Leaf ; 每个变体在磁盘上都有其自己的预定义结构。 叶子节点具有以下结构:
| IS-ROOT 1-byte| NODE-TYPE 1-byte | PARENT OFFSET - 8 bytes | Number of pairs - 8 bytes |
| Key #0 - 10 bytes | Value #0 - 10 bytes | ...
| Key #N - 10 bytes | Value #N - 10 bytes |
磁盘上内部节点的结构如下:
| I