indexmap_store 0.2.0

Mutable, persistent key-value store backed by an IndexMap with an append-only log.
Documentation
indexmap_store-0.2.0 has been yanked.

Mutable, persistent key-value store backed by an in-memory [IndexMap] and an append-only write-ahead log on disk.

Design:

  • Reads, lookups, and iteration go through the in-memory map — O(1) hashed access while preserving insertion order.
  • Every mutation appends one length-prefixed record to a single log file. Records are written through a [BufWriter] so bulk writes coalesce into page-sized syscalls. With sync_on_write = false (the default) the OS page cache absorbs writes; turn it on for fsync-per-op durability.
  • Recovery reads the log front-to-back, replays records into the map, and truncates a torn tail so a crash mid-record never bricks the store.
  • When the log grows past a configurable threshold and accumulates enough dead records (updates/deletes that supersede earlier entries), the store rewrites a minimal snapshot to a temp file and atomically renames it into place.

The store owns the file; concurrent writers are not supported.