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

大家好,我是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万字《阿里架构师进阶专题合集》里面。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部