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 and support string, integer/float, and list keys.

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 is mostly stable. There are a lot of corner cases that don’t have tests yet

TODOs: * some services (esp. command line tools and runners) are under-tested * there’s no good API for errors

Changelog

0.30: major API refactoring: paths are now separate objects

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

distkv-0.30.14.tar.gz (167.3 kB view details)

Uploaded Source

File details

Details for the file distkv-0.30.14.tar.gz.

File metadata

  • Download URL: distkv-0.30.14.tar.gz
  • Upload date:
  • Size: 167.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.8

File hashes

Hashes for distkv-0.30.14.tar.gz
Algorithm Hash digest
SHA256 fbd79c200edcdc6a5aea1f44f967883b68a35517bc94937a8ef87c523e5db98c
MD5 d211029c62fa624998246ad39ff0d0cb
BLAKE2b-256 3fbe45bdc0244805182d8f23f0ef49758af7c37a0ff2e92db1ed6c02aeffeb9d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page