6大分库分表中间件ShardingSphere、TDDL、DRDS、MyCAT、Atlas、Vitess详解(图文全面总结)
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
分库分表是大型架构的必备技能,也是大厂经常考察的重点对象,下面我就全面来详解分库分表中间件@mikechen 最新mikechen原创超30万字《阿里架构师进阶专题合集》和《大厂最全面试题及答案合集》,请关注本公众号【mikechen的互联网架构】,后台回复:合集,即可领取。 分库分表分库分表:是数据库水平扩展的一种常见策略,用于处理大规模数据、和高并发请求。 如下图所示: 分库分表,这里分为两个方面,包含:分库、和分表两种策略。 1、分库 分库:就是将数据水平分散到多个数据库实例中,每个数据库实例可以部署在不同的服务器上,从而减轻单个数据库的压力。 还是举一个例子,比如:数据按照某个字段的值范围,分布到不同的库中。 例如:用户ID为1-10000的数据存储在库A,10001-20000的数据存储在库B,这就是分库。 2、分表 分表:就是在单个数据库实例内,将数据水平分散到多个表中,从而减轻单表的压力。 还是举一个例子,比如:根据某个字段的值范围分表。 例如:用户ID为1-10000的数据存储在表user_1,10001-20000的数据存储在表user_2,这就是分表。 总之,分库分表是数据库扩展中常用的策略,目的是提高系统的并发处理能力、和数据存储能力。 分库分表中间件在了解完分库分表后,我们一起来看看目前市场主流的分库分表中间件有哪些呢?let's go! 1.ShardingSphere ShardingSphere 是一个开源的分布式数据库中间件解决方案,支持:分库分表、读写分离、分布式事务、数据加密......等多种功能。 ShardingSphere 通过统一的接口、和高性能的实现,为开发者提供了透明的分库分表支持,适用于Java等应用。 如下图所示: 主要包括三个核心组件:
ShardingSphere 适用于各种需要分布式数据库管理的场景,比如:电商、社交网络.....等需要处理大规模数据,和高并发请求的场景。 2.TDDL TDDL,全称是Taobao Distributed Data Layer,就是:淘宝分布式数据层。 TDDL是阿里巴巴集团内部开发的一款分布式数据库中间件,设计目标是:解决在电商业务中遇到的大规模数据、和高并发请求问题。 3.DRDS 阿里的TDDL,后续升级为:DRDS,全称是“Distributed Relational Database Service”,是一款:分布式关系型数据库服务。 DRDS整体架构,如下图所示: DRDS支持:分库分表、读写分离、和分布式事务...等技术。 DRDS广泛应用于数据量大的场景,比如:电商、金融、游戏...等领域。 4.MyCAT MyCAT 是基于阿里巴巴的 Cobar 项目开发的,是一个增强版的数据库中间件,支持多种数据库(如:MySQL、PostgreSQL...)等。 整体架构,如下图所示: MyCAT 支持将数据分散到多个数据库实例、和多个表中,通过灵活的分片规则实现水平扩展。 比如:
5.Atlas Atlas 是由360 公司开发的一款开源 MySQL 数据库中间件,可以实现 MySQL 数据库的水平扩展、和高可用性。 Atlas 支持分库分表,以及还支持读写分离,将写请求发送到主库,读请求发送到从库,从而提升系统的读写性能和可用性。 6.Vitess Vitess 是一个开源的分布式数据库中间件系统,最初由 YouTube 开发,用于解决其在大规模 MySQL 集群中的扩展性问题。 Vitess 通过分库分表技术,将数据分散存储到多个 MySQL 实例中,从而提升数据库的存储能力、和并发处理能力。 阅读原文:原文链接 该文章在 2025/7/1 23:55:43 编辑过 |
关键字查询
相关文章
正在查询... |