Rust bindings for the Lightning Memory-Mapped Database (LMDB), providing safe and idiomatic access.
lmdb-rs is a Rust library that provides safe, idiomatic bindings to LMDB (Lightning Memory-Mapped Database), a high-performance embedded key-value store. It enables Rust developers to leverage LMDB's speed and reliability while maintaining Rust's safety guarantees and zero-cost abstractions.
Rust developers building applications that require embedded, high-performance key-value storage with ACID compliance, such as database engines, caching systems, or data-intensive services.
Developers choose lmdb-rs over direct LMDB C API usage because it wraps the C API in a safe Rust interface that prevents common errors like memory leaks and data races, while offering idiomatic patterns and cross-platform compatibility.
Rust bindings for LMDB
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides a safe, idiomatic interface that wraps LMDB's C API to prevent memory leaks and data races, as highlighted in the key features.
Leverages LMDB's memory-mapped I/O and zero-copy operations for efficient data access, minimizing overhead and ensuring speed.
Supports ACID-compliant transactions for data integrity, crucial for reliable embedded storage in Rust applications.
Works on Linux, macOS, and Windows, enabling versatile deployment across multiple operating systems.
Requires initializing git submodules and building the C library, adding steps compared to pure Rust crates, as noted in the BUILDING section.
Focuses on low-level bindings, so developers must handle LMDB-specific details, lacking abstractions for common patterns found in more integrated databases.
Relies on generated documentation with minimal examples in the README, which may be insufficient for newcomers to LMDB or Rust.