Druid打算在0.2.9之后的版本开始提供分库分表的功能,由于没有项目支撑,这部分功能的成熟度不够,更多是试验性质,为其他的框架提供基础设施,不建议在生产环境直接使用。生产环境使用分库分表,建议使用淘宝的tddl或者cobar。
功能矩阵
支持事务 | 支持executeBatch | 支持executeQuery | 支持executeUpdate | |
同库同表 | 是 | 是 | 是 | 是 |
同库多表 | 是 | 是 | 是(转为union) | 是(拆分为多条语句) |
多库多表 | 否 | 是 | 否 | 是(拆分为多条语句) |
分区规则
通过分区规则来确定数据所在分区,分区上有库和表的信息。
库
每个库对应一组数据源,其中一个是主数据源,零个或者多个备数据源。
分区
是拆分规则映射是映射的目标对象。一个分区包含库和物理表的信息。
执行逻辑
输入SQL文本,根据SQL和参数的值,通过分区规则确认其所在分区,并且计算其是否需要拆分为多个SQL执行。