Note:
This topic has been translated from a Chinese forum by GPT and might contain errors.Original topic: tidb的ddl是串行的吗?
The image is not available, please provide the text you need translated.
Note:
This topic has been translated from a Chinese forum by GPT and might contain errors.Original topic: tidb的ddl是串行的吗?
The image is not available, please provide the text you need translated.
TiDB’s DDL achieves online, asynchronous schema changes in a distributed environment without locking by implementing Google F1’s online asynchronous schema change algorithm. To simplify the design, TiDB only allows one node to execute DDL operations at any given time. Users can send multiple DDL requests to any TiDB node, but all DDL requests are executed serially by the worker of the owner node within TiDB.
The following diagram describes the simple processing flow of a DDL request in TiDB:
There are two DDL job queues in TiKV, one for the add index queue and the other for other DDL operations. So strictly speaking, not all DDL operations are serialized.
6.2 * Introduced a new DDL parallel execution framework to reduce DDL blocking and significantly improve execution efficiency.
I have enabled the parameter tidb_enable_concurrent_ddl
, but during execution, using admin show ddl jobs
, I still see multiple DDLs waiting, and creating indexes globally is still slow.
Could it be that I upgraded step by step from 4.0, and the kernel doesn’t support it?
This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.