暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

[转] 常见的Sharding中间件对比

原创 代野(Tank) 2022-11-26
440

相对于早期来说,目前市面上常见的Sharding中间件已经称得上百花齐放了,并且从体系架构上进行划分,Sharding中间件主要基于Proxy架构和应用集成架构两大类组成。简而言之,基于Proxy架构的Sharding中间件,可以灵活实现任意的关系数据库协议,满足个性化定制,可以做到在一定程度上的通用,不局限于任何数据库。而基于应用集成架构的Sharding中间件,尽管不能够实现通用性需求,但是由于应用直连数据库,读/写性能往往比前者高出10%~20%。总之,两种体系架构截然不同的Sharding中间件都各有优缺点,具体使用哪一种还需要结合自身实际的业务场景而定。

本书以基于应用集成架构的Sharding中间件为例。早期比较成熟的只有淘宝的TDDL,但TDDL并非是完美的,比如社区活跃度低、技术文档资料匮乏,而且部分功能开源但核心功能闭源,因此注定了TDDL无法直接为欣赏它的非淘宝系用户服务。现在想要使用TDDL还有一种间接的方式,那就是淘宝已经将TDDL作为阿里云上的一个收费服务——分布式关系数据库服务(Distribute Relational Database Service,DRDS)。开发人员无须关心底层的数据库存储架构,只需要使用阿里云提供的数据服务即可,这种方式有利有弊,最明显的弊端就是,后期如果企业自行构建数据中心时,数据迁移将是一件令人非常头痛的事情。

目前市面上常见的一些Sharding中间件产品对比如表5-1所示。
image.png
无论选择哪一款Sharding中间件产品,只要能够合理且高效地满足自身业务场景,那么它就是一款优秀的中间件产品。如果开发人员希望拥有大量的技术文档作为支撑,那么可以在生产环境中使用Shark作为分布式数据层来实现数据库分库分表后的数据路由操作,本书后续小节都会以Shark为例进行使用和配置讲解。

本文摘自《超大流量分布式系统解决方案》第 5 章

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论