V0.1.0 Release
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