cberner/redb

An embedded key-value database in pure Rust

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 59 minutes ago
Type:Library / SDKCategory(s):NoSQL, Key-Value & CachesDatabases & Storage
Added to GitGenius on September 14th, 2026
Created on September 23rd, 2018
Open Issues & Pull Requests: 4 (+0)
GitHub issues: Enabled
Number of forks: 240
Total Stargazers: 4,796 (+0)
Total Subscribers: 29 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 11.3 hours
Mean response time: 21.3 days
90th percentile: 18.0 days
Tracked items: 101

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 3
New in 7 days: 0
Closed in 7 days: 1
Avg open age: 1,268 days
Stale 30+ days: 2
Stale 90+ days: 1

Recent activity

Opened in 7 days: 0
Closed in 7 days: 1
Comments in 7 days: 0
Events in 7 days: 1

Top labels

No label distribution available yet.

Most active issues this week

Detailed Description

redb is an embedded key-value database in pure Rust.

redb solves the problem of needing a lightweight, self-contained data store for Rust applications without external dependencies. It uses copy-on-write B+trees to store data and provides a zero-copy, thread-safe API modeled on BTreeMap. The database is fully ACID-compliant with support for multi-version concurrency control, allowing concurrent readers and a writer without blocking. Transactions include savepoint and rollback capabilities, and the store is crash-safe by default.

Developers should choose redb for applications requiring an embedded database with strong consistency guarantees and concurrent access patterns. It suits projects that need portability and pure Rust implementation without relying on C libraries. The tool performs competitively with established alternatives like lmdb and rocksdb on individual writes and read operations, though it trades some performance on bulk loading and range reads for simplicity. The project also supports no_std environments with a custom storage backend, making it viable for embedded systems with sufficient atomic operations support.

The file format is stable with a commitment to providing upgrade paths for future changes. Development uses just and rootless podman for reproducible builds with cached artifacts. The project maintains active CI workflows and publishes benchmarks comparing performance against other embedded key-value stores on standard operations.