数据分片
语法说明
Sharding Table Rule
SHOW SHARDING TABLE tableRule | RULES [FROM schemaName]
SHOW SHARDING ALGORITHMS [FROM schemaName]
SHOW UNUSED SHARDING ALGORITHMS [FROM schemaName]
SHOW SHARDING KEY GENERATORS [FROM schemaName]
SHOW UNUSED SHARDING KEY GENERATORS [FROM schemaName]
SHOW DEFAULT SHARDING STRATEGY
SHOW SHARDING TABLE NODES;
tableRule:
RULE tableName
- 支持查询所有数据分片规则和指定表查询
- 支持查询所有分片算法
Sharding Binding Table Rule
SHOW SHARDING BINDING TABLE RULES [FROM schemaName]
Sharding Broadcast Table Rule
SHOW SHARDING BROADCAST TABLE RULES [FROM schemaName]
Sharding Scaling Rule
SHOW SHARDING SCALING RULES [FROM schemaName]
返回值说明
Sharding Table Rule
列 |
说明 |
table |
逻辑表名 |
actual_data_nodes |
实际的数据节点 |
actual_data_sources |
实际的数据源(通过 RDL 创建的规则时显示) |
database_strategy_type |
数据库分片策略类型 |
database_sharding_column |
数据库分片键 |
database_sharding_algorithm_type |
数据库分片算法类型 |
database_sharding_algorithm_props |
数据库分片算法参数 |
table_strategy_type |
表分片策略类型 |
table_sharding_column |
表分片键 |
table_sharding_algorithm_type |
表分片算法类型 |
table_sharding_algorithm_props |
表分片算法参数 |
key_generate_column |
分布式主键生成列 |
key_generator_type |
分布式主键生成器类型 |
key_generator_props |
分布式主键生成器参数 |
Sharding Algorithms
列 |
说明 |
name |
分片算法名称 |
type |
分片算法类型 |
props |
分片算法参数 |
Unused Sharding Algorithms
列 |
说明 |
name |
分片算法名称 |
type |
分片算法类型 |
props |
分片算法参数 |
Sharding Key Generators
列 |
说明 |
name |
分片列生成器名称 |
type |
分片列生成器类型 |
props |
分片列生成器参数 |
Unused Sharding Key Generators
列 |
说明 |
name |
分片列生成器名称 |
type |
分片列生成器类型 |
props |
分片列生成器参数 |
Default Sharding Strategy
列 |
说明 |
name |
策略名称 |
type |
分片策略类型 |
sharding_column |
分片键 |
sharding_algorithm_name |
分片算法名称 |
sharding_algorithm_type |
分片算法类型 |
sharding_algorithm_props |
分片算法参数 |
Sharding Table Nodes
列 |
说明 |
name |
分片规则名称 |
nodes |
分片节点 |
Sharding Binding Table Rule
列 |
说明 |
sharding_binding_tables |
绑定表名称 |
Sharding Broadcast Table Rule
列 |
说明 |
sharding_broadcast_tables |
广播表名称 |
Sharding Scaling Rule
列 |
说明 |
name |
弹性伸缩配置名称 |
input |
数据读取配置 |
output |
数据写入配置 |
stream_channel |
数据通道配置 |
completion_detector |
作业完成检测算法配置 |
data_consistency_checker |
数据一致性校验算法配置 |
示例
Sharding Table Rule
SHOW SHARDING TABLE RULES
mysql> SHOW SHARDING TABLE RULES;
+--------------+---------------------------------+-------------------+----------------------+------------------------+-------------------------------+----------------------------------------+-------------------+---------------------+----------------------------+---------------------------------------------------+-------------------+------------------+-------------------+
| table | actual_data_nodes | actual_data_sources | database_strategy_type | database_sharding_column | database_sharding_algorithm_type | database_sharding_algorithm_props | table_strategy_type | table_sharding_column | table_sharding_algorithm_type | table_sharding_algorithm_props | key_generate_column | key_generator_type | key_generator_props |
+--------------+---------------------------------+-------------------+----------------------+------------------------+-------------------------------+----------------------------------------+-------------------+---------------------+----------------------------+---------------------------------------------------+-------------------+------------------+-------------------+
| t_order | ds_${0..1}.t_order_${0..1} | | INLINE | user_id | INLINE | algorithm-expression:ds_${user_id % 2} | INLINE | order_id | INLINE | algorithm-expression:t_order_${order_id % 2} | order_id | SNOWFLAKE | |
| t_order_item | ds_${0..1}.t_order_item_${0..1} | | INLINE | user_id | INLINE | algorithm-expression:ds_${user_id % 2} | INLINE | order_id | INLINE | algorithm-expression:t_order_item_${order_id % 2} | order_item_id | SNOWFLAKE | |
| t2 | | ds_0,ds_1 | | | | | mod | id | mod | sharding-count:10 | | | |
+--------------+---------------------------------+-------------------+----------------------+------------------------+-------------------------------+----------------------------------------+-------------------+---------------------+----------------------------+---------------------------------------------------+-------------------+------------------+-------------------+
3 rows in set (0.02 sec)
SHOW SHARDING TABLE RULE tableName
mysql> SHOW SHARDING TABLE RULE t_order;
+---------+----------------------------+-------------------+----------------------+------------------------+-------------------------------+----------------------------------------+-------------------+---------------------+----------------------------+----------------------------------------------+-------------------+------------------+-------------------+
| table | actual_data_nodes | actual_data_sources | database_strategy_type | database_sharding_column | database_sharding_algorithm_type | database_sharding_algorithm_props | table_strategy_type | table_sharding_column | table_sharding_algorithm_type | table_sharding_algorithm_props | key_generate_column | key_generator_type | key_generator_props |
+---------+----------------------------+-------------------+----------------------+------------------------+-------------------------------+----------------------------------------+-------------------+---------------------+----------------------------+----------------------------------------------+-------------------+------------------+-------------------+
| t_order | ds_${0..1}.t_order_${0..1} | | INLINE | user_id | INLINE | algorithm-expression:ds_${user_id % 2} | INLINE | order_id | INLINE | algorithm-expression:t_order_${order_id % 2} | order_id | SNOWFLAKE | |
+---------+----------------------------+-------------------+----------------------+------------------------+-------------------------------+----------------------------------------+-------------------+---------------------+----------------------------+----------------------------------------------+-------------------+------------------+-------------------+
1 row in set (0.01 sec)
SHOW SHARDING ALGORITHMS
mysql> SHOW SHARDING ALGORITHMS;
+-------------------------+--------+-----------------------------------------------------+
| name | type | props |
+-------------------------+--------+-----------------------------------------------------+
| t_order_inline | INLINE | algorithm-expression=t_order_${order_id % 2} |
| t_order_item_inline | INLINE | algorithm-expression=t_order_item_${order_id % 2} |
+-------------------------+--------+-----------------------------------------------------+
2 row in set (0.01 sec)
SHOW UNUSED SHARDING ALGORITHMS
mysql> SHOW UNUSED SHARDING ALGORITHMS;
+---------------+--------+-----------------------------------------------------+
| name | type | props |
+---------------+--------+-----------------------------------------------------+
| t1_inline | INLINE | algorithm-expression=t_order_${order_id % 2} |
+---------------+--------+-----------------------------------------------------+
1 row in set (0.01 sec)
SHOW SHARDING KEY GENERATORS
mysql> SHOW SHARDING KEY GENERATORS;
+------------------------+-----------+-----------------+
| name | type | props |
+------------------------+-----------+-----------------+
| t_order_snowflake | snowflake | |
| t_order_item_snowflake | snowflake | |
| uuid_key_generator | uuid | |
+------------------------+-----------+-----------------+
3 row in set (0.01 sec)
SHOW UNUSED SHARDING KEY GENERATORS
mysql> SHOW UNUSED SHARDING KEY GENERATORS;
+------------------------+-----------+-----------------+
| name | type | props |
+------------------------+-----------+-----------------+
| uuid_key_generator | uuid | |
+------------------------+-----------+-----------------+
1 row in set (0.01 sec)
SHOW DEFAULT SHARDING STRATEGY
mysql> SHOW DEFAULT SHARDING STRATEGY ;
+----------+---------+--------------------+-------------------------+-------------------------+------------------------------------------+
| name | type | sharding_column | sharding_algorithm_name | sharding_algorithm_type | sharding_algorithm_props |
+----------+---------+--------------------+-------------------------+-------------------------+------------------------------------------+
| TABLE | NONE | | | | |
| DATABASE | STANDARD| order_id | database_inline | INLINE | {algorithm-expression=ds_${user_id % 2}} |
+----------+---------+--------------------+-------------------------+-------------------------+------------------------------------------+
2 rows in set (0.07 sec)
SHOW SHARDING TABLE NODES
mysql> SHOW SHARDING TABLE NODES;
+---------+----------------------------------------------------------------+
| name | nodes |
+---------+----------------------------------------------------------------+
| t_order | ds_0.t_order_0, ds_1.t_order_1, ds_0.t_order_2, ds_1.t_order_3 |
+---------+----------------------------------------------------------------+
1 row in set (0.02 sec)
Sharding Binding Table Rule
mysql> SHOW SHARDING BINDING TABLE RULES;
+----------------------+
| sharding_binding_tables |
+----------------------+
| t_order,t_order_item |
| t1,t2 |
+----------------------+
2 rows in set (0.00 sec)
Sharding Broadcast Table Rule
mysql> SHOW SHARDING BROADCAST TABLE RULES;
+------------------------+
| sharding_broadcast_tables |
+------------------------+
| t_1 |
| t_2 |
+------------------------+
2 rows in set (0.00 sec)
Sharding Scaling Rule
mysql> SHOW SHARDING SCALING RULES;
+------------------+----------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------------------------+-----------------------------------------------------+
| name | input | output | stream_channel | completion_detector | data_consistency_checker |
+------------------+----------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------------------------+-----------------------------------------------------+
| sharding_scaling | {"workerThread":40,"batchSize":1000,"rateLimiter":{"type":"QPS","props":{"qps":"50"}}} | {"workerThread":40,"batchSize":1000,"rateLimiter":{"type":"TPS","props":{"tps":"2000"}}} | {"type":"MEMORY","props":{"block-queue-size":"10000"}} | {"type":"IDLE","props":{"incremental-task-idle-minute-threshold":"30"}} | {"type":"DATA_MATCH","props":{"chunk-size":"1000"}} |
+------------------+----------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------------------------+-----------------------------------------------------+
1 row in set (0.00 sec)