数据分片

配置入口

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

可配置属性:

名称 数据类型 说明 默认值
tables (+) Collection<ShardingTableRuleConfiguration> 分片表规则列表 -
autoTables (+) Collection<ShardingAutoTableRuleConfiguration> 自动化分片表规则列表 -
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 自增列生成器 使用默认自增主键生成器

自动分片表配置

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

可配置属性:

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

分片策略配置

标准分片策略配置

类名称: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 分布式序列算法名称

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