Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
EdgeStore
Local-first embedded KV + vector database in Rust.
EdgeStore is an SSD-aware, append-only embedded database for edge deployments. It pairs local NVMe fast-path writes with S3-safe recovery, and uses deathtime-cohort compaction (VLDB 2026) to drive device write amplification toward 1.0 — no existing embedded database does this.
Library-first. No mandatory server. No mandatory async runtime.
Quick Start
use ;
let config = new;
let mut db = open?;
db.put?;
let value = db.get?;
assert_eq!;
db.flush?; // WAL fsync + optional memtable flush
See edgestore/examples/ for runnable examples (KV, vector search, replication).
For a rich documentation site with feature guides and paper references, open website/index.html in your browser.
Feature Matrix
| Feature | Status | Notes |
|---|---|---|
| KV store (put/get/delete/range/prefix) | ✅ v1.0 | Ordered byte keys, namespaced |
| Transactions (begin/commit/rollback) | ✅ v1.0 | Single-writer, group commit |
| TTL / Lazy expiry | ✅ v1.0 | put_with_ttl; expired data removed at compaction |
| Snapshots | ✅ v1.0 | RAII point-in-time reads |
| Vector search (flat SIMD) | ✅ v1.0 | Cosine, dot, euclidean; f32/f16/i8 |
| HNSW index | ✅ v1.0 | Approximate search for large collections |
| Full-text search (BM25) | ✅ v1.0 | Tokenization, faceting, typo tolerance |
| Replication (Merkle delta sync) | ✅ v1.0 | Transport-agnostic; HTTP + S3 backends |
| S3 cold storage | ✅ v1.0 | Archive + replication mailbox |
| SSD optimization | ✅ v1.0 | FDP placement hints, deathtime-cohort WAF≈1 |
Installation
Add to Cargo.toml:
[]
= "1.0"
Or run:
Optional async wrapper:
= "1.0"
Optional replication transport:
= "1.0"
Minimum supported Rust version: 1.85 (2024 edition).
CLI Installation
The edgestore-cli administrative tool can be installed from source:
# Clone the repository
# Install locally from source
# Or build the optimized release binary
# Binary will be at: target/release/edgestore-cli
The CLI provides commands for:
- Database management:
create,stats,compact - KV operations:
put,get,delete,range - Data exchange:
export,import(JSON and binary formats) - Vector search:
vector-put,vector-get,vector-search - Text search:
text-search
Run edgestore-cli --help for full command reference.
Architecture Overview
┌─────────────────────────────────────────────────────────────┐
│ Application │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ KV API │ │ Vector API │ │ Text API │ │
│ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │
└───────────┼─────────────────┼─────────────────┼───────────┘
│ │ │
└─────────────────┼─────────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ Engine (single writer + group commit) │
│ • Transactions, namespace isolation, LWW conflict res. │
└─────────────────────┬───────────────────────────────────────┘
│ writes batches
▼
┌─────────────────────────────────────────────────────────────┐
│ WAL (LZ4, CRC32C) Memtable (BTreeMap) │
│ • Append-only, rotated at 64 MB / 60 s • In-memory buf │
│ • Crash recovery source • Flushed → segment│
└─────────────────────────────────────────────────────────────┘
│ flushes
▼
┌─────────────────────────────────────────────────────────────┐
│ Segment Store │
│ • Immutable SSTables (ZSTD L1, 4 KiB blocks, 16 MB) │
│ • Sparse index + xor filter + BLAKE3 content addressing │
│ • Manifest: live segment tracking, Merkle roots │
└─────────────────────┬───────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ SSD / NVMe / S3 (via StorageBackend trait) │
│ • Deathtime-cohort compaction → WAF → 1.0 │
│ • FDP placement hints on supported hardware │
└─────────────────────────────────────────────────────────────┘
For a deep dive, see ARCHITECTURE.md.
Documentation
- API reference: docs.rs/edgestore
- Architecture & file formats: ARCHITECTURE.md
- Changelog: CHANGELOG.md
- Design spec: prod.md
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE)
- MIT license (LICENSE-MIT)
at your option.
Contributing
Issues and pull requests are welcome. Please open an issue or PR on GitHub.
EdgeStore is not affiliated with the VLDB organization. The deathtime-cohort technique is described in Lee et al., VLDB 2026.