Logo
扩缩容

扩缩容 #

语法描述类型
ALTER RESHARDING RULE定义扩缩容规则RAL
RESHARD TABLE tableName by rule启动扩缩容RAL
SHOW RESHARDING RULE查看扩缩容规则RAL
SHOW RESHARDING LIST查看扩缩容作业列表RAL
SHOW RESHARDING STATUS jobId查看扩缩容作业状态RAL
START RESHARDING jobId启动已经停止的扩缩容作业RAL
STOP RESHARDING jobId停止扩缩容作业RAL
CHECK RESHARDING jobId执行扩缩容数据一致性校验RAL
START RESHARDING CHECK jobId启动停止的扩缩容数据一致性校验作业RAL
STOP RESHARDING CHECK jobId停止的扩缩容数据一致性校验作业RAL
DROP RESHARDING CHECK jobId删除一致性校验作业RAL
COMMIT RESHARDING jobId提交扩缩容作业RAL
FORCE COMMIT RESHARDING jobId强制提交扩缩容缩作业RAL
ROLLBACK RESHARDING jobId撤销扩缩容作业RAL
APPLY RESHARDING jobId应用扩缩容新配置(切换元数据)RAL
FORCE APPLY RESHARDING jobId强制应用扩缩容新配置(切换元数据)RAL
SHOW RESHARDING CHECK ALGORITHMS查看扩缩容算法RAL
STOP RESHARDING SOURCE WRITING jobId停写RAL
RESTORE RESHARDING SOURCE WRITING jobId恢复停写RAL
AUTO RESHARD TABLE tableName BY rule扩缩容自动模式RAL

1. 定义扩缩容规则 #

ALTER RESHARDING RULE 

示例

