Projects
VarveDB
Open-source, embedded append-only event store for Rust with zero-copy reads and 1M+ events/sec batch writes (benchmarked).
Role
Creator
Timeline
12/2/2025 · Ongoing
What it is
VarveDB is a high-performance, embedded, append-only event store for Rust. It is
built on LMDB (via heed) and rkyv, targeting event sourcing and audit logs with
predictable performance and zero-copy reads.
Core capabilities
- Zero-copy access via rkyv (no deserialization on reads)
- High-throughput batch writes (1M+ events/sec)
- Embedded, in-process architecture with no external services
- Strongly typed events enforced by Rust
- ACID transactions and crash safety through LMDB
- Stream organization with global ordering across streams
- Optional async notifications for write watchers
Architecture highlights
VarveDB stores events in three LMDB-backed components:
- Global append-only log ordered by global sequence
- Stream index for efficient per-stream lookups
- Stream metadata tracking stream sequence heads
This layout keeps writes sequential while enabling fast per-stream and global iteration.
Performance snapshot
Benchmarks on a MacBook Pro M2 + NVMe show:
- Batch write: ~1.02M events/sec (≈978 ns/event)
- Sequential read: ~2.28M events/sec (≈438 ns/event)
- Stream iteration: ~2.92M events/sec (≈342 ns/event)
Status
Under active development; APIs and storage formats may evolve before 1.0.