On Allocators, Databases, Filesystems, mmap, and flat memory spaces

PART ONE Allocators, databases, and filesystems have one major feature in commmon: they all allow storing arbitrary-sized data within a larger region, and retrieving it by some identifier. The particulars of the region management are largely hidden from the caller. On top of this basic ability, some layers of indirection can be added. Filesystems add support for fragmentation. Databases diverge on this topic; they might fragment for dynamic row formats, but not for fixed.
Read more