@@ -12,72 +12,68 @@ This document defines the roadmap for TiDB development.
12
12
13
13
+ [ ] Optimizer
14
14
- [x] Refactor Ranger
15
- - [ ] Optimize the cost model
15
+ - [x] Optimize the cost model
16
+ - [ ] Cascades model planner
16
17
- [ ] Join Reorder
17
18
+ [ ] Statistics
18
19
- [x] Update statistics dynamically according to the query feedback
19
20
- [x] Analyze table automatically
20
- - [ ] Improve the accuracy of Row Count estimation
21
- + [ ] Executor
21
+ - [x ] Improve the accuracy of Row Count estimation
22
+ + [ ] Execution Engine
22
23
- [ ] Push down the Projection operator to the Coprocessor
23
- - [ ] Improve the performance of the HashJoin operator
24
- - [ ] Parallel Operators
24
+ - [x ] Improve the performance of the HashJoin operator
25
+ + [ ] Parallel Operators
25
26
- [x] Projection
26
- - [ ] Aggregation
27
+ - [x ] Aggregation
27
28
- [ ] Sort
28
29
- [x] Compact Row Format to reduce memory usage
29
30
- [ ] File Sort
30
31
- [ ] View
31
32
- [ ] Window Function
32
33
- [ ] Common Table Expression
33
- - [ ] Table Partition
34
+ + [ ] Table Partition
35
+ - [x] Range Partition
36
+ - [ ] Hash Partition
34
37
- [ ] Cluster Index
35
- - [ ] Improve DDL
36
- - [x] Speed up Add Index operation
37
- - [ ] Parallel DDL
38
+ - [ ] New storage row format
39
+ - [ ] Query Tracing
40
+ + [ ] Improve DDL
41
+ - [x] Speed up Add Index operation
42
+ - [x] Parallel DDL
43
+ - [ ] Support locking table
44
+ - [ ] Support modifying the column type
45
+ - [ ] Supoort modifying the primary key
46
+ - [ ] Support multiple DDL operations in a single statement
38
47
- [ ] Support ` utf8_general_ci ` collation
39
48
40
49
## TiKV:
41
50
42
- ### Raft
43
-
44
- - [x] Region Merge - Merge small Regions together to reduce overhead
45
- - [x] Local Read Thread - Process read requests in a local read thread
46
- - [x] Split Region in Batch - Speed up Region split for large Regions
47
- - [x] Raft Learner - Support Raft learner to smooth the configuration change process
48
- - [x] Raft Pre-vote - Support Raft pre-vote to avoid unnecessary leader election on network isolation
49
- - [ ] Joint Consensus - Change multi members safely.
50
- - [ ] Multi-thread Raftstore - Process Region Raft logic in multiple threads
51
- - [ ] Multi-thread apply pool - Apply Region Raft committed entries in multiple threads
52
-
53
- ### Engine
54
-
55
- - [ ] Titan - Separate large key-values from LSM-Tree
56
- - [ ] Pluggable Engine Interface - Clean up the engine wrapper code and provide more extendibility
57
-
58
- ### Storage
59
-
60
- - [ ] Flow Control - Do flow control in scheduler to avoid write stall in advance
61
-
62
- ### Transaction
63
-
64
- - [x] Optimize transaction conflicts
65
- - [ ] Distributed GC - Distribute MVCC garbage collection control to TiKV
66
-
67
- ### Coprocessor
68
-
69
- - [x] Streaming - Cut large data set into small chunks to optimize memory consumption
70
- - [ ] Chunk Execution - Process data in chunk to improve performance
71
- - [ ] Request Tracing - Provide per-request execution details
72
-
73
- ### Tools
74
-
75
- - [x] TiKV Importer - Speed up data importing by SST file ingestion
76
-
77
- ### Client
78
-
79
- - [ ] TiKV client (Rust crate)
80
- - [ ] Batch gRPC Message - Reduce message overhead
51
+ + Raft
52
+ - [x] Region Merge - Merge small Regions together to reduce overhead
53
+ - [x] Local Read Thread - Process read requests in a local read thread
54
+ - [x] Split Region in Batch - Speed up Region split for large Regions
55
+ - [x] Raft Learner - Support Raft learner to smooth the configuration change process
56
+ - [x] Raft Pre-vote - Support Raft pre-vote to avoid unnecessary leader election on network isolation
57
+ - [ ] Joint Consensus - Change multi members safely.
58
+ - [ ] Multi-thread Raftstore - Process Region Raft logic in multiple threads
59
+ - [ ] Multi-thread apply pool - Apply Region Raft committed entries in multiple threads
60
+ + Engine
61
+ - [ ] Titan - Separate large key-values from LSM-Tree
62
+ - [ ] Pluggable Engine Interface - Clean up the engine wrapper code and provide more extensibility
63
+ + Storage
64
+ - [ ] Flow Control - Do flow control in scheduler to avoid write stall in advance
65
+ + Transaction
66
+ - [x] Optimize transaction conflicts
67
+ - [ ] Distributed GC - Distribute MVCC garbage collection control to TiKV
68
+ + Coprocessor
69
+ - [x] Streaming - Cut large data set into small chunks to optimize memory consumption
70
+ - [ ] Chunk Execution - Process data in chunk to improve performance
71
+ - [ ] Request Tracing - Provide per-request execution details
72
+ + Tools
73
+ - [x] TiKV Importer - Speed up data importing by SST file ingestion
74
+ + Client
75
+ - [ ] TiKV client (Rust crate)
76
+ - [ ] Batch gRPC Message - Reduce message overhead
81
77
82
78
## PD:
83
79
0 commit comments