数据分片 #
配置入口 #
类名称: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 且主表和索引表同步延迟超过阈值,则直接查询主表 |