【腾讯云TDSQLC Serverless 产品测评一文带你了解TDSQLC Serverless版

前言

  这几年,Serverless数据库大火,被业内称为数据库的下一代变革性技术,是云原生数据库发展的必然结果。作为早在2020年就于国内率先推出Serverless数据库的腾讯云,近年来不断在Serverless数据库领域深耕探索,今年更是推出预付费资源类型资源包,Serverless集群挂载只读实例等一系列更新,为用户的降本增效以及国内云原生技术普惠提供了一份自己的答卷。

  本文将基于腾讯云TDSQL-C for MySQL Serverless版,带领大家一起,对其核心特性进行一个简单的评测。为大家在传统数据库与Serverless数据库之间的选型提供一个简单的参考。

腾讯云TDSQL-C for MySQL Serverless版介绍

  TDSQL-C MySQL 版(TDSQL-C for MySQL)是腾讯云自研的新一代云原生关系型数据库。融合了传统数据库、云计算与新硬件技术的优势,为用户提供具备高弹性、高性能、海量存储、安全可靠的数据库服务。Serverless 服务是TDSQL-C MySQL 版的无服务器架构版,是全 Serverless 架构的云原生数据库,其架构设计如下图:

  Serverless 服务基于计算与存储分离的理念,满足了客户在公有云计算环境下根据业务发展弹性扩展集群的刚性需求,让用户不再纠结实例资源问题,让用户像使用自来水一样使用数据库。支持按实际计算资源和存储资源使用量收取费用,不用不付费,将腾讯云云原生技术普惠用户。总结其特性,可分为以下三项:

  • 自动启停(实用实付):Serverless 服务支持自定义实例自动暂停时间,无连接时实例会自动暂停。当有任务连接接入时,实例会秒级无间断自动唤醒。集群按秒计量,按小时结算,如果没有访问,不收费,帮助业务极大程度地节省成本;
  • 自动扩缩容(弹性策略): Serverless 集群会持续监控用户的 CPU、内存等 workload 负载情况,根据一定的规则触发自动扩缩容策略。用户不需要过度关注规格,访问量上来时自动扩容,降低时自动缩容,且实现扩缩容的过程中做到业务无感知;
  • 资源扩缩范围(CCU):可调整 CCU 弹性扩缩容的范围。Serverless 集群会在该范围内根据实际业务压力自动增加或减少 CCU;

准备工作

1、 购买TDSQL-C for MySQL Serverless版实例

  打开并登录 TDSQL-C for MySQL购买页,完成数据库配置和基础信息设置。本文所使用的数据库配置如下图:

数据库配置参数说明(粗体项为需要重点关注的参数):

  • 实例形态:本文选择Serverless
  • 数据库引擎:本文选择 MySQL
  • 地域:不同地域可选的算力配置可能略有不同。像北京地区,算力配置最高只能选到16-32CCU,而广州地区则可选到32-64CCU。这里根据业务部署区域和业务所需配置进行选择即可。
  • 主可用区:选择部署可用区,这个随意。
  • 多可用区部署:Serverless版暂不支持多可用区部署,如果业务对多可用区有刚性需求,只能选择TDSQL-C的其他版本。
  • 传输链路 :默认高 IO 版,无其他配置。
  • 网络:出于性能安全考虑,目前仅支持私有网络(VPC),云服务器需要与 TDSQL-C 在同一VPC下方可通信(保障同一个地域,不限可用区)。
  • 数据库版本:本文选择MySQL 5.7,需要注意的是,TDSQL-C MySQL 版仅支持 Innodb 引擎。
  • 算力配置:选择算力配置 CCU的上下限,实例会根据选择的资源范围自动进行弹性扩缩容。
  • CCU(TDSQL-C Compute Unit)为 Serverless 的计算计费单位,一个 CCU 近似等于1个 CPU 和 2GB 内存的计算资源
  • 每个计费周期的 CCU 使用数量为:数据库所使用的 CPU 核数 与 内存大小的1/2 二者中取最大值
  • 支持对读写实例和只读实例单独配置算力
  • 自动暂停 :配置实例自动暂停时间,在设定时间内无连接访问数据库会自动暂停实例,实例暂停后CCU将不再计费,存储仍然按实际使用量计费。
  • 计费模式: 支持选择按量计费或资源包。如果是生产环境,建议使用资源包付费,优点是相比于按量付费模式更为划算,使用更为灵活。

数据库配置完成后,还需要进行基础信息配置,为了节省篇幅,本文暂时不做过多的描述,大家根据自己的实际情况进行配置即可。

2、开启数据库外网访问

  数据库购买成功后,默认只能通过内网访问,为了方便测试,我们需要先开启数据库的外网访问能力。开启后,我们就可以在外网通过系统分配的域名和端口访问数据库。需要注意的是外网访问建议仅用于开发或辅助管理数据库,业务访问请使用内网访问。

3、安装测试工具

  本文部分的测试场景基于Sysbench完成。Sysbench 是一个跨平台且支持多线程的模块化基准测试工具,用于评估系统在运行高负载的数据库时相关核心参数的性能表现。可绕过复杂的数据库基准设置,甚至在没有安装数据库的前提下,快速了解数据库系统的性能。CentOS系统下Sysbench安装命令如下:

curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.rpm.sh | sudo bash yum -y install sysbench 1. 检查是否安装成功 sysbench --version