云原生 - 自建数据库 VS 云数据库,到底怎么选?

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: 云原生 - 自建数据库 VS 云数据库,到底怎么选?

最近在学习数据库相关知识,经常跟一个在某金融公司做DBA的大学朋友交流问题。听说他们公司最近在使用云数据库,我立马来了兴趣,以前只听说过云主机,没想到数据库这种产品也可以在云上买。正好最近在学习使用sysbench,索性我就买了腾讯云数据库(因为他们家的可以按量付费,用完了就释放掉哈哈),配合自己购买的腾讯云主机进行一个对比测试。下面就贴出测试过程和结果,仅供大家参考。

测试过程

在本次测试中,我使用sysbench对三种配置分别进行oltp场景的基准测试。sysbench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况。基准测试可以理解为针对系统的一种压力测试。但基准测试不关心业务逻辑,更加简单、直接、易于测试,数据可以由工具生成,不要求真实。这里的Oltp(On-Line Transaction Processing)即面向事务的处理过程,也是mysql的主要应用场景,在这里我们选用sysbench的读写混合脚本进行测试。

下面给出本次测试的详细配置:

我们使用sysbench创建20张表,每个表插入10000000条数据。每个配置的下测试1200秒,每10秒进行一次采样,重复两次取平均值作为参考。

Sysbench指令如下:

sysbench --db-driver=mysql --mysql-user=root --mysql-password=xxxx --mysql-db=test_sysbench --table_size=10000000 --tables=20 --threads=100 --events=0 --time=1200 --report-interval=10 /usr/share/sysbench/oltp_read_write.lua run

在测试自建数据库的时候我们需要安装MySQL、安装Sysbench,具体的方法可以参考相关系统的教程。需要注意的是,在使用云数据库的时候,需要一台机器远程连接,为了排除网络波动对测试结果的影响,这里我使用的就是测试用的CVM,将CVM和云数据库放置在同一网络区域下(同一VPS下),则可以通过内网IP建立连接,此时的网络不会成为测试瓶颈。此外我们要注意,在测试的时候保证CVM的配置大于等于云数据库的配置,可以先讲CVM测试完,提升到8核32G再去测试云数据库。

我们测试的配置主要为4核8G、8核32G三种配置,分别对比不同配置下MySQL云数据库和同配置CVM上的性能指标,主要对比的指标有QPS、TPS。

测试结果

漫长的测试完成之后,就是结果揭晓的时刻了。我们首先来看一下CVM4核8G的测试结果:

从测试结果可以看出,MySQL5.7的性能还是非常惊艳的,在混合读写的场景下,随着并发数的增加,QPS保持着上升趋势,在200并发的时候QPS高达40000,TPS也保持在2020,随后随着并发数的增加TPS迅速降低。

我们再来看一下,同等配置下的腾讯云MySQL是怎样的表现:

我走,20并发的时候QPS已经到了惊人的55000,在50的时候更是高达70000,基本是秒杀啊,我们来直观的看一下不同并发下二者的QPS对比。

可以看出,在8核32G性能下,趋势变化与4核基本相同,但在500并发下,云数据库依然保持了60000+的QPS,TPS保持在2091,而同配置下的自建Mysql此时已经降到了78。

测到这里,我们可以得出结论:在并发数较低的情况下(并发数50以内),MySQL的混合读写性能保持在较高的线性增长,在50线程时,云数据库MySQL的性能达到峰值,高达11w的QPS,5480的TPS,在50-200并发数云MySQL和自建MySQL变化平缓,自建MySQL稳定在4w-5w,云MySQL维持在10w-11w,在并发数达到500时二者性能下降明显。

总的来说,在200以内并发云数据库MySQL性能达到了同等配置自建数据库的两倍,看来腾讯云的研发小哥哥们还是做了大量的参数优化来提升数据库对硬件配置的性能利用。

在测试中有一个很惊喜的发现,使用腾讯云MySQL数据库自带的性能监控指标就可以直观的看历史监控结果啦。

怎么样,很直观有没有,高大上有没有。除了QPS和TPS之外还有其他很多很多参数指标,可以随意拖动时间,可以任意合并数据,效果如下:

