产品概述
应用场景
产品架构
实例类型
兼容性说明
使用规范建议






INFORMATION_SCHEMA.DDL_JOBS字典表,通过 DDL_STATUS 字段确认最终执行结果。
节点类型 | 节点规格 | 节点个数 |
HyperNode | 16Core CPU/32GB Memory/增强型 SSD 云硬盘300GB | 3 |
-- 创建分区表,分区数为节点倍数:CREATE TABLE `lineitem` (`L_ORDERKEY` int NOT NULL,`L_PARTKEY` int NOT NULL,`L_SUPPKEY` int NOT NULL,`L_LINENUMBER` int NOT NULL,`L_QUANTITY` decimal(15,2) NOT NULL,`L_EXTENDEDPRICE` decimal(15,2) NOT NULL,`L_DISCOUNT` decimal(15,2) NOT NULL,`L_TAX` decimal(15,2) NOT NULL,`L_RETURNFLAG` char(1) NOT NULL,`L_LINESTATUS` char(1) NOT NULL,`L_SHIPDATE` date NOT NULL,`L_COMMITDATE` date NOT NULL,`L_RECEIPTDATE` date NOT NULL,`L_SHIPINSTRUCT` char(25) NOT NULL,`L_SHIPMODE` char(10) NOT NULL,`L_COMMENT` varchar(44) NOT NULL,PRIMARY KEY (`L_ORDERKEY`,`L_LINENUMBER`)) ENGINE=ROCKSDB DEFAULT CHARSET=utf8mb3PARTITION BY HASH (`L_ORDERKEY`) PARTITIONS 24;--造数可使用 TPC 官方标准工具:TPC-H v3.0.1,下载地址:tpc.org/tpch/--导入,其中 LOAD DATA 的数据文件目录替换成自己的目录:#!/bin/bashfor tbl in lineitemdofor i in {1..30}doecho "Importing table: $tbl"mysql $opts -e "set tdsql_bulk_load_allow_unsorted=1;set tdsql_bulk_load = 1;LOAD DATA INFILE '/data/TPCH_test/dbgen/tpch-100g/${tbl}.tbl.$i' INTO TABLE $tbl FIELDS TERMINATED BY '|';" &donedonewaitdate--确认记录数:sql> select count(*) from tpchpart100g.lineitem;+-----------+| count(*) |+-----------+| 600037902 |--预期数据大致均匀的分布在每个节点:select sum(region_stats_approximate_size) as size, count(b.rep_group_id) as region_nums, sql_addr, c.leader_node_name, b.rep_group_id from information_schema.META_CLUSTER_DATA_OBJECTS a join information_schema.META_CLUSTER_REGIONS b join information_schema.META_CLUSTER_RGS c join information_schema.META_CLUSTER_NODES d on a.data_obj_id = b.data_obj_id and b.rep_group_id = c.rep_group_id and c.leader_node_name = d.node_name where a.table_name = 'lineitem' and a.data_obj_type = 'PARTITION_L1' group by rep_group_id order by leader_node_name;+------------+-------------+------------------+----------------------+--------------+| size | region_nums | sql_addr | leader_node_name | rep_group_id |+------------+-------------+------------------+----------------------+--------------+| 8879148586 | 76 | 9.30.0.133:15070 | node-three-001 | 64535 || 8878971995 | 81 | 9.30.2.175:15088 | node-three-002 | 513 || 8878089427 | 79 | 9.30.0.134:15070 | node-three-003 | 65082 |+------------+-------------+------------------+----------------------+--------------+--若数据分布不均匀,则进行分裂和切主ALTER INSTANCE SPLIT RG 64535 BY 'size';ALTER INSTANCE TRANSFER LEADER RG 64535 TO 'node-three-003';
-- DDL 操作 worker 线程数(所有节点的 worker 总和),缺省值为 8:max_parallel_ddl_degree-- DDL 操作的数据回填模式,缺省值为'ThomasWrite',要开启 Fast Online DDL 功能则需要设置成'IngestBehind':tdsql_ddl_fillback_mode
-- ThomasWrite 回填模式:set session max_parallel_ddl_degree=9;set session tdsql_ddl_fillback_mode='ThomasWrite';alter table tpchpart100g.lineitem add index index_idx_q_part_key(l_partkey);Query OK, 0 rows affected (40 min 37.62 sec)set session max_parallel_ddl_degree=16;set session tdsql_ddl_fillback_mode='ThomasWrite';alter table tpchpart100g.lineitem add index index_idx_w_part_key(l_partkey);Query OK, 0 rows affected (25 min 22.95 sec)

-- IngestBehind 回填模式:set session max_parallel_ddl_degree=9;set session tdsql_ddl_fillback_mode='IngestBehind';alter table tpchpart100g.lineitem add index index_idx_j_part_key(l_partkey);Query OK, 0 rows affected (5 min 11.66 sec)set session max_parallel_ddl_degree=16;set session tdsql_ddl_fillback_mode='IngestBehind';alter table tpchpart100g.lineitem add index index_idx_k_part_key(l_partkey);Query OK, 0 rows affected (3 min 32.15 sec)set session max_parallel_ddl_degree=48;set session tdsql_ddl_fillback_mode='IngestBehind';alter table tpchpart100g.lineitem add index index_idx_l_part_key(l_partkey);Query OK, 0 rows affected (2 min 29.52 sec)

