Logo
数据分片

数据分片 #

配置入口 #

类名称: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

可配置属性:

名称数据类型说明默认值
logicTableString分片逻辑表名称-
actualDataNodes (?)String由数据源名 + 表名组成,以小数点分隔。
多个表以逗号分隔,支持行表达式
使用已知数据源与逻辑表名称生成数据节点,用于广播表或只分库不分表且所有库的表结构完全一致的情况
databaseShardingStrategy (?)ShardingStrategyConfiguration分库策略使用默认分库策略
tableShardingStrategy (?)ShardingStrategyConfiguration分表策略使用默认分表策略
keyGenerateStrategy (?)KeyGeneratorConfiguration自增列生成器使用默认自增主键生成器
globalIndexStrategy (?)ShardingGlobalIndexStrategyConfiguration全局索引策略-

自动分片表配置 #

类名称:org.apache.shardingsphere.sharding.api.config.ShardingAutoTableRuleConfiguration

可配置属性:

名称数据类型说明默认值
logicTableString分片逻辑表名称-
actualDataSources (?)String数据源名称,多个数据源以逗号分隔使用全部配置的数据源
shardingStrategy (?)ShardingStrategyConfiguration分片策略使用默认分片策略
keyGenerateStrategy (?)KeyGeneratorConfiguration自增列生成器使用默认自增主键生成器
globalIndexStrategy (?)ShardingGlobalIndexStrategyConfiguration全局索引策略-

全局索引表配置 #

类名称:com.sphereex.dbplusengine.sharding.yaml.config.rule.ShardingGlobalIndexRuleConfiguration

可配置属性:

名称数据类型说明默认值
logicTableString全局索引表逻辑表名称,逻辑库中需要保证唯一-
actualDataNodes (?)String由数据源名 + 表名组成,以小数点分隔。
多个表以逗号分隔,支持行表达式
使用已知数据源与逻辑表名称生成数据节点,用于广播表或只分库不分表且所有库的表结构完全一致的情况
databaseShardingStrategy (?)ShardingStrategyConfiguration分库策略使用默认分库策略
tableShardingStrategy (?)ShardingStrategyConfiguration分表策略使用默认分表策略
coveringColumns (?)Collection<String>全局索引覆盖列-

自动全局索引表配置 #

类名称:com.sphereex.dbplusengine.sharding.yaml.config.rule.ShardingAutoGlobalIndexRuleConfiguration

可配置属性:

名称数据类型说明默认值
logicTableString全局索引逻辑表名称,逻辑库中需要保证唯一-
actualDataSources (?)String数据源名称,多个数据源以逗号分隔使用全部配置的数据源
shardingStrategy (?)ShardingStrategyConfiguration分片策略使用默认分片策略
coveringColumns (?)Collection<String>全局索引覆盖列-

分片策略配置 #

标准分片策略配置 #

类名称:org.apache.shardingsphere.sharding.api.config.strategy.sharding.StandardShardingStrategyConfiguration

可配置属性:

名称数据类型说明
shardingColumnString分片列名称
shardingAlgorithmNameString分片算法名称

复合分片策略配置 #

类名称:org.apache.shardingsphere.sharding.api.config.strategy.sharding.ComplexShardingStrategyConfiguration

可配置属性:

名称数据类型说明
shardingColumnsString分片列名称,多个列以逗号分隔
shardingAlgorithmNameString分片算法名称

Hint 分片策略配置 #

类名称:org.apache.shardingsphere.sharding.api.config.strategy.sharding.HintShardingStrategyConfiguration

可配置属性:

名称数据类型说明
shardingAlgorithmNameString分片算法名称

不分片策略配置 #

类名称:org.apache.shardingsphere.sharding.api.config.strategy.sharding.NoneShardingStrategyConfiguration

可配置属性:无

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

分布式序列策略配置 #

类名称:org.apache.shardingsphere.sharding.api.config.strategy.keygen.KeyGenerateStrategyConfiguration

可配置属性:

名称数据类型说明
columnString分布式序列列名称
keyGeneratorNameString分布式序列算法名称

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

全局索引策略配置 #

类名称:com.sphereex.dbplusengine.sharding.yaml.config.strategy.global.index.ShardingGlobalIndexStrategyConfiguration

可配置属性:

名称数据类型说明
globalIndexNamesCollection<String>全局索引表名称
consistencyLevelString主表和索引表的一致性级别,STRONG 表示强一致,WEAK 表示弱一致,默认为 STRONG 强一致
tableAccessByIndexThresholdInteger最大回表查询行数,默认为 1000,当查询需要回主表查询且回表行数超过阈值,则直接查询主表,配置为 0 则表示关闭回表行数检查
syncDelayMillisecondsThresholdInteger索引表和主表同步延迟时间的阈值,单位毫秒,默认为 1000,当一致性级别为 WEAK 且主表和索引表同步延迟超过阈值,则直接查询主表