哇,比起一个个记录测试数据再画图,使用腾讯云数据库的监控真的方便太多了。朋友告诉我除了监控,还有备份回档、监控、快速扩容、数据传输这么多特性。我好奇的上官网比较了一下我测的这两种配置的云主机和云数据库价格对比:

4核8G云主机: 10M带宽 488元/月 、200M带宽9380元/月

4核8G云数据库:652元/月 默认200M带宽

8核32G云主机:200M带宽 200G磁盘容量 9550元/月

8核32G 云数据库:200M带宽 200G磁盘容量 2317元/月

总结

原来云数据库在高出这么多性能,多了一堆特性功能之后,居然还拥有这么高的性价比,8核32G同等带宽的情况下云主机价格居然是云数据库的4倍。所以推荐需要专业数据库服务的同学,尤其是对性能和带宽要求较高的同学,购买腾讯云数据库可以帮你们省一大笔钱哦。对于跟我一样穷到吃土也想使用学习数据库的同学,强烈建议使用按量付费。反正每小时几块钱,价格划算童叟无欺。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
4月前
|
Cloud Native 关系型数据库 分布式数据库
阿里云PolarDB云原生数据库:重塑企业级数据库的新标杆
阿里云PolarDB云原生数据库凭借其出色的性能、可扩展性、稳定性以及Serverless能力,成为企业级数据库的新标杆。它能够快速响应业务需求,灵活伸缩资源,确保系统稳定可靠。同时,PolarDB还提供全面的数据加密、访问控制和审计功能,确保用户数据的安全性。此外,它还支持与第三方工具和服务提供商的集成,提供更多定制化的解决方案。总之,阿里云PolarDB云原生数据库为企业提供了一种高效、可靠、经济的数据库解决方案,值得企业考虑选择。
|
4月前
|
Cloud Native 关系型数据库 分布式数据库
阿里云原生数据库 PolarDB MySQL:云原生时代的数据库新篇章
阿里云原生数据库 PolarDB MySQL,它是阿里云自主研发的下一代云原生关系型数据库。PolarDB具有多主多写、多活容灾、HTAP等特性,交易性能和存储容量均表现出色。此外,PolarDB MySQL Serverless具有动态弹性升降资源和全局一致性等特性,能够适应高吞吐写入和高并发业务场景。本文详细分析了PolarDB的性能、稳定性和可扩展性,以及它在成本、性能和稳定性方面的优势。PolarDB为企业提供了高效、可靠的数据库解决方案,是值得考虑的选择。
308 0
|
7天前
|
Cloud Native 关系型数据库 MySQL
云原生数据仓库产品使用合集之在云数据仓库ADB中,GROUP BY操作中出现NULL值,如何解决
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
7天前
|
SQL 分布式计算 关系型数据库
云原生数据仓库产品使用合集之可以把ADB MySQL湖仓版数据库做成页面查询的数据库吗
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
7天前
|
存储 运维 监控
云原生数据仓库产品使用合集之怎样才可以提高云数据ADB的执行速度
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
7天前
|
存储 分布式计算 关系型数据库
云原生数据仓库产品使用合集之ADB如何确保数据库的可用性
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
25天前
|
小程序 前端开发 数据库
【微信小程序4】云数据库:如何把数组一次性写入数据库中
【微信小程序4】云数据库:如何把数组一次性写入数据库中
17 1
|
2月前
|
Cloud Native 关系型数据库 分布式数据库
**PolarDB IMCI:云原生时代的智能数据库新选择**
**PolarDB IMCI:云原生时代的智能数据库新选择**
28 4
|
3月前
|
监控 安全 数据库
Binlog vs. Redo Log:数据库日志的较劲【高级】
Binlog vs. Redo Log:数据库日志的较劲【高级】
82 0
|
3月前
|
存储 缓存 关系型数据库
Binlog vs. Redo Log:数据库日志的较劲【基础】
Binlog vs. Redo Log:数据库日志的较劲【基础】
189 0

热门文章

最新文章