An embedded Java database engine providing concurrent collections backed by disk storage or off-heap memory.
MapDB is an embedded database engine for Java that provides concurrent Maps, Sets, and Queues backed by disk storage or off-heap memory. It combines the simplicity of Java collections with the persistence and scalability of a database, solving problems related to garbage collection overhead, large data processing, and reliable local storage.
Java developers needing efficient, embedded data storage solutions, such as those building applications with large in-memory caches, offline data processing tools, or lightweight database replacements without external server dependencies.
Developers choose MapDB for its seamless integration with Java collections, support for off-heap memory to avoid GC pauses, and flexible configuration that allows it to serve roles from a simple cache to a full transactional database, all within a single JVM process.
MapDB provides concurrent Maps, Sets and Queues backed by disk storage or off-heap-memory. It is a fast and easy to use embedded Java database engine.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Acts as a drop-in replacement for Maps, Lists, and Queues with disk or off-heap backing, making adoption seamless without code changes, as shown in the hello world example using ConcurrentMap.
Collections are not affected by Garbage Collector, improving performance in memory-intensive apps by avoiding GC pauses, a key feature highlighted in the README.
Supports configurations from multilevel caches with disk overflow to full transactional databases with MVCC and incremental backups, offering versatility for diverse use cases.
Includes utilities for efficiently processing and filtering large datasets within the JVM, reducing reliance on external databases for local operations.
Lacks native SQL querying capabilities, requiring custom code for complex relational operations compared to full RDBMS like H2 or SQLite.
With multiple storage and cache options, setting up optimal configurations can be non-trivial, potentially leading to steep learning curves for new users.
Tied to Java and JVM ecosystems, making it unsuitable for non-Java projects or environments requiring cross-platform database solutions.