-
Notifications
You must be signed in to change notification settings - Fork 6.1k
Description
Feature Request
Currently, TiDB initial support for concurrent DDL
(The DDL of "add index" and the other types of DDL can be executed concurrently when they are on the different tables. Related to #6955). When more services are connected to the same cluster, the Same type of DDL statement is usually blocked between different services.
In this case, the DDL capabilities will block more service to use the TiDB database. But TiDB can do more things to extend the DDL capabilities, this PR proposes to support execute DDL parallelly
For example:
Teams A and B share the same TiDB cluster. Team A cannot do any add index operation when team B is executing a DDL alter table t1 add index idx_ab(a,b), which will block the team A upgrading service especially when the table t1 is huge (eg: greater than 1B rows).
But there are some risks if we support add index parallelly, eg: the cluster load will increase if add index parallelly, which will impact the cluster performance.
Category
Feature/Improvement
Value
3: Make TiDB support more scenarios.
TODO list
- Add a proposal.
- Modify the storage format of DDL jobs to support parallel DDL #18425 Modify the storage format of the current DDL job.
- Remove the old storage formate and update related executions(such as
admin show ddl jobs/queries).