Skip to content

Commit

Permalink
roadmap: update TiDB roadmap
Browse files Browse the repository at this point in the history
  • Loading branch information
lilin90 committed Oct 8, 2018
1 parent 5a9073d commit 3a3513a
Showing 1 changed file with 45 additions and 49 deletions.
94 changes: 45 additions & 49 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,72 +12,68 @@ This document defines the roadmap for TiDB development.

+ [ ] Optimizer
- [x] Refactor Ranger
- [ ] Optimize the cost model
- [x] Optimize the cost model
- [ ] Cascades model planner
- [ ] Join Reorder
+ [ ] Statistics
- [x] Update statistics dynamically according to the query feedback
- [x] Analyze table automatically
- [ ] Improve the accuracy of Row Count estimation
+ [ ] Executor
- [x] Improve the accuracy of Row Count estimation
+ [ ] Execution Engine
- [ ] Push down the Projection operator to the Coprocessor
- [ ] Improve the performance of the HashJoin operator
- [ ] Parallel Operators
- [x] Improve the performance of the HashJoin operator
+ [ ] Parallel Operators
- [x] Projection
- [ ] Aggregation
- [x] Aggregation
- [ ] Sort
- [x] Compact Row Format to reduce memory usage
- [ ] File Sort
- [ ] View
- [ ] Window Function
- [ ] Common Table Expression
- [ ] Table Partition
+ [ ] Table Partition
- [x] Range Partition
- [ ] Hash Partition
- [ ] Cluster Index
- [ ] Improve DDL
- [x] Speed up Add Index operation
- [ ] Parallel DDL
- [ ] New storage row format
- [ ] Query Tracing
+ [ ] Improve DDL
- [x] Speed up Add Index operation
- [x] Parallel DDL
- [ ] Support locking table
- [ ] Support modifying the column type
- [ ] Supoort modifying the primary key
- [ ] Support multiple DDL operations in a single statement
- [ ] Support `utf8_general_ci` collation

## TiKV:

### 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
+ 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:

Expand Down

0 comments on commit 3a3513a

Please sign in to comment.