数据分片 #
配置入口 #
类名称:org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration
可配置属性:
| 名称 | 数据类型 | 说明 | 默认值 |
|---|---|---|---|
| tables (+) | Collection<ShardingTableRuleConfiguration> | 分片表规则列表 | - |
| autoTables (+) | Collection<ShardingAutoTableRuleConfiguration> | 自动化分片表规则列表 | - |
| globalIndexes (+) | Collection<ShardingGlobalIndexRuleConfiguration> | 全局索引表规则列表 | - |
| autoGlobalIndexes (+) | Collection<ShardingAutoGlobalIndexRuleConfiguration> | 自动化全局索引表规则列表 | - |
| bindingTableGroups (*) | Collection<String> | 绑定表规则列表 | 无 |
| broadcastTables (*) | Collection<String> | 广播表规则列表 | 无 |
| defaultDatabaseShardingStrategy (?) | ShardingStrategyConfiguration | 默认分库策略 | 不分片 |
| defaultTableShardingStrategy (?) | ShardingStrategyConfiguration | 默认分表策略 | 不分片 |
| defaultKeyGenerateStrategy (?) | KeyGeneratorConfiguration | 默认自增列生成器配置 | 雪花算法 |
| defaultShardingColumn (?) | String | 默认分片列名称 | 无 |
| shardingAlgorithms (+) | Map<String, ShardingSphereAlgorithmConfiguration> | 分片算法名称和配置 | 无 |
| keyGenerators (?) | Map<String, ShardingSphereAlgorithmConfiguration> | 自增列生成算法名称和配置 | 无 |
分片表配置 #
类名称:org.apache.shardingsphere.sharding.api.config.ShardingTableRuleConfiguration
可配置属性:
| 名称 | 数据类型 | 说明 | 默认值 |
|---|---|---|---|
| logicTable | String | 分片逻辑表名称 | - |
| actualDataNodes (?) | String | 由数据源名 + 表名组成,以小数点分隔。 多个表以逗号分隔,支持行表达式 | 使用已知数据源与逻辑表名称生成数据节点,用于广播表或只分库不分表且所有库的表结构完全一致的情况 |
| databaseShardingStrategy (?) | ShardingStrategyConfiguration | 分库策略 | 使用默认分库策略 |
| tableShardingStrategy (?) | ShardingStrategyConfiguration | 分表策略 | 使用默认分表策略 |
| keyGenerateStrategy (?) | KeyGeneratorConfiguration | 自增列生成器 | 使用默认自增主键生成器 |
| globalIndexStrategy (?) | ShardingGlobalIndexStrategyConfiguration | 全局索引策略 | - |
自动分片表配置 #
类名称:org.apache.shardingsphere.sharding.api.config.ShardingAutoTableRuleConfiguration
可配置属性:
| 名称 | 数据类型 | 说明 | 默认值 |
|---|---|---|---|
| logicTable | String | 分片逻辑表名称 | - |
| actualDataSources (?) | String | 数据源名称,多个数据源以逗号分隔 | 使用全部配置的数据源 |
| shardingStrategy (?) | ShardingStrategyConfiguration | 分片策略 | 使用默认分片策略 |
| keyGenerateStrategy (?) | KeyGeneratorConfiguration | 自增列生成器 | 使用默认自增主键生成器 |
| globalIndexStrategy (?) | ShardingGlobalIndexStrategyConfiguration | 全局索引策略 | - |
全局索引表配置 #
类名称:com.sphereex.dbplusengine.sharding.yaml.config.rule.ShardingGlobalIndexRuleConfiguration
可配置属性:
| 名称 | 数据类型 | 说明 | 默认值 |
|---|---|---|---|
| logicTable | String | 全局索引表逻辑表名称,逻辑库中需要保证唯一 | - |
| actualDataNodes (?) | String | 由数据源名 + 表名组成,以小数点分隔。 多个表以逗号分隔,支持行表达式 | 使用已知数据源与逻辑表名称生成数据节点,用于广播表或只分库不分表且所有库的表结构完全一致的情况 |
| databaseShardingStrategy (?) | ShardingStrategyConfiguration | 分库策略 | 使用默认分库策略 |
| tableShardingStrategy (?) | ShardingStrategyConfiguration | 分表策略 | 使用默认分表策略 |
| coveringColumns (?) | Collection<String> | 全局索引覆盖列 | - |
自动全局索引表配置 #
类名称:com.sphereex.dbplusengine.sharding.yaml.config.rule.ShardingAutoGlobalIndexRuleConfiguration
可配置属性:
| 名称 | 数据类型 | 说明 | 默认值 |
|---|---|---|---|
| logicTable | String | 全局索引逻辑表名称,逻辑库中需要保证唯一 | - |
| actualDataSources (?) | String | 数据源名称,多个数据源以逗号分隔 | 使用全部配置的数据源 |
| shardingStrategy (?) | ShardingStrategyConfiguration | 分片策略 | 使用默认分片策略 |
| coveringColumns (?) | Collection<String> | 全局索引覆盖列 | - |
分片策略配置 #
标准分片策略配置 #
类名称:org.apache.shardingsphere.sharding.api.config.strategy.sharding.StandardShardingStrategyConfiguration
可配置属性:
| 名称 | 数据类型 | 说明 |
|---|---|---|
| shardingColumn | String | 分片列名称 |
| shardingAlgorithmName | String | 分片算法名称 |
复合分片策略配置 #
类名称:org.apache.shardingsphere.sharding.api.config.strategy.sharding.ComplexShardingStrategyConfiguration
可配置属性:
| 名称 | 数据类型 | 说明 |
|---|---|---|
| shardingColumns | String | 分片列名称,多个列以逗号分隔 |
| shardingAlgorithmName | String | 分片算法名称 |
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
可配置属性:
| 名称 | 数据类型 | 说明 |
|---|---|---|
| column | String | 分布式序列列名称 |
| keyGeneratorName | String | 分布式序列算法名称 |
算法类型的详情,请参见内置分布式序列算法列表。
全局索引策略配置 #
类名称:com.sphereex.dbplusengine.sharding.yaml.config.strategy.global.index.ShardingGlobalIndexStrategyConfiguration
可配置属性:
| 名称 | 数据类型 | 说明 |
|---|---|---|
| globalIndexNames | Collection<String> | 全局索引表名称 |
| consistencyLevel | String | 主表和索引表的一致性级别,STRONG 表示强一致,WEAK 表示弱一致,默认为 STRONG 强一致 |
| tableAccessByIndexThreshold | Integer | 最大回表查询行数,默认为 1000,当查询需要回主表查询且回表行数超过阈值,则直接查询主表,配置为 0 则表示关闭回表行数检查 |
| syncDelayMillisecondsThreshold | Integer | 索引表和主表同步延迟时间的阈值,单位毫秒,默认为 1000,当一致性级别为 WEAK 且主表和索引表同步延迟超过阈值,则直接查询主表 |