数据分片
类名称:org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration
可配置属性:
分片表配置
类名称:org.apache.shardingsphere.sharding.api.config.ShardingTableRuleConfiguration
可配置属性:
名称 | 数据类型 | 说明 | 默认值 |
---|---|---|---|
logicTable | String | 分片逻辑表名称 | - |
actualDataNodes (?) | String | 由数据源名 + 表名组成,以小数点分隔。 多个表以逗号分隔,支持行表达式 | 使用已知数据源与逻辑表名称生成数据节点,用于广播表或只分库不分表且所有库的表结构完全一致的情况 |
databaseShardingStrategy (?) | ShardingStrategyConfiguration | 分库策略 | 使用默认分库策略 |
tableShardingStrategy (?) | ShardingStrategyConfiguration | 分表策略 | 使用默认分表策略 |
keyGenerateStrategy (?) | KeyGeneratorConfiguration | 自增列生成器 | 使用默认自增主键生成器 |
auditStrategy (?) | ShardingAuditStrategyConfiguration | 分片审计策略 | 使用默认分片审计策略 |
类名称:org.apache.shardingsphere.sharding.api.config.ShardingAutoTableRuleConfiguration
可配置属性:
分片策略配置
标准分片策略配置
可配置属性:
名称 | 数据类型 | 说明 |
---|---|---|
shardingColumn | String | 分片列名称 |
shardingAlgorithmName | String | 分片算法名称 |
复合分片策略配置
类名称:org.apache.shardingsphere.sharding.api.config.strategy.sharding.ComplexShardingStrategyConfiguration
可配置属性:
Hint 分片策略配置
类名称:org.apache.shardingsphere.sharding.api.config.strategy.sharding.HintShardingStrategyConfiguration
可配置属性:
名称 | 数据类型 | 说明 |
---|---|---|
shardingAlgorithmName | String | 分片算法名称 |
不分片策略配置
类名称:org.apache.shardingsphere.sharding.api.config.strategy.sharding.NoneShardingStrategyConfiguration
算法类型的详情,请参见内置分片算法列表。
类名称:org.apache.shardingsphere.sharding.api.config.strategy.keygen.KeyGenerateStrategyConfiguration
可配置属性:
算法类型的详情,请参见内置分布式序列算法列表。
分片审计策略配置
类名称:org.apache.shardingsphere.sharding.api.config.strategy.audit.ShardingAuditStrategyConfiguration
可配置属性:
名称 | 数据类型 | 说明 |
---|---|---|
auditorNames | Collection<String> | 分片审计算法名称 |
allowHintDisable | Boolean | 是否禁用分片审计hint |
- 创建真实数据源映射关系,key 为数据源逻辑名称,value 为 DataSource 对象;
- 创建分片规则对象 ShardingRuleConfiguration,并初始化对象中的分片表对象 ShardingTableRuleConfiguration、绑定表集合、广播表集合,以及数据分片所依赖的分库策略和分表策略等参数;
- 调用 ShardingSphereDataSourceFactory 对象的 createDataSource 方法,创建 ShardingSphereDataSource。