Skip to content

Operations

How to run a durable Eelden database directory: on-disk layout, health signals, compaction, and change feeds. Capability honesty lives on Status.

Which page to read

TopicPageWhen
What lives under db_dirDatabase layoutOpening, backing up, or recreating a DB
Trust signals & rewriteHealth & compactCorruption, WAL lag, eelden compact, /ops
Live change feedCDCPer-tenant tails, LSN resume, Studio live mode

Wire formats and every route: HTTP API. Commands: CLI. Studio UI: Studio.

Crash expectations

On open the engine reads Meta (superblock + catalog roots) and replays the WAL after the last checkpoint. Committed work that reached a durable WAL sync is re-applied; an atomic that crashed after Begin / Write but before Commit is discarded.

Torn page slots fail checksum and are not silently treated as good data — see Health & compact. Details of atomic commit vs crash points: Transactions.

When to recreate the DB directory

Recreate (delete or move db_dir, then open a fresh one) when:

  • Open fails with an incompatible / legacy Meta error (no in-place migrate).
  • You intentionally want a clean engine of record after a bad experiment.
  • Health reports corruption and you have no better recovery path than reseeding.

There is no product export/import packaging yet — see Status. Moving the whole directory as a unit is the durable unit of record today.

Pre-alpha. Local-first. Stdlib-only Rust engine. Tenant concerns shifted left into the database.