“AI 技术+人才”如何成为企业增长新引擎?戳此了解>>> 了解详情
写点什么

华为云分布式数据库中间件 DDM 和开源 MyCAT 对比

  • 2019-10-22
  • 本文字数:1957 字

    阅读完需:约 6 分钟

华为云分布式数据库中间件DDM和开源MyCAT对比

华为云分布式数据库中间件(Distributed Database Middleware)是解决数据库容量、性能瓶颈和分布式扩展问题的中间件服务,提供分库分表、读写分离、弹性扩容等能力,应对海量数据的高并发访问场景,有效提升数据库读写性能。



图 1:DDM 产品介绍

DDM 前世之:MyCAT

MyCAT 的使用情况全国范围内粗略统计超过 600 家以上成功案例,涵盖政府、金融、证券、互联网、物联网、电信、游戏等众多行业。支持 1000 亿大数据,中国非常活跃的开源分布式数据库中间件。MyCAT 成功在于背后有一支强大的技术团队,其参与者都是 5 年以上资深软件工程师、架构师、DBA。


DDM 与 MyCAT 的关系:DDM 是基于 MyCAT1.6.5 版本增强而来。基于 MyCAT 增强的地方如下:


1 运维管理:DDM 提供 Console 界面,可在线对 DDM 实例、逻辑库、逻辑表、拆分规则等进行管理和维护


2 集群高可用:DDM 支持集群高可用,可实现跨 AZ,RDS 也支持跨 AZ


3 安全增强:支持 VPC(虚拟私有云)、子网、安全组,与其他租户网络隔离


4 质量保证:在质量方面补充了大量自动化测试用例(功能、性能),全方位进行质量保障措施


5 低成本:稳定的产品,完善的运维和技术支持,相比开源产品总体性价比更高;多种实例规格配置覆盖不同业务规模场景,按需购买


6 性能增强:DDM 与直连 MySQL 相比性能损耗得到了大大的降低,并且 Sysbench OLTP 场景性能得到飞跃的提升,性能数据如表 2 所示:



表 2:OLTP 性能测试


7 平滑扩容:在数据库出现存储容量瓶颈时,DDM 支持通过添加新的 RDS 实例对存储容量进行扩展,无容量上限,扩容无需应用改造,支持字符串、数字、日期等多种拆纬度,扩容进度支持可视化跟踪,并且平滑扩容业务不中断。平滑扩容原理如图 3 所示:



图 3:平滑扩容原理


8 分布式事务:DDM 当前支持单机、最大努力提交、最终一致性和强一致性四种分布式事务模型。弥补了开源 MyCAT 没有分布式事务的不足。如下针对 DDM 提供的分布式事务进行介绍

DDM 事务模型

单机

只能在单个分片上执行,如果事务涉及到多分片,DDM 将拒绝执行,返回错误。原理如图 4 所示。



图 4:单机分布式事务


适用场景


适合业务拆分比较合理,在应用层有独自完善的事务处理框架,到 DDM 的事务都是单分片事务,单分片事务由底层数据库提供强一致性的保证。单机事务模型下,如果出现跨分片的事务,会报错进行提示,避免达不到预期目的。

最大努力提交

事务在各分片上分别提交,互不干涉,提交结果尽最大可能保持一致,但有部分提交成功部分提交失败的可能,原理如图 5 所示。



图 5:最大努力提交事务模型


适用场景


这种分布式事务适合绝大部分不涉及金钱往来的业务,在性能和一致性之间比较好的一个平衡。事务中的 commit 往多个节点发送执行,有部分 commit 成功部分 commit 失败的可能性,但是这种情况出现的可能性比较低,只有在 commit 的时间窗内出现异常才有可能出现。

最终一致性

事务在各分片上的提交结果不保证始终一致,如果有分片提交失败,DDM 会对其他提交成功的分片提供补偿机制撤消之前的修改,从而确保各分片事务状态最终一致。


说明


最终一致性与强一致性这两种分布式事务的原理基本一致,区别在于:


最终一致性场景下,如有并发的查询请求,查询到的结果可能不是最终状态,如部分分片已完成提交,部分分片还在提交中,即存在中间状态。


强一致性场景下,如有并发的查询请求,查询结果是事务提交完成后的结果,即不存在中间状态。


适用场景


适合对一致性要求比较高的场景,最终一致性解决了最大努力提交模型下部分 commit 成功部分失败的问题。如果对部分读的 sql 一致性要求比较高,还可以通过 select for update 或者 lock in share mode 来避免读取到不一致状态(部分成功部分失败)。


例如:


select col1, col2,...coln from table1 where col1={拆分键} for update;
select col1, col2,...coln from table1 where col1={拆分键} lock in share mode;
复制代码


