awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
jankotek avatar

jankotek/MapDB

0
View on GitHub↗
5,046 stars·882 forks·Java·Apache-2.0·15 viewsmapdb.org↗

MapDB

MapDB is an embedded database engine and disk-backed collection library that stores Java collections on disk or off-heap. It functions as a local data processing engine designed to handle datasets that exceed available physical RAM.

The project utilizes off-heap data storage to eliminate garbage collection overhead and employs disk overflow caching to balance memory and disk usage. It provides specialized utilities for filtering and analyzing large volumes of local data on a single machine.

The system ensures data integrity through ACID-compliant transactions and multi-version concurrency control. It supports persistent maps, sets, and queues using B-tree indexing and a sequential transaction log for durability.

System behavior and internal engine operations can be monitored through configurable logging levels and output formats.

Features

  • Disk-Backed Data Structures - Provides implementations of standard Java data structures that persist their state directly to the local filesystem.
  • ACID Transactional Cores - Implements a core transactional engine that ensures atomic and durable data modifications via a sequential log.
  • Persistent Mappings - Provides disk-backed key-value mappings and other collections that persist across application restarts.
  • Disk-Persistent Data Structures - Maps collections like maps, sets, and queues directly to persistent storage to survive process restarts.
  • Embedded Database Engines - Functions as a database engine integrated directly into application processes without requiring external server infrastructure.
  • Multi-Version Concurrency Control - Utilizes multi-version concurrency control to allow simultaneous non-blocking read and write operations.
  • ACID-Compliant - Ensures atomic, consistent, isolated, and durable operations with crash safety and rollback support.
  • B-Tree - Uses B-Tree structures to organize stored data for efficient disk-based range queries and lookups.
  • Off-Heap Memory Managers - Manages memory outside the JVM heap to eliminate garbage collection overhead for massive datasets.
  • Hybrid Memory-Disk Caches - Employs a hybrid memory-disk cache that spills less active data to disk to optimize throughput.
  • Disk Caching Systems - Offloads less frequently accessed data to persistent storage to manage memory constraints and maintain performance.
  • Local Data Engines - Offers an engine designed for local data storage, indexing, and high-performance processing.
  • Large Dataset Optimizations - Provides specialized utilities for high-performance filtering and analysis of massive local datasets.
  • Databases and Storage - Embedded database engine backed by disk or memory.
  • Embedded Databases - Concurrent collections backed by disk or off-heap memory.

Star history

Star history chart for jankotek/mapdbStar history chart for jankotek/mapdb

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to MapDB

Similar open-source projects, ranked by how many features they share with MapDB.
  • boltdb/boltboltdb avatar

    boltdb/bolt

    14,642View on GitHub↗

    Bolt is a single-file embedded key-value store for Go applications. It is an ACID transactional database that organizes data in B+trees on disk to provide efficient sorted key retrieval and range scans. The system uses a memory-mapped model to map the database file directly into the process address space for fast random-access reads. The project distinguishes itself through a multi-version concurrency control architecture that allows multiple simultaneous readers to access a consistent snapshot of data without blocking a writer. It employs a single-writer multi-reader locking model and uses a

    Go
    View on GitHub↗14,642
  • h2database/h2databaseh2database avatar

    h2database/h2database

    4,607View on GitHub↗

    H2 is a JDBC-compliant relational database management system written in Java. It functions as an embeddable SQL database that can run directly within an application process to remove network latency, or as an in-memory database for high-performance volatile storage. It also includes a web-based console for executing SQL commands and administering schemas. The system is characterized by its flexible deployment modes, including a standalone server mode for remote TCP/IP access and a mixed mode for simultaneous local and remote connectivity. It features a dialect emulation layer and compatibilit

    Javadatabasejavajdbc
    View on GitHub↗4,607
  • ravendb/ravendbravendb avatar

    ravendb/ravendb

    3,961View on GitHub↗

    RavenDB is a multi-model NoSQL document database designed for high-performance, ACID-compliant data storage. It persists structured information as schema-flexible JSON documents and utilizes a unit-of-work session pattern to track entity changes and batch modifications into atomic transactions. The platform is built on a distributed architecture that supports horizontal scaling through sharding and ensures high availability via multi-node, master-to-master cluster replication. The database distinguishes itself through a self-optimizing query engine that automatically creates and maintains ind

    C#csharpdatabasedocument-database
    View on GitHub↗3,961
  • cberner/redbcberner avatar

    cberner/redb

    4,248View on GitHub↗

    redb is an embedded key-value store and ACID-compliant storage engine. It functions as a persistent storage system for saving and retrieving data as key-value pairs within a tree structure. The engine is built as an MVCC transactional database, utilizing multi-version concurrency control to manage simultaneous reads and writes without blocking. It employs a single-writer multi-reader model to ensure data consistency while allowing multiple threads to access the store. The system provides persistent state management and atomic transaction management to prevent data corruption during crashes.

    Rustrust
    View on GitHub↗4,248
See all 30 alternatives to MapDB→

Frequently asked questions

What does jankotek/mapdb do?

MapDB is an embedded database engine and disk-backed collection library that stores Java collections on disk or off-heap. It functions as a local data processing engine designed to handle datasets that exceed available physical RAM.

What are the main features of jankotek/mapdb?

The main features of jankotek/mapdb are: Disk-Backed Data Structures, ACID Transactional Cores, Persistent Mappings, Disk-Persistent Data Structures, Embedded Database Engines, Multi-Version Concurrency Control, ACID-Compliant, B-Tree.

What are some open-source alternatives to jankotek/mapdb?

Open-source alternatives to jankotek/mapdb include: boltdb/bolt — Bolt is a single-file embedded key-value store for Go applications. It is an ACID transactional database that… h2database/h2database — H2 is a JDBC-compliant relational database management system written in Java. It functions as an embeddable SQL… ravendb/ravendb — RavenDB is a multi-model NoSQL document database designed for high-performance, ACID-compliant data storage. It… cberner/redb — redb is an embedded key-value store and ACID-compliant storage engine. It functions as a persistent storage system for… grantjenks/python-diskcache — This project is a disk-backed key-value store and persistent data structure library for Python. It provides a… mbdavid/litedb — LiteDB is a serverless, embedded NoSQL document database for .NET applications. It persists data into a single…