MapDB - Embedded Database Engine

  •        427

MapDB is an embedded database engine. It provides Maps and other collections backed by disk or memory storage. It offers excellent performance comparable to java collections, but is not limited by GC overhead. It is also a full database engine with storage backends, transactions, cache algorithms, expiration and many other options. MapDB provides concurrent Maps, Sets and Queues backed by disk storage or off-heap memory.

http://www.mapdb.org
https://github.com/jankotek/mapdb

Tags
Implementation
License
Platform

   




Related Projects

Chronicle Map - High performance, off-heap, key-value, in memory, persisted data store


Chronicle Map is a high performance, off-heap, key-value, in memory, persisted data store. It works like a standard java map yet it automatically distributes data between processes, these processes can be both on the same server or across your network. In other words its a low latency, huge data key value store, which can store terabytes of data locally to your process.

BangDB - NoSQL for Real Time Performance


Bangdb is pure vanilla key value nosql data store. The goal of bangdb is to be fast, reliable, robust, scalable and easy to use data store for various data management services required by applications. Bangdb comes in flavors like Embedded In memory, Network, Distributed data grid/ Elastic Cache. The bangdb is highly concurrent and runs parallel operations as much as possible.

bigcache - Efficient cache for gigabytes of data written in Go.


Fast, concurrent, evicting in-memory cache written to keep big number of entries without impact on performance. BigCache keeps entries on heap but omits GC for them. To achieve that operations on bytes arrays take place, therefore entries (de)serialization in front of the cache will be needed in most use cases.

Apache Geode - Distributed, In-memory Database for Scale-Out Applications


Apache Geode is distributed, in-memory database for scale-out applications. All data is stored in-memory for low latency. Performance scales linearly as nodes are added. Data is distributed automatically between nodes to optimize performance. Clusters fail-over to other nodes in case of failures, and rebalance remaining resources. Geode servers can be configured to talk memcached protocol.

Sophia - Advanced transactional MVCC key-value/row storage library


Sophia is RAM-Disk hybrid storage. It is designed to provide best possible on-disk performance without degradation in time. It has guaranteed O(1) worst case complexity for read, write and range scan operations. It provides Full ACID compliancy, MVCC engine, Optimistic, non-blocking concurrency with N-writers and M-readers, Prefix search, Automatic key-expire, Implemented as small C-written library with zero dependencies and lot more.



RocksDB - A persistent key-value store for fast storage environments


RocksDB is an embeddable persistent key-value store for fast storage. RocksDB builds on LevelDB to be scalable to run on servers with many CPU cores, to efficiently use fast storage, to support IO-bound, in-memory and write-once workloads, and to be flexible to allow for innovation. It is especially suited for storing data on flash drives. It has multi-threaded compactions, making it specially suitable for storing multiple terabytes of data in a single database.

Memcached - distributed object caching system


Memcached is high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load. Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering.

BuntDB - Embeddable, in-memory key/value database for Go with custom indexing and geospatial support


BuntDB is a low-level, in-memory, key/value store in pure Go. It persists to disk, is ACID compliant, and uses locking for multiple readers and a single writer. It supports custom indexes and geospatial data. It's ideal for projects that need a dependable database and favor speed over data size.The desire to create BuntDB stems from the need for a new embeddable database for Tile38 and SummitDB.

Vedis - An Embedded Implementation of Redis


Vedis is an embeddable datastore C library built with over 70 commands similar in concept to Redis but without the networking layer since Vedis run in the same process of the host application. Unlike most other datastores, Vedis does not have a separate server process. Vedis reads and writes directly to ordinary disk files. A complete database with multiple collections, is contained in a single disk file.

libgibsonclient - Gibson cache server native client library.


Gibson is a high efficiency, tree based memory cache server. It is not meant to replace a database, since it was written to be a key-value store to be used as a cache server, but it's not the usual cache server. Normal key-value stores ( memcache, redis, etc ) uses a hash table as their main data structure, so every key is hashed with a specific algorithm and the resulting hash is used to identify the given value in memory. This approach, although very fast, doesn't allow the user to execute glo

