Awesome
Abstract scala type database
Abstract Scala storage framework with high-level API for handling linked lists of polymorphic data (feeds).
KVS is highly available distributed (AP) strong eventual consistent (SEC) and sequentially consistent (via cluster sharding) storage. It is used for data from sport and games events. In some configurations used as distributed network file system. Also can be a generic storage for application.
Designed with various backends in mind and to work in pure JVM environment. Implementation based on top of KAI (implementation of Amazon DynamoDB in Erlang) port with modification to use akka-cluster infrastructure.
Currently main backend is RocksDB to support embedded setup alongside application. Feed API (add/entries/remove) is built on top of Key-Value API (put/get/delete).
Usage
Add project as a git module.
Backend
- Ring
- RocksDB
- Memory
- FS
- SQL
- etc.
Test
sbt> test
Resources
Chain Replication
Chain Replication in Theory and in Practice
Chain Replication for Supporting High Throughput and Availability
High-throughput chain replication for read-mostly workload
Leveraging Sharding in the Design of Scalable Replication Protocols