A six-byte block strip changes only its middle two bytes while a whole named object is replaced from ABCDEF to XYZ.

Object and block storage expose different update contracts

Block storage exposes addressable blocks through a device interface. Object storage exposes named objects through an API. Neither label alone specifies durability, consistency, sharing, or price. Start with the application’s required operations, then check the particular service’s contract. A filesystem, database, or compatibility layer can add behavior, but it cannot make every underlying interface interchangeable. ...

March 17, 2027 · 5 min · XB Field Notes
One panel compares zigzag and ordered head-travel paths; another shows separate client A and B request rows. Shapes illustrate locality and competing demand without benchmark or fairness guarantees.

Disk schedulers order I/O to move the head efficiently

blk-mq provides CPU- or node-local software staging queues and hardware dispatch queues. Scheduling and merging can occur before dispatch, while driver and device behavior also affect service. Software submission order does not guarantee completion order. A scheduler can influence how competing requests enter the device without controlling every later decision in the storage stack. ...

March 9, 2027 · 7 min · XB Field Notes
A large retention pin holds a schematic run of old WAL segments while the write position continues forward.

A stale replication slot holds WAL back

A PostgreSQL replication slot records retention requirements for a consumer. Once the slot has reserved a WAL position, losing the consumer’s connection does not automatically release that position. The primary may keep generating log while the slot’s requirement remains unchanged. The operational risk is retained storage and an increasingly expensive catch-up or rebuild decision. Slot usability depends on retained WAL availability and the configured invalidation rules. ...

October 19, 2026 · 6 min · XB Field Notes
An S3 access fork separates immediate reads from restoration followed by reads; a clock marks the restoration stage without a promised duration.

S3 storage classes trade cost for access

A storage class changes retrieval behavior, resilience, and billing, not just the monthly price of bytes. Start with the time allowed to recover data and whether another copy can be recreated. Standard-IA offers immediate access with retrieval charges; Glacier Flexible Retrieval and Deep Archive require restoration before ordinary reads. One Zone-IA also has a different failure boundary: its data is not resilient to physical loss of its Availability Zone. ...

September 30, 2026 · 5 min · XB Field Notes
Three schematic backlog containers receive work: one has a small queue and open drain, one has a larger queue and open drain, and one has a blocked drain.

Vacuum keeps a growing database from bloating

In multi-version storage, deleting a row records the change without immediately freeing the space. Reclaiming that space is maintenance work, and when it is skipped the cost shows up slowly. Deleted does not mean gone An UPDATE or DELETE leaves old PostgreSQL row versions until they are no longer needed by any relevant snapshot. A long transaction can delay that point while other sessions keep changing rows. The transaction alone does not manufacture new bloat in an otherwise idle table. Reclaiming obsolete versions and making their space reusable is distinct from merely committing the delete. ...

August 16, 2026 · 5 min · XB Field Notes
Durable WAL branches toward dependent page writes and synchronous commit acknowledgment, expressing two ordering requirements.

WAL makes commit durable before page flushing

Write-ahead logging lets a database make a transaction durable without immediately flushing every table and index page that transaction changed. In PostgreSQL, the log records needed to recover a page must be durable before that page is written to storage. Normal synchronous commit also waits for the commit record to be flushed. Buffered table changes and durable log records therefore advance through different paths. ...

August 14, 2026 · 5 min · XB Field Notes