IODB - database engine for blockchain
IODB is embedded storage engine designed for blockchain applications. It is inspired by RocksDB. It provides ordered key-value store, it is similar to
SortedMap<byte, byte>. Its main advantage are snapshots with branching and fast rollbacks.
Main features include:
- Ordered key-value store
- Written in Scala, functional interface
- Multi-threaded background compaction
- Very fast durable commits
- Atomic updates with MVCC isolation and crash protection
- Snapshots with branching and rollbacks
- Log structured storage, old data are never overwritten for improved crash protection
IODB builds are available in Maven repository. Maven dependency snippet is bellow, replace
$VERSION with :
<dependency> <groupId>org.scorexfoundation</groupId> <artifactId>iodb_2.12</artifactId> <version>$VERSION</version> </dependency>
Code examples are in the src/test/scala/examples folder.
Documentation is in the doc folder.
IODB works with Intellij IDEA with Scala plugin.
- Checkout IODB:
git clone https://github.com/input-output-hk/iodb.git
Compile IODB and install JAR files into local repository: