Repository navigation
QuiverDB v1.0.0
QuiverDB v1.0.0
Formats (frozen)
meta v3, page v2 (RH/Overflow), WAL v1
Reliability
WAL replay: CRC verification, LSN-gating for v2 pages, tolerant to partial tails, ignores unknown record types (forward-compatible)
Directory: atomic updates (tmp+rename), header CRC
Operations
Read-only readers (Db::open_ro): shared lock, no replay, no meta changes
check/repair: CRC/IO scan, overflow orphan reporting, --strict mode for CI; conservative orphan freeing
Metrics + CLI commands (metrics, metrics-reset)
WAL group-commit (fsync coalescing), P1_DATA_FSYNC option, optional page cache
CDC
wal-tail (JSONL), wal-ship (binary), wal-apply (idempotent apply with LSN-gating)
Documentation
README: https://github.com/artemonad/QuiverDB#readme
API: https://github.com/artemonad/QuiverDB/blob/master/docs/api.md
On-disk format: https://github.com/artemonad/QuiverDB/blob/master/docs/format.md
CDC: https://github.com/artemonad/QuiverDB/blob/master/docs/cdc.md
Quick start (CLI)
Initialize and create directory:
quiverdb init --path ./db --page-size 4096
quiverdb dbinit --path ./db --page-size 4096 --buckets 128
Put / Get / Delete:
quiverdb dbput --path ./db --key hello --value world
quiverdb dbget --path ./db --key hello
quiverdb dbdel --path ./db --key hello
Check / Repair / Metrics:
quiverdb check --path ./db --strict
quiverdb repair --path ./db
quiverdb metrics
Build from source
cargo build --release (binary: target/release/quiverdb)