MCPcopy
hub / github.com/jankotek/mapdb

github.com/jankotek/mapdb @mapdb-3.1.0 sqlite

repository ↗ · DeepWiki ↗ · release mapdb-3.1.0 ↗
4,325 symbols 16,116 edges 156 files 1,596 documented · 37%
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.

Extension points exported contracts — how you extend this code

Action (Interface)
Like Runnable, but with the freedom to throw anything [19 implementers]
src/test/java/org/mapdb/jsr166Tests/JSR166Test.java
StoreBinaryGetLong (Interface)
Binary operations performed on StoreBinary which retuns long [11 implementers]
src/main/java/org/mapdb/StoreBinaryGetLong.java
Action (Interface)
Like Runnable, but with the freedom to throw anything [19 implementers]
src/test/java/org/mapdb/jsr166Tests/JSR166TestCase.java
WALReplay (Interface)
(no doc) [4 implementers]
src/main/java/org/mapdb/WriteAheadLog.java
CollectionImplementation (Interface)
Allows tests to work with different Collection implementations. [2 implementers]
src/test/java/org/mapdb/jsr166Tests/CollectionImplementation.java
StringArrayKeys (Interface)
(no doc) [4 implementers]
src/main/java/org/mapdb/serializer/SerializerStringDelta2.java
TrackedRunnable (Interface)
(no doc) [2 implementers]
src/test/java/org/mapdb/jsr166Tests/JSR166Test.java
ConcurrentNavigableMap2 (Interface)
(no doc) [2 implementers]
src/main/java/org/mapdb/BTreeMapJava.java

Core symbols most depended-on inside this repo

next
called by 923
src/main/java/org/mapdb/serializer/CompressLZF.java
get
called by 533
src/main/java/org/mapdb/StoreBinaryGetLong.java
equals
called by 428
src/main/java/org/mapdb/Serializer.java
getKey
called by 321
src/main/java/org/mapdb/serializer/SerializerStringDelta2.java
entrySet
called by 206
src/main/java/org/mapdb/BTreeMapJava.java
headSet
called by 173
src/main/java/org/mapdb/BTreeMapJava.java
pollFirst
called by 171
src/main/java/org/mapdb/BTreeMapJava.java
subMap
called by 171
src/main/java/org/mapdb/BTreeMapJava.java

Shape

Method 4,018
Class 291
Interface 15
Enum 1

Languages

Java100%

Modules by API surface

src/test/java/org/mapdb/jsr166Tests/JSR166TestCase.java169 symbols
src/test/java/org/mapdb/jsr166Tests/JSR166Test.java168 symbols
src/main/java/org/mapdb/BTreeMapJava.java161 symbols
src/test/java/org/mapdb/jsr166Tests/LinkedBlockingDequeTest.java108 symbols
src/test/java/org/mapdb/indexTreeLongLongMapTests_GS_GENERATED/AbstractLongLongMapKeyValuesViewTestCase.java100 symbols
src/test/java/org/mapdb/BTreeMapExtendTest.java99 symbols
src/test/java/org/mapdb/jsr166Tests/ConcurrentSkipListSubMapTest.java97 symbols
src/test/java/org/mapdb/jsr166Tests/ConcurrentHashMap8Test.java96 symbols
src/test/java/org/mapdb/jsr166Tests/AbstractQueuedSynchronizerTest.java95 symbols
src/main/java/org/mapdb/DataInput2.java89 symbols
src/test/java/org/mapdb/jsr166Tests/ConcurrentSkipListMapTest.java86 symbols
src/test/java/org/mapdb/jsr166Tests/TreeSubSetTest.java74 symbols

Dependencies from manifests, versioned

junit:junit4.12 · 1×
net.jpountz.lz4:lz41.3.0 · 1×
org.easytesting:fest-assert1.4 · 1×
org.easytesting:fest-reflect1.4.1 · 1×
org.eclipse.collections:eclipse-collections
org.eclipse.collections:eclipse-collections-api
org.eclipse.collections:eclipse-collections-forkjoin
org.eclipse.collections:eclipse-collections-testutils
org.jetbrains.kotlin:kotlin-stdlib

For agents

$ claude mcp add mapdb \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact