diff --git a/ROADMAP.md b/ROADMAP.md index 96176b56368e7..816d6a16acec7 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -39,28 +39,45 @@ This document defines the roadmap for TiDB development. ## TiKV: -- [ ] 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 +### 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: @@ -69,7 +86,7 @@ This document defines the roadmap for TiDB development. - [x] Decentralize scheduling table Regions - [x] Scheduler supports prioritization to be more controllable - [ ] Use machine learning to optimize scheduling -- [ ] Cluster Simulator +- [ ] Optimize Region metadata - Save Region metadata in detached storage engine ## TiSpark: