前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >张青林:云原生数据库TDSQL-C在关键技术的多维突破

张青林:云原生数据库TDSQL-C在关键技术的多维突破

作者头像
腾讯数据库技术
发布2021-11-15 10:10:37
9970
发布2021-11-15 10:10:37
举报

//

2021年11月4日,云原生开源生态专场,由腾讯云数据技术总监张青林分别从海量存储、弹性缩扩容、秒级快速备份与回档和支持serverless4个维度分享腾讯云原生数据库TDSQL-C的显著特性,以及在不同业务应用场景中的内核技术优化实践。

(以下是通过张青林现场演讲全文整理)

传统数据库架构瓶颈

在自研云原生数据库TDSQL—C之前,我们也做多年其他的云数据库产品,越到后面越发现传统数据架构存在着几方面问题:一、数据本地存储,随着业务的增长,单机存储量可能会大于单机磁盘容量限制,需要对业务进行迁移,对业务造成不便;二、传统CDB架构的一主多备,备份迁移回档数据时会引发可用性和水平扩容等问题,这些突出的矛盾在传统的架构里难以解除,或解决的效果并不理想。

因此,我们开始考虑需要引入新的存储架构,而这种架构需要满足几个特点:1)存储容量可以自动扩充,且容量足够大,足以支撑业务的发展。2)不应有主备延迟,能够解决数据的可靠性和可用性问题。3)随着业务的增长,能够进行水平扩容,扩缩容的整体响应要好。基于以上几点设想,我们设计了云原生数据库 TDSQL-C

TDSQL-C四大显著特征

TDSQL-C如图上所示,分为计算和存储层,一主多备。计算主要负责原子性、一致性、隔离级别的实现,即ACID里ACI的实现;存储主要负责数据持久化,主备之间通过 redo log 进行内存同步。通过把计算和存储解耦以及引入新的数据同步协议,实现了 TDSQL-C。

TDSQL-C 有以下4大特性:

第一,支持PB级存储。传统数据库架构,购买规格和机器所用空间,一般单机磁盘容量是几T到几十T之间;TDSQL-C存储可直接连到网络存储,支持PB级存储。

第二,秒级扩缩容能力。通过计算与存储解耦,存储空间可以自动扩缩容,弹性能力显著;

第三,秒级快照备份回档能力。金融和游戏行业相关应用场景对备份的时效性和速度有较高的要求,通过存储层秒级快照实现数据和redo日志的持续备份,提供任意时间点数据恢复能力(Point-in-time recovery,PITR) 。

第四,支持serverless形态,按需计费。传统数据库计费取决于本身购买的规格,以及使用所需要的时间;TDSQL-C 支持 serverless形态,支持按实际计算和存储资源使用量收取费用,不用不付费,整个服务监控力度达到秒级级别,将云原生技术普惠用户。

TDSQL-C产品关键优化

为了实现TDSQL—C以上显著特性,我们针对数据库内核做了大量的优化。

  • 极速备份和回档。目前传统云数据库备份使用方式为物理备份或者逻辑备份,耗时较久。TDSQL-C采取并行备份,恢复时把快照拿出来,每个cell 独立 apply redo log,对比友商,我们备份时间仅为友商的1/10。
  • 创建索引。TDSQL-C在创建索引方面做了三个阶段优化:1)并化扫描,并行能力减少IO所带来的影响;2)并行 merge sort 功能,减少排序时间;3)批量构建b+树,先构建多个小b+树,然后再对小的b+树合成一个单独的b+树,避免二次扫描。
  • 极速启停。过往buffer pool大实例重启,初始化耗时长,用户体验差;基于对启动时间的进行时耗分析,BP和事物系统初始化,我们对它进行了并行化处理,经过优化,启动&关闭时间对比于其他云产品启动和关闭时间降低了一个数量级。
  • 极致伸缩。卸载空间扩展,日志驱动按需扩展,计算节点可根据业务需要快速升降配,秒级完成扩缩容,降低用户使用成本;
  • DDL的优化。在用户的实践中,修改列是一项频繁且不友好的操作,此操作会阻塞用户的读写请求,对业务影响非常大,TDSQL-C业界首创支持了instant modify column功能,达到了秒级修改列的效果。
  • 二级缓存。针对普遍存在的IO bound场景,在计算层引入独立于bufer  pool的二级缓存,利用非易失存储等新硬件的能力对BP进行补充,缓存热数据,解决网络存储带来的 IO问题;

最终,TDSQL-C的这些特性实现,离不开团队对产品的用心,从可靠性、可用性以及深度结合业务本身的特性所做的优化

未来产品演进

数据库技术将随着时间的推移不断演进和革新,未来TDSQL-C将重点往以下两方面不断发力:一是database极致性能,log  store提升日志更快的响应速度和带来更大的整体吞吐量,提供极致的写性能;二是跨Region读,提供可用性更高的、跨Region的只读服务,并提供金融级的可靠性和跨区域灾备等。

招贤纳士:作为国内数据库行业先行者,腾讯数据库研发中心为公司内外数十万客户提供专业的数据库服务,涵盖互联网 、金融 、音视频、 智慧城市等领域,规模和增长在全球云数据库市场名列前茅。未来,腾讯还会在数据库赛道上持续加码,面向社会及高校引进更多技术人才,结合腾讯在QQ、微信等服务十几亿C端用户的能力、经验和资源,为 B端客户持续提供好用、易用、安全的数据库产品。

欢迎有志向从事数据库系统研发的同学加入腾讯TEG云架平数据库研发中心队,可通过邮箱(tencentarchitect@126.com)联系。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-11-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯数据库技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档