Skip to main content

A distributed no-master key-value store

Project description

Welcome to DistKV!

DistKV is a master-less distributed key-value storage system. It circumvents the CAP theorem by assuming that keys are usually only changed by one node. It is resistant to partitioning and intended to be always-on; it might delay – but will not lose – updates even in a partitioned network.

DistKV comes with several batteries included:

  • Basic user management, pattern-based ACLs
  • Strong typing, code- and/or JSON Schema-based
  • Data mangling
  • Background code execution
  • Seamless recovery even if only one master is running
  • a MQTT 3.1 back-end that stores persistent data in DistKV, based on hbmqtt

API

DistKV offers an efficient msgpack-based interface to access data and to change internal settings. Most configuration is stored inside DistKV itself.

Stored data are not forced to be strings or binary sequences, but can be anything that MsgPack supports. Keys to storage are multi-level.

For compatibility, a front-end that mimics etcd2 is available (TODO).

Non-Features

DistKV does not support data partitioning. Every node stores the whole data set and can instantly deliver mostly-uptodate data.

DistKV does not have a disk-based storage backend; periodic snapshots and event logs can be used to quickly restore a system, if necessary.

Status

DistKV has rich accessors and can distribute data, but not yet recover.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for distkv, version 0.14.0
Filename, size File type Python version Upload date Hashes
Filename, size distkv-0.14.0.tar.gz (148.6 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page