一、Mycat和Sharding-jdbc的区别
1)mycat是一个中间件的第三方应用,sharding-jdbc是一个jar包
2)使用mycat时不需要改代码,而使用sharding-jdbc时需要修改代码
Mycat(proxy中间件层):
Sharding-jdbc(TDDL为代表的应用层):
二、Mycat分片join
在前面的文章Mysql系列四:数据库分库分表基础理论中,已经说过分库分表需要应对的技术难题有如下几个:
1.)分布式全局唯一id
2.)分片规则和策略
3.)跨分片技术问题
4.)跨分片事物问题
下面我们来看一下Mycat是如何解决跨分片技术问题——分片join的
1. 使用全局表方式解决跨分片join问题
1.1 先在server.xml里面全局表一致性检测
1
1.2 在schema.xml里面配置全局表
全局表说明:
1)全局表的插入、更新操作会实时在所有节点上执行,保持各个分片数据的一致性
2)全局表的查询操作只从一个节点上获取<