数据分片

配置项说明

命名空间:http://shardingsphere.apache.org/schema/shardingsphere/sharding/sharding-5.1.0.xsd

<sharding:rule />

名称 类型 说明
id 属性 Spring Bean Id
table-rules (?) 标签 分片表规则配置
auto-table-rules (?) 标签 自动化分片表规则配置
binding-table-rules (?) 标签 绑定表规则配置
broadcast-table-rules (?) 标签 广播表规则配置
default-database-strategy-ref (?) 属性 默认分库策略名称
default-table-strategy-ref (?) 属性 默认分表策略名称
default-key-generate-strategy-ref (?) 属性 默认分布式序列策略名称
default-sharding-column (?) 属性 默认分片列名称

<sharding:table-rule />

名称 类型 说明
logic-table 属性 逻辑表名称
actual-data-nodes 属性 由数据源名 + 表名组成,以小数点分隔。多个表以逗号分隔,支持 inline 表达式。缺省表示使用已知数据源与逻辑表名称生成数据节点,用于广播表(即每个库中都需要一个同样的表用于关联查询,多为字典表)或只分库不分表且所有库的表结构完全一致的情况
actual-data-sources 属性 自动分片表数据源名
database-strategy-ref 属性 标准分片表分库策略名称
table-strategy-ref 属性 标准分片表分表策略名称
sharding-strategy-ref 属性 自动分片表策略名称
key-generate-strategy-ref 属性 分布式序列策略名称

<sharding:binding-table-rules />

名称 类型 说明
binding-table-rule (+) 标签 绑定表规则配置

<sharding:binding-table-rule />

名称 类型 说明
logic-tables 属性 绑定表名称,多个表以逗号分隔

<sharding:broadcast-table-rules />

名称 类型 说明
broadcast-table-rule (+) 标签 广播表规则配置

<sharding:broadcast-table-rule />

名称 类型 说明
table 属性 广播表名称

<sharding:standard-strategy />

名称 类型 说明
id 属性 标准分片策略名称
sharding-column 属性 分片列名称
algorithm-ref 属性 分片算法名称

<sharding:complex-strategy />

名称 类型 说明
id 属性 复合分片策略名称
sharding-columns 属性 分片列名称,多个列以逗号分隔
algorithm-ref 属性 分片算法名称

<sharding:hint-strategy />

名称 类型 说明
id 属性 Hint 分片策略名称
algorithm-ref 属性 分片算法名称

<sharding:none-strategy />

名称 类型 说明
id 属性 分片策略名称

<sharding:key-generate-strategy />

名称 类型 说明
id 属性 分布式序列策略名称
column 属性 分布式序列列名称
algorithm-ref 属性 分布式序列算法名称

<sharding:sharding-algorithm />

名称 类型 说明
id 属性 分片算法名称
type 属性 分片算法类型
props (?) 标签 分片算法属性配置

<sharding:key-generate-algorithm />

名称 类型 说明
id 属性 分布式序列算法名称
type 属性 分布式序列算法类型
props (?) 标签 分布式序列算法属性配置

算法类型的详情,请参见内置分片算法列表内置分布式序列算法列表

注意事项

行表达式标识符可以使用 ${...}$->{...},但前者与 Spring 本身的属性文件占位符冲突,因此在 Spring 环境中使用行表达式标识符建议使用 $->{...}