Sharding

Root Configuration

Class name: org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration

Attributes:

Name DataType Description Default Value
tables (+) Collection<ShardingTableRuleConfiguration> Sharding table rules -
autoTables (+) Collection<ShardingAutoTableRuleConfiguration> Sharding automatic table rules -
bindingTableGroups (*) Collection<String> Binding table rules Empty
broadcastTables (*) Collection<String> Broadcast table rules Empty
defaultDatabaseShardingStrategy (?) ShardingStrategyConfiguration Default database sharding strategy Not sharding
defaultTableShardingStrategy (?) ShardingStrategyConfiguration Default table sharding strategy Not sharding
defaultKeyGenerateStrategy (?) KeyGeneratorConfiguration Default key generator Snowflake
defaultShardingColumn (?) String Default sharding column name None
shardingAlgorithms (+) Map<String, ShardingSphereAlgorithmConfiguration> Sharding algorithm name and configurations None
keyGenerators (?) Map<String, ShardingSphereAlgorithmConfiguration> Key generate algorithm name and configurations None

Sharding Table Configuration

Class name: org.apache.shardingsphere.sharding.api.config.ShardingTableRuleConfiguration

Attributes:

Name DataType Description Default Value
logicTable String Name of sharding logic table -
actualDataNodes (?) String Describe data source names and actual tables, delimiter as point.
Multiple data nodes split by comma, support inline expression
Broadcast table or databases sharding only
databaseShardingStrategy (?) ShardingStrategyConfiguration Databases sharding strategy Use default databases sharding strategy
tableShardingStrategy (?) ShardingStrategyConfiguration Tables sharding strategy Use default tables sharding strategy
keyGenerateStrategy (?) KeyGeneratorConfiguration Key generator configuration Use default key generator

Sharding Automatic Table Configuration

Class name: org.apache.shardingsphere.sharding.api.config.ShardingAutoTableRuleConfiguration

Attributes:

Name DataType Description Default Value
logicTable String Name of sharding logic table -
actualDataSources (?) String Data source names.
Multiple data nodes split by comma
Use all configured data sources
shardingStrategy (?) ShardingStrategyConfiguration Sharding strategy Use default sharding strategy
keyGenerateStrategy (?) KeyGeneratorConfiguration Key generator configuration Use default key generator

Sharding Strategy Configuration

Standard Sharding Strategy Configuration

Class name: org.apache.shardingsphere.sharding.api.config.strategy.sharding.StandardShardingStrategyConfiguration

Attributes:

Name DataType Description
shardingColumn String Sharding column name
shardingAlgorithmName String Sharding algorithm name

Complex Sharding Strategy Configuration

Class name: org.apache.shardingsphere.sharding.api.config.strategy.sharding.ComplexShardingStrategyConfiguration

Attributes:

Name DataType Description
shardingColumns String Sharding column name, separated by commas
shardingAlgorithmName String Sharding algorithm name

Hint Sharding Strategy Configuration

Class name: org.apache.shardingsphere.sharding.api.config.strategy.sharding.HintShardingStrategyConfiguration

Attributes:

Name DataType Description
shardingAlgorithmName String Sharding algorithm name

None Sharding Strategy Configuration

Class name: org.apache.shardingsphere.sharding.api.config.strategy.sharding.NoneShardingStrategyConfiguration

Attributes: None

Please refer to Built-in Sharding Algorithm List for more details about type of algorithm.

Key Generate Strategy Configuration

Class name: org.apache.shardingsphere.sharding.api.config.strategy.keygen.KeyGenerateStrategyConfiguration

Attributes:

Name DataType Description
column String Column name of key generate
keyGeneratorName String key generate algorithm name

Please refer to Built-in Key Generate Algorithm List for more details about type of algorithm.