ALTER RESHARDING RULE (READ(RATE_LIMITER (TYPE(NAME='QPS’,PROPERTIES(‘qps'='5000’)))))

2. 启动扩缩容 #

RESHARD TABLE tableName BY rule 

参数说明

参数名说明
tableName执行扩缩容的表

示例

RESHARD TABLE t_order BY(
    STORAGE_UNITS(ds_0, ds_1, ds_2),
    SHARDING_COLUMN=order_id,
    TYPE(NAME="hash_mod",PROPERTIES("sharding-count"="6")),
    KEY_GENERATE_STRATEGY(COLUMN=order_id,TYPE(NAME="snowflake"))
);

3. 查看扩缩容规则 #

SHOW RESHARDING LIST;

参数说明

示例

SHOW RESHARDING LIST;
+---------------------------------------+---------+----------------------+--------+---------------------+-----------+
| id                                    | tables  | sharding_total_count | active | create_time         | stop_time |
+---------------------------------------+---------+----------------------+--------+---------------------+-----------+
| j51017f973ac82cb1edea4f5238a258c25e89 | t_order | 2                    | true   | 2022-10-25 10:10:58 | NULL      |
+---------------------------------------+---------+----------------------+--------+---------------------+-----------+

4. 查看扩缩容作业列表 #

SHOW RESHARDING LIST;

参数说明

示例

SHOW RESHARDING LIST;
+---------------------------------------+---------+----------------------+--------+---------------------+-----------+
| id                                    | tables  | sharding_total_count | active | create_time         | stop_time |
+---------------------------------------+---------+----------------------+--------+---------------------+-----------+
| j51017f973ac82cb1edea4f5238a258c25e89 | t_order | 2                    | true   | 2022-10-25 10:10:58 | NULL      |
+---------------------------------------+---------+----------------------+--------+---------------------+-----------+

5. 查看扩缩容作业状态 #

SHOW RESHARDING STATUS jobId;

参数说明

参数名说明
jobid作业id

示例

SHOW RESHARDING STATUS 'j51017f973ac82cb1edea4f5238a258c25e89';
+------+-------------+--------------------------+--------+-------------------------+-------------------------------+-------------------+--------------------------+---------------+
| item | data_source | status                   | active | processed_records_count | inventory_finished_percentage | remaining_seconds | incremental_idle_seconds | error_message |
+------+-------------+--------------------------+--------+-------------------------+-------------------------------+-------------------+--------------------------+---------------+
| 0    | ds_0        | EXECUTE_INCREMENTAL_TASK | true   | 3                       | 100                           | 0                 | 92                       |               |
| 1    | ds_1        | EXECUTE_INCREMENTAL_TASK | true   | 3                       | 100                           | 0                 | 92                       |               |
+------+-------------+--------------------------+--------+-------------------------+-------------------------------+-------------------+--------------------------+---------------+

6. 启动已经停止的扩缩容作业 #

START RESHARDING jobId

参数说明

参数名说明
jobid作业id

示例

START RESHARDING 'j51017f973ac82cb1edea4f5238a258c25e89';

7. 停止扩缩容作业 #

STOP RESHARDING jobId

参数说明

参数名说明
jobid作业id

示例

STOP RESHARDING 'j51017f973ac82cb1edea4f5238a258c25e89';

8. 执行扩缩容数据一致性 #

CHECK RESHARDING jobId

参数说明

参数名说明
jobid作业id

示例

指定 jobId 指定校验算法执行数据一致性校验

CHECK RESHARDING 'j01016e501b498ed1bdb2c373a2e85e2529a6' BY TYPE (NAME='CRC32_MATCH');
Query OK, 0 rows affected (0.09 sec)

指定 jobId 使用默认校验算法执行数据一致性校验

CHECK RESHARDING 'j01016e501b498ed1bdb2c373a2e85e2529a6';
Query OK, 0 rows affected (0.09 sec)

9. 启动停止的扩缩容数据一致性检测作业 #

START RESHARDING CHECK jobId

参数说明

参数名说明
jobid作业id

示例

START RESHARDING CHECK  'j51017f973ac82cb1edea4f5238a258c25e89';

10. 停止扩缩容数据一致性检测作业 #

STOP RESHARDING CHECK jobId

参数说明

参数名说明
jobid作业id

示例

STOP RESHARDING CHECK  'j51017f973ac82cb1edea4f5238a258c25e89';

11. 删除扩缩容数据一致性检测作业 #

DROP RESHARDING CHECK jobId

参数说明

参数名说明
jobid作业id

示例

DROP RESHARDING CHECK 'j51017f973ac82cb1edea4f5238a258c25e89';

12. 提交扩缩容作业 #

COMMIT RESHARDING jobId

参数说明

参数名说明
jobId作业id

示例

COMMIT RESHARDING 'j51017f973ac82cb1edea4f5238a258c25e89';

13. 强制提交扩缩容作业 #

FORCE COMMIT RESHARDING jobId

参数说明

参数名说明
jobid作业id

示例

FORCE COMMIT RESHARDING 'j51017f973ac82cb1edea4f5238a258c25e89';

14. 撤销扩缩容作业 #

ROLLBACK RESHARDING jobId

参数说明

参数名说明
jobid作业id

示例

ROLLBACK RESHARDING 'j51017f973ac82cb1edea4f5238a258c25e89';

15. 应用扩缩容新配置(切换元数据) #

APPLY RESHARDING jobId

参数说明

参数名说明
jobid作业id

示例

APPLY RESHARDING 'j51017f973ac82cb1edea4f5238a258c25e89';

16. 强制应用扩缩容新配置(切换元数据) #

FORCE APPLY RESHARDING jobId

参数说明

参数名说明
jobid作业id

示例

FORCE APPLY RESHARDING 'j51017f973ac82cb1edea4f5238a258c25e89';

17. 查看扩缩容算法 #

SHOW RESHARDING CHECK ALGORITHMS;

参数说明

示例

SHOW RESHARDING CHECK ALGORITHMS;
+-------------+--------------------------------------------------------------+----------------------------+
| type        | supported_database_types                                     | description                |
+-------------+--------------------------------------------------------------+----------------------------+
| CRC32_MATCH | MySQL                                                        | Match CRC32 of records.    |
| DATA_MATCH  | SQL92,MySQL,MariaDB,PostgreSQL,openGauss,Oracle,SQLServer,H2 | Match raw data of records. |
+-------------+--------------------------------------------------------------+----------------------------+

18. 停写 #

STOP RESHARDING SOURCE WRITING jobId

参数说明

参数名说明
jobid作业id

示例

STOP RESHARDING SOURCE WRITING 'j51017f973ac82cb1edea4f5238a258c25e89';

19. 恢复停写 #

RESTORE RESHARDING SOURCE WRITING jobId

参数说明

参数名说明
jobid作业id

示例

RESTORE RESHARDING SOURCE WRITING 'j51017f973ac82cb1edea4f5238a258c25e89';

20. 扩所容自动模式 #

AUTO RESHARD TABLE tableName BY rule

参数说明

参数名说明
tableName执行扩缩容的表

示例

AUTO RESHARD TABLE t_order BY(
    STORAGE_UNITS(ds_0, ds_1, ds_2),
    SHARDING_COLUMN=order_id,
    TYPE(NAME="hash_mod",PROPERTIES("sharding-count"="6")),
    KEY_GENERATE_STRATEGY(COLUMN=order_id,TYPE(NAME="snowflake"))
);

21. 扩所容自动模式 #

AUTO RESHARD TABLE tableName BY rule

参数说明

参数名说明
tableName执行扩缩容的表

示例

AUTO RESHARD TABLE t_order BY(
    STORAGE_UNITS(ds_0, ds_1, ds_2),
    SHARDING_COLUMN=order_id,
    TYPE(NAME="hash_mod",PROPERTIES("sharding-count"="6")),
    KEY_GENERATE_STRATEGY(COLUMN=order_id,TYPE(NAME="snowflake"))
);