cinterloper / kvdn

Distributed Key-Value store with clients for python, js, java, cli and SaltStack

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

KVDN

KVDN is an extensible distributed data framework and key-value storage protocol server.

It builds on the Vert.X SharedData interface with features such as:

  • getKeys() on distribued maps
  • pre and post action hooks
  • utilities such as distributedWaitGroup and cluster wide exclusiveTask

You can also:

  • use kvdn as a stand alone http or tcp server
  • persist your data to JDBC or Cassandra
  • embed kvdn in your vertx-enabled application

Some of these fetures are achived through cluster-manager specific provider implementations.

right now KVDN supports MapDB for local persistance, with support for Hazelcast and Apache Ignite for distributed persistance

A JDBC mapstore is included for Hazelcast, Apache Ignite users should follow the Ignite docs for Cassandra or JDBC persistance

Drivers

KVDN has client drivers for

  • Golang
  • Python
    • CLI
  • Javascript
  • (vert.x languages supporting codegen)

out of these, only the python driver and the code generated Vert.X service-proxy drivers are mature, and even they are still under development

KVDN also has a saltstack integration where it can be a pillar data provider

Building from source

$ ./gradlew clean shadowJar publish
$ export BUILD_EXTENSIONS=true
$ ./gradlew clean shadowJar publish

Docker

docker run -p6500:6500 cinterloper/kvdn

License

Apache

Powered by

N|Vertx

About

Distributed Key-Value store with clients for python, js, java, cli and SaltStack

License:Other


Languages

Language:C++ 89.3%Language:Groovy 4.2%Language:Java 1.8%Language:Makefile 1.7%Language:CMake 1.0%Language:Shell 0.6%Language:JavaScript 0.6%Language:C 0.4%Language:Python 0.2%Language:Roff 0.2%Language:TypeScript 0.1%Language:Go 0.1%Language:HTML 0.1%