You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
README.md
TiDB Design Documents
Why We Need Design Documents
The design document provides a high-level description of the architecture and important details of what we want to do. It is the most powerful tool to ensure that our work is correctly performed.
Writing a design document can promote us to think deliberately and gather knowledge from others to get our job done better. An excellent design document is closely related to the success of our task.
Proprosal Process
- Before starting to write a design document, please create a new issue for tracing the process of your design.
- Create a new Google Doc to write the design document. Please refer to this proposal template.
- If the design document is ready to be reviewed, please put the shared link with the
can comment
permission in the issue you've created, and one of our engineers will follow up this issue and keep it updated. - If needed, we may organize a communications seminar through Google Hangouts to discuss your design with you and the interested friends from the community.
- When your design is finalized, please submit a pull request (PR) to add your new file under this directory, and put the link of your PR in the issue you've created.
- Once your PR has been merged, please close the old issue.
- Start the implementation referring to the proposal, and create a new issue to trace the process.
Proposal Status
Proposed
In Progress
- Proposal: A new storage row format for efficient decoding
- Proposal: Enhance constraint propagation in TiDB logical plan
- Proposal: A SQL Planner based on the Volcano/Cascades model
- Proposal: Implement Radix Hash Join
- Proposal: Maintaining histograms in plan
- Proposal: Support a Global Column Pool
- Proposal: Join Reorder Design v1
- Proposal: Support Window Functions
- Proposal: Access a table using multiple indexes
Completed
- Proposal: A new aggregate function execution framework
- Proposal: TiDB DDL architecture
- Proposal: Infer the System Timezone of a TiDB cluster via TZ environment variable
- Proposal: Table Partition
- Proposal: Implement View Feature
- Proposal: Support restoring SQL text from an AST tree
- Proposal: Support Plugin
- Proposal: Support Skyline Pruning
- Proposal: Support Index Merge
- Proposal: Support Automatically Index Recommendation