--ddl_jobs:记录ddl执行流程的字典表select * from INFORMATION_SCHEMA.DDL_JOBS where date_format(START_TIMESTAMP,'%Y-%m-%d')='2024-11-22' and IS_HISTORY=1 order by START_TIMESTAMP desc limit 1\\G*************************** 1. row ***************************ID: 18SCHEMA_NAME: tpch100gTABLE_NAME: lineitemVERSION: 204DDL_STATUS: SUCCESSSTART_TIMESTAMP: 2024-11-22 18:47:47LAST_TIMESTAMP: 2024-11-22 18:50:18DDL_SQL: alter table tpch100g.lineitem add index index_idx_s_part_key(l_partkey)INFO_TYPE: ALTER TABLEINFO: {"tmp_tbl":{"db":"tpch100g","table":"#sql-11746_212c8b_673ef509000030_9"},"alt_type":1,"alt_tid_upd":{"tid_from":10013,"tid_to":10013},"cr_idx":[{"id":10240,"ver":34,"stat":0,"tbl_type":2,"idx_type":2},{"id":10241,"ver":34,"stat":0,"tbl_type":2,"idx_type":4},{"id":10242,"ver":34,"stat":0,"tbl_type":2,"idx_type":4},{"id":10243,"ver":34,"stat":0,"tbl_type":2,"idx_type":4},{"id":10244,"ver":34,"stat":0,"tbl_type":2,"idx_type":4},{"id":10245,"ver":34,"stat":0,"tbl_type":2,"idx_type":4},{"id":10246,"ver":34,"stat":0,"tbl_type":2,"idx_type":4},{"id":10247,"ver":34,"stat":0,"tbl_type":2,"idx_type":4},{"id":10248,"ver":34,"stat":0,"tbl_type":2,"idx_type":4},{"id":10249,"ver":34,"stat":0,"tbl_type":2,"idx_type":4},{"id":10250,"ver":34,"stat":0,"tbl_type":2,"idx_type":4},{"id":10251,"ver":34,"stat":0,"tbl_type":2,"idx_type":4},{"id":10252,"ver":34,"stat":0,"tbl_type":2,"idx_type":4},{"id":10253,"ver":34,"stat":0,"tbl_type":2,"idx_type":4},{"id":10254,"ver":34,"stat":0,"tbl_type":2,"idx_type":4},{"id":10255,"ver":34,"stat":0,"tbl_type":2,"idx_type":4},{"id":10256,"ver":34,"stat":0,"tbl_type":2,"idx_type":4},{"id":10257,"ver":34,"stat":0,"tbl_type":2,"idx_type":4},{"id":10258,"ver":34,"stat":0,"tbl_type":2,"idx_type":4},{"id":10259,"ver":34,"stat":0,"tbl_type":2,"idx_type":4},{"id":10260,"ver":34,"stat":0,"tbl_type":2,"idx_type":4},{"id":10261,"ver":34,"stat":0,"tbl_type":2,"idx_type":4},{"id":10262,"ver":34,"stat":0,"tbl_type":2,"idx_type":4},{"id":10263,"ver":34,"stat":0,"tbl_type":2,"idx_type":4},{"id":10264,"ver":34,"stat":0,"tbl_type":2,"idx_type":4}],"rm_idx":[],"init":false,"tmp_tab":false,"online_op":true,"wf_rmed":false,"online_copy_stage":0,"idx_op":true,"row_applied":true,"row_apply_saved":true,"current_schema_name":"tpch100g","crt_data_obj_task_id":29062709316158283,"dstr_data_obj_task_id":0,"data_obj_to_be_dstr_arr":[],"part_policy_ids":[1],"progress":"total: 200, scanned: 200 (100.00%)","fillback_mode":"IngestBehind","exec_addr":{"ip":"10.0.20.144","port":6008},"recov_addr":{"ip":"10.0.20.144","port":6008}}IS_HISTORY: 11 row in set (0.00 sec)
字段 | 说明 |
ID | 每个 DDL JOB 都有唯一 ID。 |
SCHEMA_NAME | 库名。 |
TABLE_NAME | 表名。 |
VERSION | INFO 字段解析版本号。 |
DDL_STATUS | DDL JOB 执行状态,有 SUCCESS,FAIL,EXECUTING 三种状态。 |
START_TIMESTAMP | DDL JOB 发起时间。 |
LAST_TIMESTAMP | DDL JOB 结束时间。 |
DDL_SQL | DDL 语句明细。 |
INFO_TYPE | DDL 语句类型。 |
INFO | 执行 DDL 的过程中的元数据信息(包含 add index, copy table 类型 DDL 语句的执行进度)。 |
文档反馈