Skip to content

Commit

Permalink
Roadmap: improve and update (tikv#3641)
Browse files Browse the repository at this point in the history
Signed-off-by: Huachao Huang <huachao.huang@gmail.com>
  • Loading branch information
huachaohuang committed Sep 30, 2018
1 parent 25db12d commit 25d4ee3
Showing 1 changed file with 35 additions and 24 deletions.
59 changes: 35 additions & 24 deletions docs/ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,27 +7,38 @@ category: Roadmap

This document defines the roadmap for TiKV development.

- [ ] Raft
- [x] Region merge
- [ ] Local read thread
- [ ] Multi-thread raftstore
- [x] None voter
- [x] Pre-vote
- [ ] Multi-thread apply pool
- [ ] Split region in batch
- [ ] Raft Engine
- [x] RocksDB
- [x] DeleteRange
- [ ] BlobDB
- [x] Transaction
- [x] Optimize transaction conflicts
- [ ] Distributed GC
- [x] Coprocessor
- [x] Streaming
- [ ] Tool
- [x] Import distributed data
- [ ] Export distributed data
- [ ] Disaster Recovery
- [ ] Flow control and degradation
- [ ] Client
- [ ] TiKV client (Rust crate)
## Raft
- [x] Region Merge - Merge small Regions together to reduce overhead
- [x] Local Read Thread - Process read requests in a local read thread
- [x] Split Region in Batch - Speed up Region split for large Regions
- [x] Raft Learner - Support Raft learner to smooth the configuration change process
- [x] Raft Pre-vote - Support Raft pre-vote to avoid unnecessary leader election on network isolation
- [ ] Joint Consensus - Change multi members safely.
- [ ] Multi-thread Raftstore - Process Region Raft logic in multiple threads
- [ ] Multi-thread apply pool - Apply Region Raft committed entries in multiple threads

## Engine
- [ ] Titan - Separate large key-values from LSM-Tree
- [ ] Pluggable Engine Interface - Clean up the engine wrapper code and provide more extendibility

## Storage
- [ ] Flow Control - Do flow control in scheduler to avoid write stall in advance

## Transaction
- [x] Optimize transaction conflicts
- [ ] Distributed GC - Distribute MVCC garbage collection control to TiKV

## Coprocessor
- [x] Streaming - Cut large data set into small chunks to optimize memory consumption
- [ ] Chunk Execution - Process data in chunk to improve performance
- [ ] Request Tracing - Provide per-request execution details

## Tools
- [x] TiKV Importer - Speed up data importing by SST file ingestion

## Client
- [ ] TiKV client (Rust crate)
- [ ] Batch gRPC Message - Reduce message overhead

## PD
- [ ] Optimize Region metadata - Save Region metadata in detached storage engine

0 comments on commit 25d4ee3

Please sign in to comment.