分片规则配置的总入口。包含数据源配置、表配置、绑定表配置以及读写分离配置等。
真实数据源列表。
逻辑表名称、数据节点与分表规则的配置。
用于配置逻辑表与真实表的映射关系。可分为均匀分布和自定义分布两种形式。
指数据表在每个数据源内呈现均匀分布的态势,例如:
db0
├── t_order0
└── t_order1
db1
├── t_order0
└── t_order1
那么数据节点的配置如下:
db0.t_order0, db0.t_order1, db1.t_order0, db1.t_order1
指数据表呈现有特定规则的分布,例如:
db0
├── t_order0
└── t_order1
db1
├── t_order2
├── t_order3
└── t_order4
那么数据节点的配置如下:
db0.t_order0, db0.t_order1, db1.t_order2, db1.t_order3, db1.t_order4
对于分片策略存有数据源分片策略和表分片策略两种维度。
对应于 DatabaseShardingStrategy。用于配置数据被分配的目标数据源。
对应于 TableShardingStrategy。用于配置数据被分配的目标表,该目标表存在与该数据的目标数据源内。故表分片策略是依赖与数据源分片策略的结果的。
两种策略的 API 完全相同。
通过在客户端生成自增主键替换以数据库原生自增主键的方式,做到分布式主键无重复。