ZanRedisDB: redis-based distributed kv storage system

Features

  • redis compatible
  • support KV, HASH, SET, ZSET, LIST, GEOHASH, HYPERLOGLOG
  • extend data such as JSON
  • fully distributed support with raft
  • all data goto disk, not limited by memory
  • secondary index
  • support deploy across data center

Technical Specs

  • etcd raft
  • rocksdb as persistent storage
  • redis

Roadmap

  • Redis data structures
  • [x] KV
  • [x] Hash
  • [x] List
  • [x] Set
  • [x] Sorted Set
  • [x] GeoHash
  • [x] Expires
  • [x] HyperLogLog
  • [x] JSON
  • Distributed system
  • [x] Raft based replication
  • [x] Partitions
  • [x] Auto balance and migrate
  • [x] Support namespace
  • [x] High available
  • [x] Distributed scan on table
  • Searchable and Indexing
  • [ ] Secondary index support on Hash fields
  • [ ] Secondary index support for json kv
  • [ ] Full text search support
  • Operation
  • [x] Backup and restore for cluster
  • [ ] More stats for read/write performance and errors.
  • Client
  • [x] High available for redis commands (Retry on fail)
  • [ ] Extand redis commands to support index and search
  • [x] Extand redis commands for advance scan
  • Others (maybe)
  • [ ] Support configure for Column storage friendly for OLAP
  • [ ] BoltDB as storage engine (read/range optimize)
  • [ ] Lua scripts support
  • [ ] Support export data to other systems