Skip to content

zero-deps/kvs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

791 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Abstract scala type database

ci

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

Byzantine Chain Replication

Consensus Algorithm

RAFT SWIM

About

Highly available distributed strong eventual consistent and sequentially consistent storage with feeds, sorting and search

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages