4 ms·
The immutability of extents is dictated by their SMR hardware, I believe.
by jeffbee 6mo ago
The immutability of extents is dictated by their SMR hardware, I believe.
- Retr0id 6mo agoI don't know the full picture behind their decision-making but immutability is much easier to reason about in a distributed system, in general.
- jeffbee 6mo agoThat's true. Every system has some quantum of storage that must be handled as a unit, whether that is a logical block that can only be discarded entirely or whatever. But I think the relatively gigantic immutable extents discussed here are somewhat unusual.
- facundo_dbx 6mo agoAuthor here. With SMR, you do have large zones that are essentially immutable. However, in this case our extents and volumes are immutable because we do volume level striping for erasure coding. This mean that if any extent changes, the parities have to be rewritten as well. Others, do block level striping, so they can just move data around within disk. There are lots of trade-offs with both approaches. Also, keeping volumes/extents immutable makes reasoning through correctness much simpler.