title | summary | category | aliases | ||
---|---|---|---|---|---|
TiDB Roadmap |
Learn about the roadmap of TiDB. |
Roadmap |
|
This document defines the roadmap for TiDB development.
- Optimizer
- Statistics Optimization
- Multi-Column Statistics
- Cascades Planner
- Plan Management
- SQL Tuning Advisor
- Robust Access Path Selection: add the heuristic rule and improve the accuracy of index selection in OLTP scenarios
- Adaptive Query Optimization
- Execution Engine
- Parallel Operators
- Memory Control
- Concurrency Control
- Shuffle Operators
- Vectorized Expression Evaluation
- UDF
- SQL Features
- Support Views
- Support Window Functions
- Support Common Table Expressions
- Support Hash Partitioned Tables
- Support the utf8mb4_0900_ai_ci Collation
- Improve DDL
- Support Table Lock
- Support Change Column Type
- Support Multiple DDL Operations in a Single Statement
- Support Invisible Indexes
- Support Plugin System
- Support White List Plugin
- Support Audit Log Plugin
- Support RBAC Plugin
- Support Diagnostic Plugin
- Support Query Tracing
- Support Hybrid Column/Row-oriented Storage Engine
- Support New Storage Row Format: improve performance and reduce memory usage
- Support Non-integer Type of RowID
- Transaction
- Reduce Read-write Conflicts
- Optimize Transaction Scheduling Mechanism
- Refine Model and Reduce Latency
- Support Minimal Transaction (like the mini-transaction of InnoDB)
- Raft
- Region Merge - Merge small Regions together to reduce overhead
- Local Read Thread - Process read requests in a local read thread
- Split Region in Batch - Speed up Region split for large Regions
- Raft Learner - Support Raft learner to smooth the configuration change process
- 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 extensibility
- Storage
- Flow Control - Do flow control in scheduler to avoid write stall in advance
- Transaction
- Optimize transaction conflicts
- Distributed GC - Distribute MVCC garbage collection control to TiKV
- Coprocessor
- 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
- TiKV Importer - Speed up data importing by SST file ingestion
- Client
- TiKV client (Rust crate)
- Batch gRPC Message - Reduce message overhead
- Improve namespace
- Different replication policies for different namespaces and tables
- Decentralize scheduling table Regions
- Scheduler supports prioritization to be more controllable
- Use machine learning to optimize scheduling
- Optimize Region metadata - Save Region metadata in detached storage engine
- Limit/Order push-down
- Access through the DAG interface and deprecate the Select interface
- Index Join and parallel merge join
- Data Federation
- Tool for automating TiDB deployment
- High-Performance data import tool (lightning)
- Backup and restore tool (incremental backup supported by drainer, incremental restore supported by reparo)
- New TiDB-binlog with improved architecture
- Data online migration tool (premium edition of Syncer)
- Diagnostic tools