1、三家在功能上差距并不是很大,但是需要注意的是,阿里云和腾讯云都对 MySQL 进行了深度的内核开发,阿里云更是将其开发后的数据库开源,发布至 Github ,可见其对 AliSQL 的信心。百度云在MySQL 二次开发的能力上还显得薄弱。
2、在同等配置下,阿里云单机版价格最为优惠,腾讯云的标准版其次,阿里云双机版再次,腾讯云标准版再次,百度云最贵。阿里云和腾讯云都针对不同消费能力的用户提供了不同的版本。不过阿里云的单机版在价格上,能够给用户更低的价格,让用户进一步减少支出。
3、如果你的企业拥有足够的维护人员,那么三家相差不大,如果没有专业的DBA团队,那么腾讯云的数十种服务可以满足你的绝大多数需求,而阿里云的数百种服务可以给你完善的数据库维护帮助,一站式的数据维护体验。
4、压力测试中较为亮眼的参数是阿里云 RDS 的零死锁。零死锁可以让你的业务进行的更加流畅,更好的对外提供服务5、计算耗时上,效果最好的是阿里云 RDS ,其次是腾讯云 CDB ,最次是百度 RDS
数据库是我们任何一个应用都无法避免的,无论是关系型数据库,还是非关系型数据库,我们总需要借助数据库来存储我们的用户数据、产品数据。在这个集群随手可得的时代,数据库成为了我们除了CPU 频率,硬盘 IO 后又一个瓶颈。
站在大部分企业的角度来说,性能不会,也不应该成为最主要的考量指标。一些企业在上云时,希望选择性能强悍的云计算产品,但是实际上业务并不需要那么高的性能。性能就如同买鞋,合脚的才是最好的。
功能对比
阿里云 RDS
阿里云 RDS MySQL 版本基于 阿里云持续5年研发的高性能 MySQL 数据库产品:AliSQL。用户可以无需任何操作体验到阿里巴巴花5年时间,精心研发的高性能MySQL 分支 AliSQL。
为了解决用户关系的数据安全问题,阿里云 RDS 为用户提供了在不同情况下,不同阶段的安全防护和审计。同时,还能够帮助用户快速创建主备架构、数据同城容灾、异地容灾。
同时,RDS 作为PaaS 型云服务,为用户提供了丰富的备份恢复服务,无感知的版本升级服务和监控报警服务。
腾讯云 CDB
腾讯云 CDB 是由腾讯云提供的关系型数据库云服务,性能卓越、选型灵活,为用户提供了按量计费和弹性拓展,帮助用户实现高可用和高可靠。
腾讯云针对 MySQL 进行了优化,消除DB冗余的I/O,缩短了I/O路径,性能超过开源 MySQL 的自建数据库。
腾讯云为用户提供了强同步复制,保证数据库的一致性,避免出现数据丢失的情况。同时还提供了分钟级的日常监控和粒度更细的数据库核心指标件监控。
百度云 RDS
百度云 RDS 是百度云为用户提供的专业的数据库托管服务,为用户提供了全面的健康、故障修复、数据备份和可视化管理支持。 百度云 RDS 全面配置双网卡支持,公网私网独立控制,无需切换网络,支持数据库弹性扩容和按需付费购买模式。 百度云 RDS 为用户提供了监控、诊断、故障自修复等功能,为用户提供了全面的自动化运维保障。让用户省事省心省力。
三家在功能上差距并不是很大,但是需要注意的是,阿里云和腾讯云都对 MySQL 进行了深度的内核开发,阿里云更是将其开发后的数据库开源,发布至Github ,可见其对 AliSQL 的信心。百度云在 MySQL 二次开发的能力上还显得薄弱。
价格对比
在价格方面的对比上,我们选择了一些常用的配置,来进行对比:
在单核1G25G存储空间的配置上,阿里云双机版和百度云标准版较贵,每月156元,腾讯云的普通版较便宜,仅需120元,其强同步复制版,则需要175元每月,同时,阿里云也提供了单机版,仅73元。
当内存达到64G以上之后,只能选择阿里云和腾讯云,百度云目前只对外开通64G及以下内存的云数据库。在价格上,阿里云单机版最便宜,腾讯云标准版其次,阿里云双机版再其次,腾讯云强复制版最贵。
经过对比,我们可以看出,在同等配置下,阿里云单机版价格最为优惠,腾讯云的标准版其次,阿里云双机版再次,腾讯云标准版再次,百度云最贵。阿里云和腾讯云都针对不同消费能力的用户提供了不同的版本。不过阿里云的单机版在价格上,能够给用户更低的价格,让用户进一步减少支出。
生态对比
除了云计算的功能和价格,其周边的生态也很重要,一个完善、活跃的生态,可以帮助我们更好的去用好一款产品、在使用时遇见问题,也可以快速的去获得帮助。
阿里云官方针对数据库,提供数据传输 (DTS) 和专业的数据库管理工具 (DMS) ,同时在官方的服务之外,还开拓了阿里云云市场,云市场内有数百种不同的数据服务和近百家数据服务服务商,能够让你在需要帮助时,第一时间获取到帮助。
腾讯云也维用户提供了数据传输服务 (DTS) ,同时,为用户在云市场中开辟了数据迁移分区,引入了近百种不同的数据服务合十数家服务商,来帮助用户在遇见问题时,能够获取到来自服务市场的帮助。
百度云的生态是三家中做的最差的,只有两家服务商,提供了不到十种服务。其云市场实在是贫瘠不堪。用户在出现问题后,基本上只能依赖自己的维护人员,无法快速的获取到服务市场的帮助。
如果你的企业拥有足够的维护人员,那么三家相差不大,如果没有专业的DBA团队,那么腾讯云的数十种服务可以满足你的绝大多数需求,而阿里云的数百种服务可以给你完善的数据库维护帮助,一站式的数据维护体验。
压力测试
数据库好不好,不能只看功能和价格。是骡子是马,拉出来溜溜,才知道产品究竟如何。
测试工具
本次测试,我们选择的是经典的压力测试工具:sysbench
sysbench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况。也是业界通用的压力测试工具。
测试数据库配置
阿里云:4H8G 云数据库 腾讯云:8GB 云数据库 阿里云:8GB 云数据库
测试命令
模拟数据生成参数
./sysbench --test=tests/db/oltp.lua --oltp_tables_count=10 --oltp-table-size=100000 --rand-init=on prepare
上述命令表示我们会生成10个测试表,填充100000的随机数据。
性能测试参数 ./sysbench --test=tests/db/oltp.lua --oltp_tables_count=10 --oltp-table-size=10000000 --num-threads=8 --oltp-read-only=off --report-interval=10 --rand-type=uniform --max-time=3600 --max-requests=0 --percentile=99 run 上述命令表明我们开8个并发连接,同时进行读写测试,每10秒输出一次结果
测试结果
阿里云
项目 |
值 |
读总数 |
596344 |
写总数 |
170384 |
其他操作总数 |
85192 |
全部总数 |
851920 |
总事务数(每秒事务数) |
42596(11.83) |
死锁总数 |
0 |
读写总数(每秒读写次数) |
76728 |
其他操作总数(每秒其他操作次数) |
85192(23.66) |
共发生多少事务数 |
42596 |
最小响应耗时 |
534 |
平均响应耗时 |
676 |
超过99%平均耗时 |
607 |
在压力测试中,阿里云 RDS 的零死锁十分抢眼,一个小时的测试中,数据库没有出现死锁的情况,业务始终流畅进行,对于大部分用户来说,都是一个非常好的消息。
腾讯云
项目 |
值 |
读总数 |
634522 |
写总数 |
181277 |
其他操作总数 |
90631 |
全部总数 |
906430 |
总事务数(每秒事务数) |
45308(12.58) |
死锁总数 |
15 |
读写总数(每秒读写次数) |
815799 |
其他操作总数(每秒其他操作次数) |
90631(25.17) |
共发生多少事务数 |
45308 |
最小响应耗时 |
585 |
平均响应耗时 |
635 |
超过99%平均耗时 |
696 |
腾讯云 CDB 的整体性能要略差于 阿里云 RDS ,但相比之下,也要优于百度云 RDS
百度云
项目 |
值 |
读总数 |
562744 |
写总数 |
160760 |
其他操作总数 |
80368 |
全部总数 |
803872 |
总事务数(每秒事务数) |
40172 |
死锁总数 |
24 |
读写总数(每秒读写次数) |
723504 |
其他操作总数(每秒其他操作次数) |
80368(22.32) |
共发生多少事务数 |
40172 |
最小响应耗时 |
590 |
平均响应耗时 |
716 |
超过99%平均耗时 |
641 |
百度云在三家中依然是最差的,性能有差距,在真正处理业务逻辑时,或许会出现问题。
在压力测试中,较为亮眼的参数是阿里云 RDS 的零死锁。零死锁可以让你的业务进行的更加流畅,更好的对外提供服务。 在计算耗时上,效果最好的是阿里云 RDS,其次是腾讯云 CDB ,最次是百度 RDS
总结
看了上面的内容,可能你依然不会选择。这里,我来给你一些快速的选择方案:
如果你的项目的资金压力较大,或对云计算的投入预算不够高,但是有希望获取到完善的技术服务,可以选择阿里云的单机版
如果你的预算稍稍充足,也希望能够获得更好一些服务,可以选择腾讯云的标准版。
如果你希望获取高端的服务,那么阿里云的双机版,是你不错的选择。
百度云在各方面都不如另外两家,仅适合百度云的主机使用,性能还是要优于自建的数据库的。