Freedom251 › Embedded Databases
redb

What redb is
redb is a free embedded key-value database written in pure Rust. It stores data in copy-on-write B+trees and provides a zero-copy, thread-safe API based on BTreeMap. Fully ACID-compliant transactions protect updates, while MVCC allows concurrent readers and a writer without blocking. The project describes redb as crash-safe by default and includes savepoints and rollbacks. It also states that the database and file format are stable and maintained. Developers can choose the Apache License 2.0 or MIT License. With the standard-library feature disabled and experimental-api-5 enabled, redb can build without std, provided the program uses alloc, panic = "abort", and a target with atomic compare-and-swap. In no_std mode, storage must be supplied through a StorageBackend because there is no filesystem. Supported targets include Cortex-M3 and newer, but not Cortex-M0. Rust API documentation is available through docs.rs, and the project credits Christopher Berner.
Who it suits
redb suits Rust developers embedding a transactional key-value store inside applications. Its no_std mode also targets suitable embedded systems that can provide their own storage backend.
What it does well
- Free under Apache 2.0 or MIT
- ACID transactions and MVCC concurrency
- Crash-safe with savepoints and rollbacks
- Stable, maintained file format
- Zero-copy thread-safe BTreeMap API
What to know first
- no_std mode has no filesystem
- Requires custom StorageBackend in no_std
- Cortex-M0 is excluded
- Pure Rust implementation only
Verdict
redb offers an embedded Rust database with transactional guarantees, concurrent reads, and a stable format. Developers targeting no_std systems must meet its build requirements and provide storage themselves.
Facts from redb's own pages
- API
- Its API is zero-copy, thread-safe, and based on BTreeMap. · docs.rs, 8 Oct 2026
- Concurrency
- MVCC allows concurrent readers and a writer without blocking. · docs.rs, 8 Oct 2026
- Data structure
- It stores data in a collection of copy-on-write B+trees. · docs.rs, 8 Oct 2026
- Documentation
- The project links to its Rust API documentation on docs.rs. · redb.org, 7 Oct 2026
- License
- The repository lists Apache-2.0 and MIT licenses. · github.com, 8 Oct 2026
- Maker
- The project homepage credits Christopher Berner. · redb.org, 7 Oct 2026
- No standard library
- With the std feature disabled and experimental-api-5 enabled, redb can build without the standard library; this mode requires alloc, panic = "abort", and a target with atomic compare-and-swap. · github.com, 7 Oct 2026
- No standard library mode
- With experimental-api-5 enabled, redb can be built without std; this mode requires alloc, panic = abort, and a target with atomic compare-and-swap. · github.com, 8 Oct 2026
- No standard library storage
- In no_std mode there is no filesystem, so storage must be supplied by implementing StorageBackend. · github.com, 7 Oct 2026
- Product
- redb is a portable, high-performance embedded key-value store written in pure Rust. · docs.rs, 8 Oct 2026
- Recovery
- The project describes redb as crash-safe by default. · docs.rs, 8 Oct 2026
- Release status
- The project describes redb as stable and maintained, with a stable file format. · github.com, 8 Oct 2026
- Savepoints
- It supports savepoints and rollbacks. · docs.rs, 8 Oct 2026
- Status
- The project says redb is stable and maintained, and that its file format is stable. · github.com, 7 Oct 2026
- Storage
- Data is stored in a collection of copy-on-write B+trees. · docs.rs, 7 Oct 2026
- Storage backend
- In no_std mode, storage is supplied by implementing StorageBackend and passing it to Builder::create_with_backend(). · github.com, 8 Oct 2026
- Transactions
- redb supports fully ACID-compliant transactions. · docs.rs, 8 Oct 2026
Where redb stands on Freedom251
- Embedded Databases#26 of 30