Expand description

An implementation of the public crate interface.

Modules

  • Implementation of persist command application.
  • In-process caches of Blob.
  • Implementation of the persist state machine.
  • All machines need maintenance
  • Prometheus monitoring metrics.
  • See documentation on [restore_blob].
  • A durable, truncatable log of versions of State.
  • An append-only collection of compactable update batches. The Spine below is a fork of Differential Dataflow’s Spine with minimal modifications. The original Spine code is designed for incremental (via “fuel“ing) synchronous merge of in-memory batches. Persist doesn’t want compaction to block incoming writes and, in fact, may in the future elect to push the work of compaction onto another machine entirely via RPC. As a result, we abuse the Spine code as follows:
  • Notifications for state changes.