sharding-jdbc使用笔记

核心概念:

1.逻辑表:水平拆分的数据库(表)的相同逻辑和数据结构表的总称。例,根据主键尾数拆分为10张表,分别是t_order_0t_order_9,他们的逻辑表名为t_order

2.真实表:在分片的数据库中真实存在的物理表。即上个示例中的t_order_0t_order_9

3.数据节点:数据分片的最小单元。由数据源名称和数据表组成,例:ds_0.t_order_0

4.绑定表:指分片规则一致的主表和子表。例如:t_order表和t_order_item表,均按照order_id分片,则此两张表互为绑定表关系。绑定表之间的多表关联查询不会出现笛卡尔积关联,关联查询效率将大大提升。

5.广播表:指所有的分片数据源中都存在的表,表结构和表中的数据在每个数据库中均完全一致。适用于数据量不大且需要与海量数据的表进行关联查询的场景,例如:字典表。

 

分片算法:精确分片算法、范围分片算法、复合分片算法、Hint分片算法

SQL Hinit: 对于分片字段非SQL决定,而由其他外置条件决定的场景,可使用SQL Hint灵活的注入分片字段。例:内部系统,按照员工登录主键分库,而数据库中并无此字段。SQL Hint支持通过Java API和SQL注释(待实现)两种方式使用。

 

未完待续:3.1.3...

 

上一篇:Sharding-jdbc设置defaultDatasource无效问题解决和源码分析解决记录


下一篇:springboot整合sharding-jdbc操作