page10
HAMMER Data Extents
File
16K
16K
16K
64K
64K
64K
64K
64K
64K
...
...
1MB
Each Data record is a B-Tree element.
Switch to 64K records past 1MB.
Read code is able to stitch extents together.
Write code cannot yet handle dynamic extents:
(1) Breaking up large extents not trivial.
(2) Historical access & organization not trivial.
BSD Clustering supported, but it wasn't fun.
Serious issues with mixed buffer cache operations.