A Java JNI binding for LMDB, providing ultra-fast, transactional key-value storage with zero-copy access.
LMDB JNI is a Java binding for the Lightning Memory-Mapped Database (LMDB), an embedded key-value store. It provides Java applications with access to LMDB's ultra-fast, transactional storage engine, enabling high-performance data persistence with minimal overhead. The library solves the need for a reliable, low-latency embedded database in Java environments.
Java developers building applications that require high-speed, transactional embedded storage, such as real-time data processing systems, caching layers, or Android apps needing local persistence.
Developers choose LMDB JNI for its direct integration with LMDB's proven C library, offering superior performance through zero-copy access and memory-mapped files, along with full ACID compliance and no external dependencies.
LMDB for Java
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Zero-copy mode achieves over 16 million operations per second in microbenchmarks, significantly outperforming Java ports of RocksDB and LevelDB for read-heavy workloads.
Provides full ACID semantics with memory-mapped files, ensuring data persistence and integrity even after system failures, as highlighted in its crash-proof design.
Operates as a dependency-free, zero-configuration database within the JVM, eliminating external server setup and cache tuning for straightforward deployment.
Offers BufferCursor API for direct memory access without data copying, drastically reducing overhead for high-performance applications, though it's not available on Android.
The project has stopped publishing pre-built binaries for Windows, OSX, and Android in versions after 0.4.7, forcing users to compile native libraries independently.
JNI integration can lead to segmentation faults (SIGSEGV) if cursors are mishandled, as warned in the documentation, complicating debugging and stability.
As a pure key-value store, it lacks built-in support for indexes, joins, or advanced queries, making it unsuitable for relational or complex data workflows.