Skip to content

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.

Back to projects