B+树中叶节点和非叶节点的组织



我是B树结构的新手。我想知道我是否可以将叶子节点放在磁盘中,而将非叶子节点放进内存中,这样我就可以在存储大量数据的同时改进搜索。

我试着在内存树和磁盘树中找到,但没有找到类似于这种混合树的东西。

B-tree实现通常具有某种缓存,理想情况下,缓存大小足够大,可以完全容纳所有非叶节点。所以在实践中,在进行搜索时不会从磁盘读取非叶节点。随着树越来越大,缓存不够大,无法容纳所有非叶节点,因此它们将被从缓存中逐出。如果高速缓存具有智能";LRU"-风格的驱逐策略,最重要的非叶节点将留在缓存中。

B树还具有与叶节点相关的缓存策略。例如,它们是否与非叶节点保存在同一个缓存中?它们是保存在一个单独的缓存中,还是根本没有缓存?

最新更新