扩缩容 #
| 语法 | 描述 | 类型 |
|---|---|---|
| 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"))
);