How to lay out B-Tree data on disk? : <p>I know how a B-Tree works in-memory, it's easy enough to implement. However, what is currently completely beyond me, is how to find a data layout that works effectively on disk, such that:</p>

<ul>
<li>The number of entries in the B-Tree can grow indefinitly (or at least to > 1000GB)</li>
<li>Disk-level copying operations are minimized</li>
<li>The values can have arbitrary size (i.e. no fixed schema)</li>
</ul>

<p>If anyone could provide insight into layouting B-Tree structures on disk level, I'd be very grateful. Especially the last bullet point gives me a lot of headache. I would also appreciate pointers to books, but most database literature I've seen explains only the high-level structure (i.e. "this is how you do it in memory"), but skips the nitty gritty details on the disk layout.</p>
