目前常用的数据分片 解决方案 有应用层分片方案和中间件分片方案。
1. 应用层分片方案
如当当的Sharding-JDBC,淘宝的TDDL等。
优势:直连 数据库 ,额外开销少。
劣势:
无法实现连接数收敛;
应用侵入方式,后续升级更新数量庞大,运维成本高;
多数只支持Java语言。
2. 中间件分片方案
如 开源 的Mycat,Cobar,商用软件爱可生等。
优势:
应用0改动,与语言无关;
对应用完全透明地进行数据库扩展;
通过连接共享有效收敛连接数。
劣势:
可能存在额外的时延(<4%)。
