Skip to content

V0.1.0 Release

Choose a tag to compare

@pdgetrf pdgetrf released this 02 Aug 16:21
· 38 commits to main since this release
4c1f126

Hello World!

Welcome to the first release of the regionless store service. This release focuses on the architecture design and key-component implementation that meet the requirements of highly scalable storage capacity, ETCD-compatible APIs, high availability with replication, and lowest possible PUT/GET latency under the constrain of strong replication consistency.

Release Features

  • APIs Related
    • CRUD with range query and listing all revisions of a key
    • An indexer with host mapping for fast partition server look-up, key listing, and range query
  • Key-space Partition
    • A key partition algorithm based on revision bucketing and consistency hashing
  • Replication & Consistency
    • Configurable data replication for HA
    • Implementation of chain-replication for strong (linearizability) consistency
    • Configurable sequential consistency design
  • Storage Backend
    • Open design and an initial implementation with Redis
  • Deployment
    • "One-button" deploy scripts that provision RKV for service and benchmarking
  • Performance
    • Storage capacity scalable to 30M key-value pairs (projected to 50M+ in the future testing)
    • Scalable for write/read latency

Known Issues

  • Linearizability consistency causing high PUT latency
  • Cross-region latency needs optimization
  • Concurrency of go-ycsb needs optimization

To-dos

  • Distributed indexer to break memory limitation at large data capacity
  • Watcher implementation
  • A 2-level key-sharding algorithm that allows selection of storage instance groups
  • Further txn support
  • More replication consistency optimization and options
  • Smart caching and read latency improvement