我们如何在光盘中实现b树或b树以提供数据库索引?

时间:2018-10-29 12:25:30

标签: indexing b-tree

首先,我想让您知道我已经阅读了Stackoverflow或任何其他网站上存在的所有此类答案。我也经历了这个answer。虽然,答案很实用,但没有回答我的问题。

我知道我必须创建一个固定大小的文件才能在光盘中实现b +树。我了解b +树可在固定大小的块上工作,并且仅将数据存储在叶子节点上,但是我不明白的是我将如何指向/引用叶子中的实际数据(数据库中存在的数据)?

这里是我发现有用的另一个答案。

  

在内存中,每个节点都指向包含子节点的内存-显然磁盘上的节点无法指向RAM,因此您需要某种从指针到磁盘地址的映射。这非常简单-将节点写出,使它们在磁盘上连续,并存储存储每个节点的地址。然后,遍历每个节点中的每个指针,在指针->刚创建的磁盘映射中查找。

link原始问题和答案。

我无法理解的是如何将指针映射到磁盘地址。如何从磁盘获取任何数据库记录的内存位置?

如果数据库中存在大小不同的记录,我将如何提供索引。在这种情况下,我还需要采取什么额外的步骤来提供索引?

我要求您表现出一些敏感性,不要将我的问题标记为重复条目。我知道该平台上存在另一个标题相同的问题,但是对该问题的回答并没有太大帮助。

如果您已参考或链接到任何显示如何使用光盘中的b +树实现索引的书,则请将其包括在您的答案中。

0 个答案:

没有答案