也许是个Bug… 使用PolarDB-X替换本地SSD盘RDS MySQL,成本直降30%
TL;DR:
-
阿里云PolarDB-X有一个“标准版”,就是集中式的MySQL(三节点版本,类似于MGR),提供了本地SSD规格,相比一般的RDS MySQL成本要低20~40%;性能上,处于众多云厂商RDS MySQL"中游"的位置
-
PolarDB-X还有一个企业版,也就是分布式版本。适用于超大规模、超高并发的场景
-
PolarDB-X的集中式和分布式版本的关系可以参考:《选300平米别墅还是90平米小平层?一文带你读懂PolarDB分布式版集分一体化》

概述
近期关注降本增效,研究重点是MySQL生态,关注了下RDS MySQL、PolarDB、OceanBase、TiDB等数据库。PolarDB是阿里云宣传比较多的产品,不过要替换RDS的话,一般场景还会有10~20%成本增加。这次发现, PolarDB分布式(PolarDB-X)的标准版(集中式版本,就相当于RDS MySQL)这里似乎有一个价格洼地。
价格对比(PolarDB-X vs RDS)
这里对比PolarDB-X(标准版)、阿里云/腾讯云/华为云RDS MySQL,统一按照500GB本地磁盘规格进行对比。并且以阿里云RDS MySQL价格为基准,计算整体费用的上浮或下降的比例,比如:+7.9%代表比阿里云RDS贵7.9%,-21.7%代表比阿里云RDS便宜21.7%。
对比的都是云厂商的RDS MySQL系列,以官网列表价格为准 (2024年03月)
-
阿里云RDS MySQL,北京地域 + 高可用系列 + MySQL 8.0 + 通用型,本地SSD盘
-
阿里云PolarDB-X,北京地域 + 标准版 + MySQL 8.0 + 通用型,本地SSD盘
-
腾讯云RDS MySQL,北京地域 + 双节点架构 + MySQL 8.0 + 通用型,本地SSD盘
-
华为云RDS MySQL,北京地域 + 主备架构 + MySQL 5.7 + 通用型,本地SSD盘(注:8.0版本无本地SSD盘)

从上表的价格数据分析来看:
1. 阿里云的PolarDB-X 标准版,计算和存储、以及总价格都有不少优势,基本每个规格都有优势,平均降幅有20~40%左右。
2. 阿里RDS MySQL,4c8g/8c16g在定价上,有比较不错的性价比(这估计是阿里云RDS MySQL的主售规格)
3. 腾讯RDS MySQL,与阿里RDS MySQL价格较为接近,差异在10%以内
为什么PolarDB-X标准版更便宜
真实的原因不得而知。不过有如下几个猜测:
-
定价策略盲目向自研产品倾斜,以提升自研产品的采用率
-
可能有更多的资源空置率,从而考虑以低价换取一部分市场
-
PolarDB-X(标准版)一直宣传通过2.5个节点(2个数据节点+1个日志节点)把成本压得比较低,也可能是有一些技术创新

PolarDB-X标准版与RDS的渊源
RDS MySQL三节点企业系列将于2023年03月27日起暂停新购,合入PolarDB-X标准版产品序列继续发展。现关闭RDS侧售卖入口,售卖页转到PolarDB-X标准版。

当年RDS MySQL三节点企业版,宣称继承阿里集团双十一的X-DB技术,当年阿里集团的X-DB 双十一的技术宣传还是非常多的。其主打的就是金融级的RPO=0的容灾能力:基于Paxos协议实现数据复制,每个事务日志确保至少同步两个节点,实现任意节点宕机后数据零丢失,数据库整体RPO为0,可以满足三可用区级别的容灾。
另外,公告里也提到了RDS MySQL的集群系列,看着是基于MySQL官方开源的MGR Paxos,两种不一样的Paxos协议路子,这个就有点意思了,暂不做评价。
PolarDB-X与RDS的性能差异
这里先推荐一份云厂商RDS MySQL的横向对比《云数据库性能深度测评与对比》,不过这类偏横向测试的差异性变量比较多,大家自行判断信息。
这里借用了下文章所采用的测试方法,尝试直观感受下PolarDB-X的性能如何
-
购买PolarDB-X “企业级规格”:杭州地域,4c16g 独享型,选择三可用区(G+H+I),采用默认开箱测试(跨机房RPO=0)
-
sysbench oltp_read_write场景,10张表 * 单表100万,运行600秒
压测数据:


从开箱的盲测来看,PolarDB-X的曲线与腾讯RDS基本对齐、比阿里云RDS略高,处于众多云厂商RDS MySQL"中游"的位置,这个还算不错 —— 毕竟是paxos的3副本架构,具备RPO=0,性能相比RDS MySQL也不弱,价格至少便宜30%并没有牺牲性能。
另外,从与阿里云的官方沟通来看,在跑分上主机的机型(CPU主频)会有不同,也建议单独测试对比下通用型规格。
最后测试完的感受:通用规格性能比独享规格的性能,在4c16g的场景下要高150%(更好的羊毛,可用于测试环境):

从RDS一键迁移PolarDB-X
在业务整体降本的背景下,如果要选择PolarDB-X标准版的30%降本动作,必须要考虑就是改造的风险和成本。

目前看着近期发布的PolarDB-X 集中分布式一体化的能力来看,PolarDB-X和PolarDB MySQL一样,支持了从RDS一键迁移为PolarDB-X的能力
最后一步,切流的时候还可以保留原RDS MySQL的连接地址不变,意味着应用并不需要做任何修改,这个也算一个是惊喜点:

PolarDB-X的开源
有也很多用户会使用自建MySQL,通过ECS + Nvme本地盘部署,MySQL开源做的比较好,日常运行的稳定性也没啥太大问题,出问题基本也能在社区找到人,不过一旦遇到数据误删、慢SQL、IO抖动的排查,会相对略费劲一些。
比较理想的状态:一个数据库,既有云产品的形态,又有配套的开源版本。这样对于业务来说,就有比较好的自由度和掌控性,图省事用云服务,如果需要降本时也可以考虑开源自建,也可以部署多云容灾。
回顾了下,PolarDB的开源差不多在21年左右开始,持续2年多一直也在不断迭代版本,最重要的是PolarDB-X 标准版的形态近期也完整开源了,非常符合需求。
最后
从结果来看,PolarDB-X的标准版还不错,后续也期待官方有更多的相关内容出来。例如:有哪些技术层面的改进实现了更高的性价比,以及和阿里云RDS产品定位上的差异是什么。
1. RDS MySQL三节点企业系列于2023年03月27日起停止新购
2. RDS一键迁移为PolarDB-X的能力
3. PolarDB-X 开源 | 基于Paxos的MySQL三副本
https://zhuanlan.zhihu.com/p/669301230
似乎在刚刚台湾等地区发生了地震,希望一切安好。
本文来自第三方投稿。