jankotek/mapdb

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.

Java

5,053

1,970 commits

updated Oct 15, 2026

See the code

README

MapDB: database engine

Build Status Maven Central Join the chat at https://gitter.im/jankotek/mapdb

MapDB combines embedded database engine and Java collections. It is free under Apache 2 license. MapDB is fplexible and can be used in many roles:

  • Drop-in replacement for Maps, Lists, Queues and other collections.
  • Off-heap collections not affected by Garbage Collector
  • Multilevel cache with expiration and disk overflow.
  • RDBMs replacement with transactions, MVCC, incremental backups etc…
  • Local data processing and filtering. MapDB has utilities to process huge quantities of data in reasonable time.

Hello world

Maven snippet, VERSION is Maven Central

<dependency>
    <groupId>org.mapdb</groupId>
    <artifactId>mapdb</artifactId>
    <version>VERSION</version>
</dependency>

Hello world:

    //import org.mapdb.*
    DB db = DBMaker.memoryDB().make();
    ConcurrentMap map = db.hashMap("map").make();
    map.put("something", "here");

Continue at Quick Start or at Documentation.

Support

More details.

Development

MapDB is written in Kotlin. You will need Intellij Idea 15 Community Edition to edit it.

Use Maven to build MapDB: mvn install

MapDB comes with extensive unit tests, by default only tiny fraction is executed, so build finishes under 10 minutes. Full test suite has over million test cases and runs several hours/days. To run full test suite set -Dmdbtest=1 property.

jankotek/mapdb

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.

Java

5,053

1,970 commits

updated Oct 15, 2026

See the code

README

MapDB: database engine

Build Status Maven Central Join the chat at https://gitter.im/jankotek/mapdb

MapDB combines embedded database engine and Java collections. It is free under Apache 2 license. MapDB is fplexible and can be used in many roles:

  • Drop-in replacement for Maps, Lists, Queues and other collections.
  • Off-heap collections not affected by Garbage Collector
  • Multilevel cache with expiration and disk overflow.
  • RDBMs replacement with transactions, MVCC, incremental backups etc…
  • Local data processing and filtering. MapDB has utilities to process huge quantities of data in reasonable time.

Hello world

Maven snippet, VERSION is Maven Central

<dependency>
    <groupId>org.mapdb</groupId>
    <artifactId>mapdb</artifactId>
    <version>VERSION</version>
</dependency>

Hello world:

    //import org.mapdb.*
    DB db = DBMaker.memoryDB().make();
    ConcurrentMap map = db.hashMap("map").make();
    map.put("something", "here");

Continue at Quick Start or at Documentation.

Support

More details.

Development

MapDB is written in Kotlin. You will need Intellij Idea 15 Community Edition to edit it.

Use Maven to build MapDB: mvn install

MapDB comes with extensive unit tests, by default only tiny fraction is executed, so build finishes under 10 minutes. Full test suite has over million test cases and runs several hours/days. To run full test suite set -Dmdbtest=1 property.

Project health

Overall

4.3/10

Maintained

4/10

Code review

1/10
OpenSSF Scorecard

Significant stargazers

(top 24 of 70)

Jesse Glick

504 followers · starred Aug 2012

Vladimir Sitnikov

503 followers · starred Aug 2012

Lukas Masuch

1,450 followers · starred Apr 2018

Stephen Connolly

180 followers · starred Aug 2013