Say I have a file-based data structure such as a B + tree. I understand that the data is expected to be stored on disk, but the index is usually loaded into memory. What if you have such a large file that even its index does not fit into memory? How is this usually handled? Secondly, since the index is a tree, not a linear data set, how is it usually laid out on disk?
I am mostly interested in how this is done in real projects (such as Berkeley DB). Obviously, I am interested in wide strokes. I hope to get an idea, so I have some context when I delve into the B-Tree section of my database book (or ran my memory from CS XYZ from years ago)
source
share