导读
腾讯云数据库提供了可视化的运维操作页面和主动备份的能力,升高了数据库运维的门槛。同时云数据库还反对高可用架构,对数据的安全性和服务的可靠性更有保障。另外有的云数据库厂商还提供了诸如数据库审计、慢查问剖析、数据回档等能力,大大加重了数据库运维和 DBA 的工作量。
我司 CTO 和技术总监都是腾讯系的,所以咱们一开始就选用腾讯云的服务。他们家的云数据库提供了可视化的运维操作页面和主动备份的能力,升高了数据库运维的门槛。同时云数据库还反对高可用架构,对数据的安全性和服务的可靠性更有保障。另外有的云数据库厂商还提供了诸如数据库审计、慢查问剖析、数据回档等能力,大大加重了数据库运维和 DBA 的工作量。
其实咱们就没有专门的 DBA,都是开发本人下来折腾,通过把数据库的可靠性外包给云端,的确极大地升高了咱们的工作量,这一点还是挺爽的。然而在具体的应用过程中,发现还是有些中央不够称心,比方 MySQL 最高版只有 5.6,没法用上 5.7.8+ 新增的 JSON 字段;建设数据库自带的只读从库门槛较高(要最高版本);binlog 的备份不不便;数据库受权上的坑(没有 FILE 和 SHUTDOWN 权限,不能 grant all on \.\)等。
记得以前比照过阿里云和 UCloud 的云主机磁盘 IO(那时候腾讯云如同才刚起步呢),这么久过来了,再来比比看,他们的云数据库怎么样。国内目前就只有这三家还算比拟能入眼吧,网易和百度的就先跳过,都没据说谁家在用。另外那个 X 云就算了,期权都能黑下来的公司,预计也活不了多久。
这次除了比照性能,顺便再看看价格。
在测试开始之前先打个预防针:以下的测试可能比拟毛糙,并不是针对实际业务进行的,所以后果仅供参考,仅代表作者自己的观点和应用场景。而且理论的业务往往并不是以性能为惟一考量规范,公司的一整套业务须要多项云服务的撑持,最根底的主机、数据库、NoSQL、对象存储、负载平衡等服务这几家都比较完善了,然而在增值、附加服务上各有优劣、亮点,理论选型还是应该依据业务特点认真考量。
性能
首先最重要的,是云数据库的读写性能。我在布局实例的配置时,次要思考上面 2 点:
- 首先,云数据库要应用 SSD 硬盘,这样可能保障数据库服务器的 IO 尽量的快
- 其次,云数据库的内存要尽可能大,这样有尽可能多的数据可能被缓存,进步读写速度
因而我抉择的数据库配置如下:硬盘 300GB SSD,内存 8GB 左右。因为每个云平台提供的配置都不雷同(腾讯云的内存和磁盘比例是限定的,UCloud 的内存没有 8G 等等),我在三个云平台上别离申请了如下配置的云数据库进行性能测试:
因为理论状况下,云数据库个别是通过云服务器进行拜访的,因而我在这 3 个平台别离申请了配置差不多的云主机,在下面运行性能测试。我申请的云主机的操作系统都是 64 位 CentOS 6.5,具体的配置如下:
当初比拟风行的测试数据库工具是 sysbench,为了和理论应用的状况吻合,我对 sysbench 做了参数上的批改。
一般来说,读操作要远远多于写操作,并且有很多操作是须要范畴查找和排序的,所以我在测试中进步了读操作的比例,特地是进步了范畴查找和排序的比重。
同时,对于写操作,略微进步了 update 操作的比例。最终运行的测试中,每一个事务的读操作和写操作的比例是 6:1 左右。为了模仿我的项目启动之后的场景,我的 sysbench 测试集的数据量是总共 20 张表,每张表 200 万行数据,开启 32 个线程,并行向数据库发送事务申请,共运行 30 分钟。上面是我察看到的后果:
把这个测试后果做成图表是这个后果:
这个性能测试后果大大出乎我的预料,尽管 UCloud 的数据库界面看上去和阿里云和腾讯云相比比拟浮夸,产品介绍中也介绍的绝对简略,然而,性能上的劣势让我吃惊。说实话,本人测试之前,我没想到 UCloud 有如此大幅当先的性能。从测试后果剖析,UCloud 比阿里云高了 422%,比腾讯云高了 297%。而且,这还是在 UCloud 云数据库的内存不如其它 2 家大的状况下的后果(UCloud:6G 内存,阿里云和腾讯云:8G 内存)。
这个数据让我对 UCloud 的 SSD 云数据库性能非常动心,要晓得,这个是我没有做过任何调优,开箱即用的配置,完全符合我对于云数据库“疾速部署,性能称心”的冀望。
以下是测试后果的截图,从上到下别离是 UCloud 的 UDB,阿里云 RDS 和腾讯 CDB:
UCloud 的 UDB
阿里云 RDS
腾讯云 CDB
价格
看过了性能之后,我又顺便剖析了一下价格,貌似阿里云和 UCloud 的价格是线性关系的。阿里云依据内存,CPU 和磁盘定价,而 UCloud 依据内存和磁盘定价,CPU 收费。腾讯云的配置只有几档,每一档依据内存和磁盘来定价,内存和磁盘的排列是固定的,不是简略的线性关系。因而,我计算出了阿里云和 UCloud 的价格因素的计算常数,而后以腾讯云的配置为根底,别离推算了 3 个厂商在同等条件下的价格,能够失去三个厂商的定价趋势图如下:
其中,腾讯云的价格是最便宜的,只是磁盘和内存的比例是固定的;UCloud 的价格比腾讯云略贵,而阿里云比其它两家要高出 40% 左右的价格。这可能是因为阿里云主备架构的关系;不过,我发现 UCloud 的一般版 UDB 和高可用版 UDB 简直是一个价格,也就是说,如果思考主备架构的高可用版云数据库,UCloud 的高可用版实例的价格比阿里云要低 40%。认真看了下,貌似 UCloud 的高可用数据库最近在进行促销,所以才会这么划算,也就是说趁流动期间购买的话能够省一大笔钱。惋惜咱们用的是腾讯云……
总结
阿里云的文档十分全,而且具体。很多信息都能够通过文档来获取。而且它的 MySQL 在线管理工具很弱小,就是建设数据库的时候比拟麻烦,还是要去界面上申请建设数据库,价格较贵。
腾讯云尽管没有阿里云的 RDS 做的那么欠缺,也还算易用。他们应用 PHPMyAdmin 来治理数据库,对于纯熟这套工具的开发人员可能比拟容易上手。价格较便宜。
UCloud 云数据库测出的 TPS 和 QPS 性能远高于业内平均水平。而且产品易用性好,价格适中。
综上所述,性价比最高的云数据库是 UCloud 的 UDB。
额定再提一句,对于名列在程序员最厌恶两件事之一的“写文档”,在查看 3 个厂商的数据库产品介绍时,感觉阿里云和腾讯云的产品介绍做的很好,外面有各种解决方案的架构,十分贴心。而且云数据库和云主机自建数据库的区别也讲得很直观;而 UCloud 的 UDB 介绍比较简单,还须要进一步提高。
本文仅代表个人观点,如有意见和倡议,欢送探讨。
本文地址:http://www.linuxprobe.com/cloud-database-contrast.html[](http://www.linuxprobe.com/ngi…
收费提供最新 Linux 技术教程书籍,为开源技术爱好者致力做得更多更好:http://www.linuxprobe.com/thread