【发布时间】:2012-09-19 16:34:16
【问题描述】:
我最接近最终理解磁盘 btree 架构的是this。
它很简单,很容易阅读和理解。但我仍然感到困惑。似乎根本没有任何内存数据结构。我错过了什么吗?是什么使它成为 btree?仅仅是“指向”其子节点键的 long 数组吗?那效率高吗?大多数数据库和文件系统就是这样设计的吗?
有没有办法在内存中的磁盘 btree(或其他数据结构)上实现?每个节点在哪里包含一个文件偏移量什么的?
【问题讨论】:
-
您期望什么样的内存数据结构?磁盘上的 b-tree 应该比使用它的进程寿命更长。内存中的树就像磁盘上的树一样(您期望的主要区别是什么,除了小的可能有不同的选择)。
-
@usr 我只是对如何实现磁盘数据结构感到困惑。节点如何指向它们的子节点?他们是否持有对其偏移量的引用?他们的钥匙?单个树通常保存在单个文件中吗?
标签: c database filesystems disk b-tree