腾讯云CDB/CynosDB技术揭秘

时间:2024-03-24 15:05:01

点击观看大咖分享

 

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。所谓“数据库”系以一定方式储存在一起、能予以多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。


数据库行业发展

1978年-1990年,数据库在国内登场,国防和军工核心领域开始应用数据库。2000年左右互联网兴起,由于Oracle成本过高,MySQL技术开始在互联网公司一统江湖。2013年至今,开源数据库已经呈现百花齐放的格局。

随着国际形势的变化,在新基建的大浪潮下,国产数据库已经到达发展的良好阶段。我们对目前的国产数据库做出分类,主要分为4类:传统国产数据库、互联网数据库、新兴数据库和第三方平台型。互联网数据库的厂商,在自身内部一般都有相应的技术积累及应用经验,以腾讯为例,腾讯云数据库在产品化前,就应用于财付通、微信支付和王者荣耀等业务中。

腾讯云数据

下图是腾讯云数据库产品的布局全图,底层是PaaS产品;在此之上,数据库团队还为用户准备了很多数据库界别的SaaS产品,包括迁移上云服务、智能管家DBBrain和数据库管理服务等。我们会根据电商模块、金融模块、零售模块等各类用户行业的需求,来反思PaaS和SaaS数据库产品的迭代。腾讯云的产品演进,都是首先从自有业务的打磨开始的。

腾讯云CDB/CynosDB技术揭秘

腾讯云数据库产品在研发时要遵循6大设计理念:保持数据强一致,金融级高可用,互联网高性能,高安全性,良好的扩展,健康的运维;这些设计理念都能从腾讯云CDB这个产品上体现。

新基建对数据库行业的机遇

新基建包括5G基站特高压、城际高速铁路和城市轨道交通、新能源汽车充电桩、大数据中心、人工智能和工业互联网七大领域。新基建对于数据库行业的冲击兼具机遇和挑战。新基建时代来临时,数据量会发生井喷,因此在线交易数据库的性能会实现爆发,在线分析数据库会出现业务井喷。其次,会出现数据多模的业务需求,业务融合呈现多样化。数据库要实现自动化治理。

为了迎接新时代,数据库产品需要全面升级,借助云的能力,向“云+数据库”模式转变。迎合用户旧的习惯,并培养用户新的习惯,全面兼容MySQL/PG/Orade协议,为用户提供OLTP的产品能力。在自治方面,随着数据量的大批量提升,要往智能诊断和调优大脑方向进行布局。新基建需要超融合的产品发展动向,需要多模融合、业务融合、场景融合和管理融合。

安全是腾讯内部非常重视的一个业务,自2013年起就十分关注安全教育事业的发展和安全人才的培养。成立犀牛鸟基金,致力于推动学校和科研的发展。腾讯举办的TCTF大赛也是国内目前数一数二的CTF赛事。2017年腾讯与教育部签署教育合作备忘录,2018年成立腾讯安全学院。从一系列动作都可以看出,腾讯对于安全人才的培养的重视。近年来腾讯安全逐步吸纳了上百万的安全专家,其中最著名的就是七大联合实验室的掌门人,他们都是国内最顶尖的白帽黑客。

除此以外,我们还推出了腾讯云网络安全运维认证,这是腾讯面向社会推出的针对安全运维岗位的企业级认证资格,适用于高等院校的网络工程专业、信息安全专业、云计算和计算机应用类专业的学生群体。这个认证的考核内容与网络安全运维实际工作岗位所需技能和要求是高度匹配的,获得认证的同学可以进入我们的人才库,被腾讯及其生态企业优先录用。

CynosDB计算引擎关键技术

CDB的产品普遍使用这样的架构图,这种架构设计存在一些痛点:数据库容量受限于单机磁盘容量。扩容力有限。普通复制可能会丢数据,同步复制性能差。可用性受限,HA和恢复速度慢。只读备机部署速度慢,存储和IO冗余。

腾讯云CDB/CynosDB技术揭秘

基于这些痛点,我们设计了CynosDB的架构。在新的架构设计下,数据库容量可以扩展到100T。存储层三副本,确保不会丢数据。HA和恢复速度快,主从延迟小。只读备机部署速度快。

腾讯云CDB/CynosDB技术揭秘

这张图片是计算存储分离架构RIO的架构图,RIO具有无锁化和并行化的技术特征。IOI队列无锁化,提升并发度。这样的架构还有利于充分利用底层存储节点的IO并行能力。

腾讯云CDB/CynosDB技术揭秘

在整个计算存储分离的架构中,日志是核心点,写日志的效率很大程度上决定了系统的吞吐量。我们对日志系统进行了优化,实现日志缓冲区无锁化,增加了写日志的并发性,还并添加了写日志专有线程,提高了写日志的效率。

对于异步组提交来说,事务为提交时,不用等待日志罗盘,而是进入提交队列,线程可以回到线程池连续获取新的任务执行。日志写线程完成日志罗盘,将一组事务放入任务队列,继续完成剩下的提交操作。

Btree的一致性首先新增SMO日志来标识Btree的分裂或合并操作,然后应用SMO日志时更新index::sync lsn。访问Btree页面时如果判断在SMO中,则重新打开游标。


问卷

为了给广大开发者提供最实用、最热门前沿、最干货的****,请让我们听到你的需要,感谢您的时间!点击填写 问卷

腾讯云大学是腾讯云旗下面向云生态用户的一站式学习成长平台。腾讯云大学大咖分享每周邀请内部技术大咖,为你提供免费、专业、行业最新技术动态分享。