假设我有一个基于文件的数据结构,例如 B+ 树。我的理解是,数据预计存储在磁盘上,但索引通常加载在内存中。如果你有一个如此大的文件,甚至它的索引也不适合内存怎么办?这通常是如何处理的?其次,由于索引是一棵树,而不是一组线性数据,它通常如何在磁盘上布局?
我基本上很好奇它是如何在现实世界的项目中完成的(比如 Berkeley DB)。显然,我对广泛的笔触感兴趣。我希望得到一个想法,所以当我深入研究我的数据库书的 B-Tree 部分时,我有一些背景信息(或者从几年前的 CS XYZ 中回忆起我的记忆)