2024年1月22日,沙利文分析师对《2023年中国云原生数据库十大厂商推荐-市场综合力表现》报告进行了线上解读,在分享云原生数据库发展现状以及最新技术趋势的同时,对腾讯云在云原生数据库领域的产品能力给与了最高评价。
“腾讯云在十大云原生数据库中整体表现优秀,不管是产品功能还是在运维管理评测中,都有突出表现。”沙利文中国高级分析师霍翰松在主题分享中表示,腾讯云原生数据库TDSQL-C在云原生能力、可观测性以及基于分布式共享存储的“日志即数据库”架构创新能力等方面处于引领者地位。
TDSQL-C紧密结合客户需求推动技术创新,确保技术高效落地,真正服务客户。比如:在腾讯云Serverless技术创新中首 创了可释放存储、恢复感知器等能力,很好地满足了客户需求。同时,云原生数据库弹性括缩的时候,是否能够平滑是一大挑战,而腾讯云基于自身技术上的优势,能够给客户带来顺畅体验,确保应用高峰和低峰间无感觉适配所需要的资源。另外,在AI能力方面,腾讯云基于在AI的技术储备,也已经快速融入数据库系列产品创新中,通过 “以数据为中心”这样一个理念帮助客户更好地使用云原生数据库。
面向市场,腾讯云建立了完善的服务体系,能够帮助客户去建设以及持续优化云原生数据库架构。TDSQL-C在政府、金融等行业已经实现大规模落地,知道如何更好地满足客户需求, 成为产品快速迭代的基础。
经过一系列的技术研究以及对市场的洞察,TDSQL-C在云原生及创新性技术、基础云服务功能、运维管理、生态建设、服务与市场、安全保障等六项指标中皆打中要点,在云原生数据库市场的整体表现处于领导者地位。
Serverless重新定义下一代云原生数据库
在沙利文报告解读中,特别强调了Serverless能力。那么,这两年大火的Serverless DB,或者说云原生的Serverless形态,究竟是怎样一款产品,能够给客户的业务带来哪些价值?腾讯云数据库产品总监 刘迪,进行了主题分享。
腾讯云原生数据库TDSQL-C分为三个架构层,包括数据库代理层、计算层、存储层,相互协同为客户提供较传统云数据库更好的性能和更稳定的数据库服务。其中,在计算层又支持了三种引擎的两类,两类是指OLTP和OLAP双引擎混合部署来支撑业务,不管是复杂的聚合、排序等计算任务、批量报表的处理,还是业务的事务级查询都能够有较好的性能和效果。在三种引擎中,本文重点关注Serverless计算引擎,这是在分布式共享存储架构在构建的一个Serverless数据库服务。
云原生数据库TDSQL-C 是腾讯云自研的新一代企业级云原生数据库,融合了传统开源、商用数据库设计理念,借助云计算与新硬件技术的优势,采用“存储和计算分离的架构”100%兼容MySQL,为客户提供极致弹性、高性能、高可用、高可靠、安全的数据服务。凭借卓越的Serverless架构支持模式,具有自动扩展、仅按照实际使用量计费的特性,不用不计算成本,让数据库以超低成本运行,可让总体成本降低60%。
TDSQL-C Serverless架构之所以获得快速发展,是因其在计算和存储层能给客户带来更卓越的体验。特别是存储层,主要依托于云原生数据库能力,提供了分布式共享存储技术以及分离的日志即数据库的架构,使得计算节点完全无状态化, 能够实现秒级伸缩、跨机弹性。由于在存储层实现了池化资源,单个实例能够支持零到PB级的数据存储, 并且支持了自动回收碎片空间的特性,不需要像传统数据库一样需要定期碎片整理才能释放存储空间。同时,通过丰富的监控资源让客户感知到目前真正使用的资源和现在的压力和负载情况的一个匹配程度。
具体而言,TDSQL-C Serverless有四大核心特性:
1、极致横纵向弹性,资源如水般可涓流可倾斜
传统数据库大多数是固定规格,比如2核4G或者4核8G,即便是资源闲置,也需要为之付费,一旦业务负载上来,极易造成紧急扩容不及时, 数据库现有规格无法承载而导致系统崩溃。
之前,一些电商客户采用的方案是提前一个月预估大促时业务压力可能会涨到多少,进而评估出所需要的资源量,并进行提前扩容。更专业的客户会做模拟压测来进行资源评估。但提前对资源的预测和扩容不仅会产生大量成本消耗, 同时一旦由于预估不准确,出现资源不足,会导致运营事故发生。就像几年前电商秒杀场景,经常因为某个商品突然成为“爆款”, 业务压力超过预估的10倍多, 导致消费者的购买页面不响应或者超时,这种场景就是典型的数据库性能达到瓶颈,没有办法及时响应请求。
如果是Serverless架构,可以提供极致的纵向扩展能力。当客户的资源闲置,无需支付任何费用,系统会默认资源的使用率为0,如果业务侧发起了数据库请求,会根据客户现有的压力请求进行合理、动态、平滑地分配计算资源,帮助客户应对业务波峰、波谷业务的稳定性挑战,平衡资源的使用。
除了极致的纵向弹性特性,Serverless架构还具备极致的横向扩展能力。在继承之前云原生架构充分弹性的基础上,实现了CPU、内存、存储“三层解耦”。通过只读节点、数据库代理等组件的集群架构设计,使得只读节点的个数与资源配比具备了动态关联,根据客户负载的特性, 能够动态扩展只读实例个数. 拉伸数据库代理的承载力,识别流量特征打散到多个只读节点,从而合理地提高数据库性能。
简而言之,Serverless架构之所以能够降本增效,是基于一种动态负载的判断来实现极致的横向加纵向扩展,再结合上层的数据库代理层的弹性来实现整个云原生数据库集群各节点、各组件都能够支持Serverless弹性伸缩,全面提高业务效率。
2、连接不断,秒级冷启动
TDSQL-C Serverless在连接的保活上也做了大量优化。Serverless数据库服务的核心客户价值之一是不使用不计费,或者说不使用系统就定期把这个节点给回收掉,这样就会产生在激活时存在一个连接唤醒的阶段,该阶段会出现首个连接失败, 极大地影响体验。虽然,在云原生架构下,激活的时效大大提升,但肯定不如一个活跃的数据库进程那样快速响应。
以腾讯云支撑的大量微信小程序场景为例,web应用有很多小程序的客户,如果第一次拉起报出404页面,需要再刷,这个体验非常差。如何保证首次连接快速响应,准确获取对应数据?腾讯云TDSQL-C Serverless增加了“恢复感知器”模块,能够保活初次唤醒连接,首个连接会经过这个恢复感知器,并进行连接保持, 而后面的活跃新建链就不会再经过这个恢复感知器来获得业务请求,提升处理效率, 这种方案让客户体验更上新台阶。
3、业内首创可释放存储,进一步压缩存储成本
今年腾讯云首发的一个业内首 创的特性就是“可释放存储”。TDSQL-C Serverless实现了全链路的极致Serverless,既能够实现计算层的弹性伸缩不使用不计费,又做到了存储层在没有请求的场景快速落冷并支持秒级恢复。
可释放存储的原理是,将存储层的冷数据能够进行快速的归档,归档以后费用可以降低80%。有人可能会说,这不就是一个归档能力,用备份是不是也能做到,只把备份存在一个非常低的介质上?这其中的关键技术在于快速恢复,在这一层面腾讯云做了大量工作,才做到根据客户的SQL请求快速恢复所需要查询的页面。
对于客户来说,基于可释放存储这一特性,能够在秒级完成全部冷数据恢复,或者说按需快速完成数据预热。
4、绝对平滑弹性扩缩容
在很多客户的核心系统中,只要资源预留的足够多,或者说CPU预测算法上面做得足够精准,CPU的扩容可以做到相对平滑。但在内存层的申请、释放等过程中极易出现性能抖动。
针对IO瓶颈,在云原生数据库TDSQL-C采用的“日志即数据库”架构下不会存在,不需要刷脏。采用redo log在存储层异步生成page,计算节点不需要刷脏,缩容时计算节点内存中的数据直接可以丢弃,因为所有的数据都已经在存储层进行持久化了。
另外一个问题是关于“锁”,包括Mutex锁瓶颈和全局锁的瓶颈。腾讯云做了大量优化, 在锁的范围和时长上,按照地址遍历需要被回收的chunk中的block,同时加锁区间由整个Iru链表变成单个block,使得每次持锁的次数和锁的时长都会极大程度地减少。面对全局锁,采取的应对策略是,延迟释放chunks和提前预分配chunks,并且优化resize hash算法,改为异步模式。
通过上述大量技术优化,使得缩容的时候整体毛刺下降了100%,不会出现超过100毫秒的抖动。
TDSQL HTAP架构升级详解
随着客户数据的规模化增长,对数据的实时性要求增高,传统的TP+ETL+AP架构已经无法完全满足现实需求。如何让AP和TP具有天然的一致性,应对TB级数据的高频变化,更高效地处理工作负载?腾讯云数据库技术总监 杜川,具体介绍了TDSQL HTAP在架构上的优势。
为了支持HTAP 工作负载,腾讯云做了架构升级,客户基于TDSQL-C计算层可以扩展出支持HTAP能力的子节点,对分析型的查询起到加速效果。TDSQL-C的只读节点是通过物理日志跟主节点之间进行数据复制,只读节点上面的列存索引通过物理日志来完成行列转换。
TDSQL-C 的 HTAP特性给客户带来的体验是易用、高性能、实时,并且在实现弹性扩展的同时,能够做到隔离部署。
第一,易用性。不管是TP的负载,还是一些混合负载,都通过统一的SQL入口进来,然后通过统一语法自行转发,客户是低感知状态。
第二,高性能。通过扩展并行查询、列式索引,列式存储、向量化分析这样的技术,大大提高客户在复杂SQL的执行效率。
第三,实时。通过在存储层面完成行列数据同步,避免复杂的ETL操作,保证实时以及事务一致性。
第四,隔离。读写节点与分析节点隔离部署,同时满足在线交易与实时分析的极致性能。分析节点弹性扩展,可选择库表进行加速,有效降低使用成本。
TDSQL-C HTAP特性适用于ERP、风控、SaaS类业务场景,特别是无法区分TP与AP查询,共同运行在一套数据库系统中的业务。另外,还适用于业务跑批,比如需要定时对数据库中数据进行批量处理,如跑批更新、复杂分析、类型检索等。包括实时报表场景,比如广告推荐、业务看板等,可满足既要实时看报表数据,又要支撑高并发在线交易处理。
腾讯云原生数据库TDSQL-C 凭借产品功能以及技术架构方面的独特表现,获得大量客户认可,目前已有10万家商业客户在使用,这些客户来自工业制造、金融、零售、教育、游戏、电商等。所以,沙利文在2023的报告中对于腾讯云技术领先性的评价,可以说是实至名归,是市场的一个真实反馈!