Skip to main content

Crate quiver_core

Crate quiver_core 

Source
Expand description

Quiver’s storage engine: from-scratch, durable, crash-safe, encrypted-at-rest storage built on 16 KiB pages, a write-ahead log, and a versioned manifest.

This crate owns all durable state (ADR-0004 / ADR-0005) and is deliberately built without an embedded KV/DB engine. Phase 1 ships the foundational primitives; the columnar segment layout, the store-level engine, and crash recovery build on top of them.

  • page — the 16 KiB page: the unit of checksum, encryption, and I/O, with a swappable page::PageCodec (plaintext now, AEAD with quiver-crypto).
  • wal — the write-ahead log: the durability anchor. An acknowledged write is fsync’d to the log first, so it survives kill -9.
  • manifest — the versioned catalog, made current via an atomic write-new + fsync + rename of CURRENT.
  • store — the store::Store engine: the write path, checkpointing, and crash recovery that compose the primitives above, over internal sealed segments.
  • descriptor — collection schema; ids — typed ids::Lsn / ids::CollectionId.

Re-exports§

pub use descriptor::Descriptor;
pub use descriptor::DistanceMetric;
pub use descriptor::Dtype;
pub use descriptor::FieldType;
pub use descriptor::FilterableField;
pub use descriptor::IndexKind;
pub use descriptor::IndexSpec;
pub use descriptor::VectorEncryption;
pub use error::CoreError;
pub use error::Result;
pub use ids::CollectionId;
pub use ids::Lsn;
pub use keyring::KeyRing;
pub use keyring::SingleCodecKeyRing;
pub use sec::SecPredicate;
pub use sec::SecValue;
pub use store::CommitObserver;
pub use store::Record;
pub use store::Store;
pub use wal::WalEntry;
pub use wal::WalOp;

Modules§

descriptor
Collection descriptors: the schema fixed when a collection is created.
error
Error types for the storage engine.
ids
Strongly-typed identifiers used throughout the storage engine.
keyring
The key-supply seam between the storage engine and quiver-crypto.
manifest
The versioned manifest: the catalog and durability anchor.
page
Fixed-size pages: the unit of checksum, encryption, and buffered I/O.
sec
Secondary indexes (.sec): per filterable field, value → roaring bitmap of the rows that hold it, the substrate for pre-filtered (hybrid) search (ADR-0022).
store
The storage engine: a durable, crash-safe vector store per collection.
wal
The write-ahead log: the durability anchor of the storage engine.