High-performance document database with built in adaptive caching system
476
VedDB is a high-performance document database built in Rust. It combines persistent document storage and in-memory caching into a single engine, so you don’t have to run a database and a cache separately.
Fast, predictable, and designed to stay boring in production.
docker pull mihirrabariii/veddb:latest
docker run -d \
-p 50051:50051 \
mihirrabariii/veddb:latest
docker run -d \
-p 50051:50051 \
-v veddb-data:/var/lib/veddb/data \
mihirrabariii/veddb:latest
VedDB keeps frequently accessed data in memory and routes everything else to disk automatically. Reads for cached data are sub-millisecond, and the system is built to handle high write and read throughput without heavy tuning.
You get a document database and a cache in the same process. Documents live on disk, hot fields or keys live in memory, and the engine decides where reads and writes should go based on schema configuration.
Caching is part of the schema, not an afterthought. You can choose:
Cache invalidation and consistency are handled internally.
All writes go through a write-ahead log. Snapshots are created periodically, and the database can recover to a specific point in time using WAL replay.
Username / password authentication (bcrypt)
JWT authentication (RS256)
Role-based access control:
Full audit logging for sensitive operations
VedDB supports master-slave replication. Slaves sync using a snapshot first and then receive incremental WAL updates. Reads can be served from replicas, and slaves can be promoted manually.
Documents are queried using MongoDB-style operators:
$eq, $ne, $gt, $gte, $lt, $lte$in, $nin, $exists, $regex$and, $or, $notProjection, sorting, pagination, and indexes all work together through a query planner.
Alongside documents, VedDB supports Redis-style data structures:
VedDB exposes Prometheus metrics for:
A health check endpoint is also available.
version: "3.8"
services:
veddb:
image: mihirrabariii/veddb:latest
ports:
- "50051:50051"
volumes:
- veddb-data:/var/lib/veddb/data
- veddb-backups:/var/lib/veddb/backups
environment:
RUST_LOG: info
VEDDB_CACHE_SIZE: 512
restart: unless-stopped
volumes:
veddb-data:
veddb-backups:
RUST_LOG Logging level (trace | debug | info | warn | error)
VEDDB_CACHE_SIZE Cache size in MB (default: 256)
VEDDB_MASTER_KEY Master encryption key
docker run -d \
-p 50051:50051 \
-v veddb-data:/var/lib/veddb/data \
mihirrabariii/veddb:latest \
veddb \
--enable-backups \
--backup-dir /var/lib/veddb/backups \
--enable-encryption \
--cache-size 1024
healthcheck:
test: ["CMD", "veddb", "--version"]
interval: 30s
timeout: 3s
retries: 3
GitHub https://github.com/mihir-Rabari/ved-db-server
Issues https://github.com/mihir-Rabari/ved-db-server/issues
Documentation Coming soon
License MIT
If you’re interested in databases, storage engines, or Rust performance work, contributions are welcome. Small fixes and deep system work are equally appreciated.
Built in Rust, designed to stay out of your way.
Content type
Image
Digest
sha256:2e6df55a9…
Size
33.9 MB
Last updated
10 months ago
docker pull mihirrabariii/veddb