
大家好,我是mikechen。
分库分表是大数据量的常用手段,数据达到亿级一般都会涉及到分库分表,下面推荐6款常用的分库分表中间件@mikechen
本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。

分库分表中间件
分库分表中间件是一种用于解决数据库水平拆分,即分库分表问题的方式。
数据库分库分表,主要就分为:分库和分表两种。
如下图所示:
分库分表是将一个大型数据库分割成多个小型数据库(分库),并将每个小型数据库中的表分割成多个子表(分表)。
分库分表中间件作用
分库分表中间件作用:是将一个逻辑数据库划分为多个物理数据库,并将数据划分为多个表,从而将负载均衡到多个节点上,提高数据库的扩展性和性能。
分库分表中间件有哪些
目前市场上主流的分库分表中间件产品有以下几个:
1.ShardingSphere
Apache ShardingSphere是一个开源的分布式数据库中间件,支持分库分表、读写分离等功能,适用于Java应用。
ShardingSphere最初的名字为Sharding-JDBC,这也是很多朋友习惯称它为Sharding-JDBC的原因。
ShardingSphere后面提交给了Apache ,现在的ShardingSphere 是由 JDBC、Proxy 和 Sidecar(规划中)这 3 款既能够独立部署,又支持混合部署配合使用的产品组成。
2.MyCAT
MyCAT是一个开源的分布式数据库中间件,支持分库分表、读写分离、分布式事务等功能,适用于MySQL。
Mycat是开源社区在阿里cobar基础上进行二次开发,解决了cobar存在的问题,并且加入了许多新的功能在其中。
3.TDDL
TDDL(Taobao Distributed Data Layer)是一个开源的分布式数据库中间件,支持分库分表、读写分离、自动数据迁移等功能,适用于多种数据库。
TDDL目前,已经更名为阿里DRDS,DRDS是一种云原生的关系型数据库中间件,由阿里巴巴集团开发和维护。
4.Atlas
Atlas是一个开源的分布式数据库中间件,支持分库分表、读写分离、分布式事务等功能,适用于多种数据库。
5.Vitess
Vitess是一个开源的分布式数据库中间件,支持分库分表、读写分离、水平扩展等功能,适用于MySQL。
6.Oceanus
Oceanus是一个开源的分布式数据库中间件,支持分库分表、读写分离、分布式事务等功能,适用于Oracle。
以上
本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。