分库分表中间件
TDDL
TDDL(Taobao Distributed Data Layer
)是淘宝自研的开源分库分表中间件,其官网上没有任何介绍和使用说明,除了一个调用的样例:tddl-sample。
而且它十多年前就已经停止维护了,所以,在选择分库分表中间件时可以完全不用考虑它。
其实在TDDL之前还有另一个由阿里开源的Cobar中间件,但目前已经被淘汰了。
MyCat
MyCat是一个用Java开发的开源分库分表中间件,它参考借鉴了很多Cobar中的设计思路。
MyCat基于MySQL的通讯协议、查询优化器、负载均衡、事务处理等组件,基本上将自己伪装成了一个MySQL服务器。
因此,对于业务服务来说,访问MyCat和访问MySQL没什么不同,整个过程完全是透明的。
而且MyCat的存在时间也比较久,属于是老牌的分库分表中间件了。
但和ShardingSphere这种财大气粗
的组件比较起来,还是稍逊一筹。
ShardingSphere
ShardingSphere是目前主流的分库分表中间件,它最初由当当网开发,借鉴了很多TDDL中的设计思路,后来在京东的支持下发展壮大,现在已经成了Apache基金会中的顶级开源项目。
在ShardingSphere最新的版本中只有ShardingSphere-JDBC和ShardingSphere-Proxy这两个独立产品,而去掉了之前存在的Sharding-Sidecar
。
ShardingSphere的整体设计哲学是构建一套基于数据库的可插拔的标准和生态Database Plus
。

Database Plus
设计哲学而ShardingSphere-JDBC则定位于一个轻量级的Java框架。

其他开源组件
在Github上搜索shard
可以发现更多开源的分库分表中间件。
口碑网中间件,目前已停止维护。
蘑菇街中间件,目前已停止维护。
Hibernate中间件,似乎已停止维护。
MyBatis中间件,借鉴自
Hibernate
,似乎已停止维护。
感谢支持
更多内容,请移步《超级个体》。