【腾讯云TDSQL-C Serverless 产品测评】大数据时代是谁在国产数据库中开荒?
文章目录
活动背景
“腾讯云TDSQL-C
产品测评活动”是由腾讯云联合优快云
推出的针对数据库产品测评及产品体验活动,本次活动主要面向TDSQL-C Serverless
版;
本次参与活动涵盖不同技术层面的用户,初步的产品体验或针对TDSQL-C
产品的自动弹性能力、自动启停能力、兼容性、安全、并发、可靠性等多方面的产品测评,并通过征文的方式输出,参与活动的同时既可以收获相关技术领域的实战经验同时也可获得丰厚的活动激励。
前言
最近在优快云
上也是看到关于腾讯云 TDSQL-C Serverless
数据库的活动,每次遇到陌生领域的东西,我觉得都很有必要参与一下,这次也是不例外,不过我觉得不仅仅是因为我没使用和了解过,主要是数据库本身就在我们的软件工程中就是非常重要的,随着软件的发展,编程语言对整个系统的影响越来越小,我们所见到的数据,所提交的表单,都需要我们的底层数据库有一个良好的支撑,所以在数据库的选择上是至关重要的;
为什么我觉得腾讯云的 TDSQL-C Serverless
数据库是值得研究的呢?
以下是官网举例的一些优势
- 它可以完全兼容开源数据库
MySQL 5.7、8.0
,业务无需改造即可平滑迁移 - 超高性能:单节点百万
QPS
的超高性能,保证关键业务的连续性,并可进一步提供读写分离以及读写扩展性。 - 海量存储:最高支持
PB
级的海量存储,为客户免去面对海量的数据时频繁分库分表的繁琐操作,同时支持数据压缩,在海量数据检索和写入性能上进行了大量优化。 - 秒级故障恢复:计算节点实现了无状态,支持秒级的故障切换和恢复,即便计算节点所在的物理机宕机也可以在一分钟之内恢复。
- 数据高可靠:集群支持安全组和
VPC
网络隔离。自动维护数据和备份的多个副本,保障数据安全可靠,可靠性达99.9999999%。 - 弹性扩展:计算节点可根据业务需要快速升降配,秒级完成扩容,结合弹性存储,实现计算资源的成本最优。
- 快速只读扩展:计算节点可根据业务需要快速添加只读节点,一个集群支持秒级添加或删除1个 - 15个只读节点,快速应对业务峰值和变化场景。
- 快照备份回档:基于数据多版本的秒级快照备份对用户的数据进行连续备份保护,免去主从架构备份回档数据的同步和搬迁,最高以GB/秒的速度极速并行回档,保证业务数据迅速恢复。
- Serverless 架构:
Serverless
是腾讯自研云原生数据库 TDSQL-C MySQL 版的无服务器架构版,自动扩缩容,仅按照实际使用量计费,不用不计费,轻松应对业务数据量动态变化和持续增长。
说实话,光看优点很吸引人,但是对于没有使用过的用户来说,谁知道是不是吹牛呢?真金不怕火炼,我带着这个想法开始了对它数据库的一个测评!
本次测评内容主要围绕两方面进行:
- 兼容性测试
- 可用性测试
TDSQL-C Serverless环境搭建
整个环境构建非常的简单其实,官方的文档特别明了,这里我简要概述一下我的搭建过程,正常到 TDSQL-C 控制台是没有集群的,是下面这个状态
然后我们点击去购买集群,就会到购买页
根据我们的地区,和实例形态就可以进行购买了,之后下一步下一步设置密码和实例的配置就可以创建成功了,整个实例是按量付费的,而且没有流量来的时候实例是暂停的,所以根本不需要多少钱,所以大家也不用担心,参与实验的成本特别低!
1.0 兼容性测试
当涉及兼容性测试时,我主要是重点测试以下几个方面的兼容性:
- 索引:验证数据库中的索引是否能够在
tdsql
数据库中正确地创建和使用,以确保查询性能和数据完整性的兼容性。 - 存储过程:检查老项目中存在的存储过程是否能够在
tdsql
数据库中正确执行,并确保其逻辑和功能的兼容性。 - 视图:验证系统中使用的视图是否能够在
tdsql
数据库中正确定义和使用,以确保数据的一致性和查询结果的兼容性。 - 数据表:确认数据表的结构和约束是否能够在
tdsql
数据库中正确创建,并保持数据的完整性和兼容性。 - 触发器:检测触发器是否能够在
tdsql
数据库中正确触发和执行,以确保业务逻辑的兼容性和数据的一致性。 - 事件:验证事件是否能够在新系统中按预期调度和执行,以确保定时任务和事件处理的兼容性。
在我们的很多老项目中,存储过程的使用非常常见,并且视图在系统中也广泛运用。因此,对于兼容性测试来说,这些方面都是不可或缺的。我们需要确保这些核心组件在新系统中能够正确运行,以保证平稳的迁移和功能的无缝衔接。
1.1 构建测试环境
这里我是通过利用我的个人线上博客进行测试的,数据库中还有一些文章数据,数据库版本如下:
- mysql5.7.16-log
TDSQL-C Servless数据库版本如下:
- 5.7.18-cynos-log
然后我们开始构建我们的一些测试数据!!
1.1.1 针对文章表创建视图
SQL如下:
create