Skip to content
Search

Kronotop

lastmod 2025-02-02created 2025-02-021 edits

Redis-compatible distributed document store, based on FoundationDB

About

  • A distributed, transactional document database that works in a Redis-compatible way, using FoundationDB for metadata and storage management
  • Aims to be a disk-based storage engine with an MQL-like query language, ACID transactions, and a Primary-Standby replication model

At a glance

  • Architecture that supports horizontal scaling (Sharding) by default
  • Supports various deployment strategies by forming single- or multi-master clusters
  • Uses the Redis Serialization Protocol (RESP), so any Redis client can connect
  • Supports part of the Redis cluster specification
  • Uses FoundationDB as a metastore for cluster management and data structure definitions
  • Implemented in Java and requires JDK 21 or later

Current status

  • Only initial features are implemented, but it has a stable foundation
  • ZMap : an ordered key-value store that provides a Redis protocol proxy on top of the FoundationDB API
  • Namespaces : a concept that isolates ZMap and Buckets, implemented as a thin wrapper around FoundationDB's directory layer
  • Volume : the storage engine implementation, adopting a Primary-Standby replication model
  • Clustering : clusters can be configured as single-master or multi-master
  • Redis Data Structures (partial support) : supports part of the String and Hash data structures

Future plans

  • Plans to design a data structure called Bucket to support storing JSON-like documents
  • Plans to provide FoundationDB-based transactions and an MQL-like query language in Bucket
  • Plans to gradually support common Redis data structures (String, Hash, Sorted Sets, etc.)

See also

Favorite site

author Zer0 sitemap