where 条件中建议带上拆分键。

强一致性

在最终一致性基础上,增强了分布式事务始终一致性保证,即任何时间点,各分片的数据都是事务开始前或者事务提交后的。


适用场景


适合对事务一致性有极端要求的场景,既要保证提交原子性、并且所有查询都必须避免脏读。一致性级别越高,付出性能代价会越大,请根据业务需要选择合适的模型。


华为云分布式数据库中间件 DDM 不但针对 MyCAT 的功能进行增强和性能进行提高,而且把 MyCAT 存在的 bug 进行修复。DDM 解决了单机关系型数据库对硬件依赖性强、扩展能力有限、数据量增大后扩容困难、数据库响应变慢等难题,通过分布式集群架构方案实现了“平滑扩容”,扩容过程中保持业务不中断。总的来说,分布式数据库中间件(DDM)具有扩容方便、性能卓越、简单易用、低成本和提供分布式事务等优势。


本文转载自公众号中间件小哥(ID:huawei_kevin)。


原文链接:


https://mp.weixin.qq.com/s/aZw0WVacZjU3xKErTWrmaA


2019-10-22 23:581096

评论

发布
暂无评论
发现更多内容

企业实施知识管理建设的7条建议

小炮

回顾|Flink CDC Meetup(附 PPT 下载)

Apache Flink

大数据 flink 编程 流计算 实时计算

Flink 1.15 新功能架构解析:高效稳定的通用增量 Checkpoint

Apache Flink

大数据 flink 编程 流计算 实时计算

敏捷领导力(CAL E+T+O)认证在线培训 | 2022年8月18-20日

ShineScrum捷行

敏捷 敏捷领导力 CAL 世界级敏捷领导力大师

低碳数据中心建设思路及未来趋势

H3C-Navigator

【等保】等保测评中双因素认证是什么意思?等于双因子认证吗?

行云管家

网络安全 等保 双因子认证 等级保护

阿里云移动研发平台EMAS:4月产品动态更新

移动研发平台EMAS

阿里云 用户增长 研发工具 移动测试 移动推送

二、KVM架构概述

穿过生命散发芬芳

kvm 5月月更

一键式打造DAO,M-DAO或成Web3新宠儿

西柚子

加码布局版式文档垂直赛道,福昕船舶图纸管理系统重磅发布

联营汇聚

F5 NGINX 核心人员倾力打造,搞懂 NGINX 这一本就够了

图灵教育

nginx 程序员 服务器 计算机

锅圈如何利用 Zadig 从容落地运维容器化建设

Zadig

DevOps 云原生 CI/CD 持续交付

监控系统报警级别设定

焦振清

监控系统 报警级别

喜讯!「凡泰极客」中标「廊坊银行」小程序平台应用建设项目

FinClip

小程序 finclip 廊坊银行

带你学习MindSpore中算子使用方法

华为云开发者联盟

模型 mindspore 算子

web前端培训复盘30+技术点(满满干货,建议收藏)

@零度

前端开发

【网易云商】TypeScript 进阶指南,突破基本类型

网易智企

typescript

大数据培训用SQL来实现用户行为漏斗分析

@零度

大数据开发

域名被劫持应该如何处理

源字节1号

软件开发

数据库治理的云原生之道 —— Database Mesh 2.0

SphereEx

Apache 数据库 开源 ShardingSphere SphereEx

华为AppCube通过中国信通院“低代码开发平台通用能力要求”评估!

华为云开发者联盟

低代码 华为云 AppCube

详解SQL操作的窗口函数

华为云开发者联盟

sql 窗口函数 AP场景

【技术干货】代码示例:使用 Apache Flink 连接 TDengine

TDengine

数据库 tdengine

GraphQL初探

RingCentral铃盛

JavaScript graphql

揭秘亚马逊云科技软件开发工程师团队

亚马逊云科技 (Amazon Web Services)

软件开发 工程师

深度学习六十年简史

OneFlow

人工智能 机器学习 深度学习

4种Springboot RestTemplate 服务里发送HTTP请求用法

华为云开发者联盟

Java Rest HTTP

【云堡垒机】云堡垒机很贵吗?怎么收费?

行云管家

网络安全 数据安全 堡垒机 云堡垒机

AI简报-增强版GAN图像超分:ESRGAN

AIWeker

人工智能 深度学习 5月月更 AI简报

元宇宙用户已准备就绪,但技术瓶颈仍制约其真正“落地”

CECBC

幸运哈希defi游戏系统开发方案(防作弊)

开发微hkkf5566

华为云分布式数据库中间件DDM和开源MyCAT对比_文化 & 方法_中间件小哥_InfoQ精选文章