Bolt - An embedded key/value database for Go.


Bolt is a pure Go key/value store inspired by Howard Chu's LMDB project. The goal of the project is to provide a simple, fast, and reliable database for projects that don't require a full database server such as Postgres or MySQL.

Apache Ignite - High performance in-memory data grid


Apache Ignite In-Memory Data Fabric is a high-performance, integrated and distributed in-memory platform for computing and transacting on large-scale data sets in real-time, orders of magnitude faster than possible with traditional disk-based or flash technologies.

UnQLite - An Embeddable NoSQL Database Engine


UnQLite is a in-process software library which implements a self-contained, serverless, zero-configuration, transactional NoSQL database engine. UnQLite is a document store database as well a standard Key/Value store. The database file format is cross-platform, you can freely copy a database between 32-bit and 64-bit systems or between big-endian and little-endian architectures.

PumpkinDB - Event Sourcing Database Engine


PumpkinDB is a event sourcing database engine that doesn't overwrite data. It features include Immutable key/value storage, ACID transactions, Binary keys and values (allows any encoding to be used: JSON, XML, Protobuf, Cap'n Proto, etc.), An embedded programming language (PumpkinScript), A range of event indexing and querying primitives.

xodus - JetBrains Xodus is a Java transactional schema-less embedded database used by JetBrains YouTrack and JetBrains Hub


JetBrains Xodus is a transactional schema-less embedded database that is written in Java and Kotlin. It was initially developed for JetBrains YouTrack, an issue tracking and project management tool. Xodus is also used in JetBrains Hub, the user management platform for JetBrains' team tools, and in some internal JetBrains projects.Read more about managing dependencies.

application-development-using-boltdb - Repository for my "Application Development Using BoltDB" talk


We've been taught for decades that we need a complex database server to run our applications. However, these servers incur a huge performance hit for most queries and they are frequently misconfigured because of their operational complexity which can cause slowness or downtime. In this talk, I'll show you how to use a local, pure Go key/value store called BoltDB to build applications that are both simple and fast. We will see how development and deployment become a breeze once you ditch your complex database server.Software is too complex and too slow. We've seen the speed of CPUs increase by orders of magnitude in the past few decades yet our applications seem to require more hardware than ever. In the past several years I've used embedded key/value databases for my applications because of their simplicity and speed. Today I'm going to walk you through building a simple application using a pure Go key/value store I wrote called BoltDB.

Berkeley DB - Embeddable Databases to Meet Your Needs


Oracle Berkeley DB provides the best open source embeddable databases allowing developers the choice of SQL, Key/Value, XML/XQuery or Java Object storage for their data model. At its core is a fast, scalable, transactional database engine with proven reliability and availability. Berkeley DB comes three versions: Berkeley DB, Berkeley DB Java Edition, and Berkeley DB XML.

CodernityDB - Pure python, NoSQL, Fast Database


CodernityDB is pure python (no 3rd party dependency), fast multi-platform, schema-less, NoSQL database. It has optional support for HTTP server version (CodernityDB-HTTP), and also Python client library (CodernityDB-PyClient) that aims to be 100% compatible with embeded version. It is an advanced key-value database, with multiple key-values indexes in the same engine. It has support for Multiple indexes, Custom storage, Sharding.

pickleDB - Key-value store using Python's simplejson module


pickleDB is a lightweight and simple key-value store. It is built upon Python's simplejson module and was inspired by redis.

Perst - object-oriented embedded database


Perst is McObject's open source, dual license, object-oriented embedded database system (ODBMS). Perst gives developers the ability to sort, store and retrieve objects in their applications with maximum speed and with low memory and storage overhead, while leveraging the object-oriented paradigm of Java and C#. It is available in one edition developed as an all-Java embedded database, and another implemented in C# (for Microsoft .NET Framework applications).