导语: 近日,腾讯云数据库又有两项数据库内核技术的最新研究成果分别入选了国际数据库顶级会议ICDE和SIGMOD的收录论文。其中,中国科技大学金培权老师团队和腾讯云原生数据库TDSQL-C(原CynosDB)内核团队联合发表的最新研究成果入选ICDE 2021。
该研究成果是基于双方与“2019年腾讯犀牛鸟基础平台技术专项计划”联合产生的产学合作成果。腾讯犀牛鸟基础平台技术专项计划旨在开放腾讯在基础平台层面的技术挑战,搭建产学研合作平台,共同推进技术应用落地与创新,并培育优秀人才。
1
近年来,随着非易失存储(NVM)硬件的普及,NVM所具有的高带宽、低延迟、按字节寻址与掉电不丢失数据等独特性质,对存储、数据库、操作系统等基础软件架构的设计影响愈发重要。腾讯云数据库和存储等团队联合学术界以及工业界相关合作团队,积极探索NVM在数据库内核存储引擎中的应用与研究。
其中,腾讯云与中国科学技术大学合作的最新研究成果入选了ICDE的收录短文,ICDE国际数据工程会议与SIGMOD、VLDB并称为数据库三大顶级会议。论文题目为“TLBtree:A Read/Write-Optimized Tree Index for Non-Volatile Memory”,并将于2021年4月19日在ICDE 2021国际会议上公开发表。
此项研究在非易失内存上创新提出了一种读写兼优的数据结构,作为数据库内核存储引擎中的索引结构,其读写性能大幅超越前沿的同等索引结构。
目前,在NVM上使用最频繁索引结构是基于B 树的,而已有的NVM B 树索引技术都存在一个读写权衡的问题,要么是专门优化读性能,要么优化写性能,同一种技术往往无法做到兼顾读写性能。而且由于目前NVM的硬件写带宽较低,NVM数据持久化代价较高,这种读写权衡就会越发明显。因此,设计一种在NVM上读写兼优的NVM索引结构成为重要的研究目标。
根据树型索引的读写访问模式以及真实NVM设备特性,本文提出了两层持久性B 树架构。如上图所示,它将索引分为上下两层(读优化的上层和NVM写优化的下层),从而解耦了读写优化技术,让完全不同的优化技术可以共存在同一个索引结构中,达到多维度优化要求。
基于此架构下,本文设计了TLBtree,一种读写优化的两层索引,并给出了其并发版本。
TLBtree的上层是一个读优化的多叉完全树,采用无指针结构,所有结点存储在连续数组空间中。TLBtree的下层是针对NVM设计的写优化树型结构,它能够有效地减少对NVM的写代价,而且无需WAL即能保证持久性和崩溃一致性。TLBtree的并发版本采用无阻塞读的并发机制,能够有效的减少多进程情况下的读写冲突。
ICDE评审委员会认为,该论文关于组合多种数据结构实现读写兼优NVM索引结构设计思路非常新颖,这一概念具有广阔的前景。同时,文章对该设计进行了清晰而明确的表述,相应的实验结果也得到了充分的验证,读者可以从文中获取到许多有价值的信息。
这一成果由中国科技大学金培权老师团队和腾讯云原生数据库TDSQL-C(原CynosDB)内核团队合作完成。双方于“2019年腾讯犀牛鸟基础平台技术专项计划”建立合作,该计划旨在开放腾讯在基础平台层面的技术挑战,搭建产学研合作平台,共同推进技术应用落地与创新,并培育优秀人才,每年在5月底左右向学界发布课题合作征集。
2
此外,腾讯云原生数据库内核团队最新研究成果也入选了2021年SIGMOD 研究类长文,题目为“Spitfire:A Three-Tier Buffer Manager for Volatile and Non-Volatile Memory”。
在缓存开始向多层演进的技术趋势下,数据库系统中多级缓存管理成为一个重要的研究问题。论文在DRAM-NVM-SSD存储架构下针对多级缓存管理问题进行了研究,首次提出了多级缓冲管理器Spitfire的概念。Spitfire提出了一种新颖、低代价且有效的热数据识别方法,将热数据页面保持在DRAM缓存中,同时将暖数据保存在NVM中,提升了系统整体性能与性价比。
SIGMOD评审委员会对本文给到了极高的评价:随着商用NVM硬件的出现,数据库如何管理包含NVM的多层级内存缓冲区成为了重要的研究课题。文中阐述的Spitfire是一种在包含DRAM和NVM的数据库系统中管理缓冲区的创新方法。此外,文章还进行了包含NVM硬件的数据库系统架构性价比方面的研究和建议,这些均是此前的研究工作尚未充分涉及到的。该项研究成果与佐治亚理工学院Joy Arulraj教授等作者共同完成,其中Joy Arulraj教授是NVM数据库研究领域的知名学者。
这项成果目前在TDSQL-C(原CynosDB)得到了验证与实现。TDSQL-C(原CynosDB)是腾讯自研云原生关系型数据库,基于全新计算存储分离的分布式数据库架构,融合传统数据库和云计算技术优势,100%兼容MySQL和PostgreSQL,极致计算能力突破千核,存储容量达PB级别,性能和安全性媲美商用数据库,支持集群和Serverless灵活弹性部署,克服传统架构下的存储量受限、扩展难、主从延迟高等缺点,充分释放领先技术的成本效益,最大可节省90%的成本,智能管理和诊断,专为云而生。目前广泛覆盖游戏、电商、移动互联网、云开发等泛互联网业务场景,助力新零售、教育、SaaS、广告等超过4000家行业客户进行数字化升级。
这也是腾讯云数据库的相关研究成果再度登上SIGMOD会议。此前腾讯云原生数据库团队就曾与华中科技大学合作,在SIGMOD19上发布论文 “An End-to-End Automatic Cloud Database Tuning System Using Deep Reinforcement Learning”,实现了基于AI技术的数据库性能调优结果首次全面超越数据库专家。
3
数据库内核技术是数据库的底层技术根基。近年来,腾讯云加大了基础架构领域的前沿技术研究,通过与顶级高校和研究机构“产学研”一体的合作方式,将技术研究成果转换为应用落地,持续输出产品和业务场景。华中科技大学-腾讯公司智能云存储技术联合研究中心是代表之一。
该联合研究中心于2018年成立,以建设一流的智能云存储技术创新和人才培养平台为目标,在数据库自治理、分布式存储技术、高性能存储引擎、业务负载预测等方面开展技术的联合攻关,突破超大规模IaaS服务的诸多技术难题,推动智能数据库和存储技术的科技创新及技术应用落地。截至目前,基于联合实验室平台,双方已经在SIGMOD、DAC、USENIX AIC等国际顶会联合发表21篇高质量论文,联合输出创新技术专利14余项。
腾讯云深耕数据库领域十余年,在开源数据库、自研国产数据库以及云原生数据库等领域都在砥砺前行。不久前,腾讯云将原有的CynosDB、TDSQL、TBase三大产品线将统一升级为“腾讯云企业级分布式数据库TDSQL”,涵盖云原生、分布式、分析型等多引擎融合的完整数据库产品体系。在全新数据库品牌体系下,腾讯云原生数据库将进一步深度融合数据库技术和云计算技术,充分释放领先技术的红利,助力行业发展。