分库分表中间件定义
分分库分表中间件是一种用于解决数据库水平拆分,即分库分表问题的软件,它通常作为应用程序和底层数据库之间的代理。
分库分表中间件作用
分库分表中间件作用:是将一个逻辑数据库划分为多个物理数据库,并将数据划分为多个表,从而将负载均衡到多个节点上,提高数据库的扩展性和性能。
分库分表中间件有哪些
目前市场上主流的分库分表中间件产品有以下几个:
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
10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!
后台回复【面试】即可获取《史上最全阿里Java面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》