分库分表中间件详解(6款主流分库分表)

分库分表中间件详解(6款主流分库分表)-mikechen

分库分表中间件定义

分分库分表中间件是一种用于解决数据库水平拆分,即分库分表问题的软件,它通常作为应用程序和底层数据库之间的代理。

 

分库分表中间件作用

分库分表中间件作用:是将一个逻辑数据库划分为多个物理数据库,并将数据划分为多个表,从而将负载均衡到多个节点上,提高数据库的扩展性和性能。

 

分库分表中间件有哪些

目前市场上主流的分库分表中间件产品有以下几个:

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年+大厂架构经验,BAT资深面试官,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

👇阅读更多mikechen架构文章👇

阿里架构 |双11秒杀 |分布式架构 |负载均衡 |单点登录 |微服务 |云原生 |高并发 |架构师

以上

关注作者「mikechen」公众号,获取更多技术干货!

后台回复架构,即可获取《阿里架构师进阶专题全部合集》,后台回复面试即可获取《史上最全阿里Java面试题总结

评论交流
    说说你的看法