2024年8月26日,数据库领域国际顶会International Conference on Very Large Data Bases(VLDB 2024)在广州隆重开幕。腾讯云数据库携多个学术与工业联合研究的成果重磅亮相,持续致力于打造产学研用协同创新新范式。
VLDB(International Conference on Very Large Data Bases)是数据库研究领域历史悠久的国际会议,与ICDE和SIGMOD并称数据库三大顶级会议,每年为数据库领域提供大量高质量的研究论文和研究成果,具有重要的学术价值和行业引导意义。今年,是VLDB成立的50周年,也是自2014年在杭州举行后,时隔10年重回中国。现场超过1400多名来自世界各地的研究者齐聚VLDB,组委会表示,本届会议是VLDB史上规模最大的盛会。
近些年,随着新兴技术迅猛发展,各行各业产生的数据量呈爆炸式增长分布式、云原生等多种场景数据库应运而生。与此同时,分布式场景也迎来如何权衡性能与一致性等一系列新的挑战。
今年,腾讯云数据库4篇论文入选国际数据库顶级会议VLDB,多项优化创新方案突破了数据库领域的性能瓶颈数等多项难题,技术创新能力再获国际权威认可。
腾讯云数据库持续通过协同高校推动国产自主可控的数据库技术创新,本次入选论文也是团队分别与中国人民大学、北京大学、北京交通大学、华中科技大学、西蒙·弗雷泽大学的产学研成果,相关成果也转化应用落地,通过腾讯云数据库TDSQL投产应用于各行各业客户,“产学研用”协同创新加速推动了国产数据库行业的发展。
此外,本次VLDB大会期间,腾讯云数据库、腾讯高校合作、腾讯微信等团队还通过犀牛鸟学术研讨会、论文成果分享会、顶会技术趋势解读等活动,搭建“产学研用”交流合作平台,持续助力国产基础技术产学研用协同创新生态建设。
犀牛鸟学术研讨会:“产学研用”协同推动数据库技术变革
“VLDB @WeChat 犀牛鸟·寰宇行”学术研讨会上,腾讯云数据库研发总经理潘安群分享了数据库TDSQL背后的研发实践。他介绍,好的数据库是用出来的,TDSQL诞生自腾讯内部金融级计费业务,历经十余年研发打磨,以及财付通、微众银行、平安银行等内外部海量业务场景验证,得以形成坚实的强一致、高可用、高性能等单一引擎极致化的基础能力,以及随着行业发展,发展了前沿的云原生、混合分析、AI 智能运维等多模态能力。
基础软件的成熟周期长,有规模才能成熟,潘安群表示,腾讯基于自身业务,通过公有云快速迭代,确保私有云交付高质量低成本,实现业务快速发展。而另一方面,腾讯云数据库持续通过协同高校、应用机构联合创新,推动数据库技术发展变革。
在行业最权威的测试基准TPC-C中,TDSQL数据库超越Oracle、DB2等国内外数据库,性能和性价比均位居世界第一;TDSQL也是首个投产于国有大行、股份制银行、城农商行等金融核心系统的国产数据库,目前已推广应用于超过3万家主流金融政务、运营商、工业制造企业。IDC报告显示,2023年TDSQL以 20.6% 的占比,稳居中国金融行业分布式事务型数据库市场份额第一。
潘安群表示,产、学、研、用有效协同创新,才能实现良性的产业生态效应,推动基础技术的长期优质发展;而开源数据库具有成本低、易于定制和技术更新快等优势,是数据库等基础技术实现更高更快发展的重要机会。未来,腾讯TDSQL将加强与国内高校、企业以及开源社区的开放合作,助力打造健全的国产数据库产业生态,促进国产数据库技术与产业发展。
入选论文分享:实践与学术协同的成果
入选论文一
TDSQL: Tencent Distributed Database System
(TDSQL:腾讯分布式数据库管理系统)
近些年,随着新兴技术迅猛发展,各行各业产生的数据量呈爆炸式增长分布式、云原生等多种场景数据库应运而生。与此同时,分布式场景也迎来如何权衡性能与一致性等一系列新的挑战。
“腾讯-中国人民大学联合实验室”联合发表的论文——《TDSQL: Tencent Distributed Database System》中,分享了设计、开发和优化大规模分布式数据库系统TDSQL的经验。在分布式架构上,TDSQL通过大量的实现和优化,包括内核优化、物理复制的实现与优化、分布式锁的优化等,使得TDSQL能在保持一致性的情况下有效处理大量数据和高并发。在去年3月的TPC-C 基准测试中,TDSQL性能达到每分钟 8.14 亿笔交易(tpmC),打破了世界纪录。
图:TPC-C测试集群配置,包括2643 节点 (10万 物理核心, 1500 TB内存)
VLDB评审委员会对本文给到了极高的评价:TDSQL系统具有很高的商用价值且很多应用场景印证,论文讨论非常全面,讨论了构建高性能分布式数据库所涉及的许多方面。在很多方面具有非常有效的创新和性能提高,比如物理复制的实现和优化,部分模块无锁化的实现等。其中TPC-C测试使用超过10万个物理核心的系统部署且8小时长期稳定测试十分令人印象深刻,认为数据库社区会对TPC-C测试的各方面非常感兴趣。
入选论文二
FluidKV: Seamlessly Bridging the Gap between Indexing Performance and Memory-Footprint on Ultra-Fast Storage
(FluidKV:在超快速存储上无缝地弥合索引性能和内存占用之间的差距)
在高性能的键值存储引擎中,高性能索引结构往往需要占用过量内存以换取极高的索引性能。针对这一热门研究课题,腾讯云与华中科技大学合作的最新研究成果《FluidKV: Seamlessly Bridging the Gap between Indexing Performance and Memory-Footprint on Ultra-Fast Storage》中提出了一种兼顾高读写性能和低内存占用的索引机制。
这种基于动态多阶段的索引架构FluidKV,可将索引项从内存占用率高的阶段,快速迁移到内存友好的持久存储阶段,利用高性能存储设备的带宽减轻内存压力。在此基础上,通过匹配IO传输粒度,并根据用户负载读写比例优化缓冲等方式,可以让读写性能保持在最高档位。实验结果显示,对比持久索引的相关工作,FluidKV的读写性能均处于最高一档,同时最多可减少90%的内存占用。
VLDB评审委员会认为:“本文提出了一种新颖的三层索引结构,专为混合 DRAM 和持久性内存设计。设计先进,方案合理。 基于这一设计,作者展示了优于现有系统的可喜成果。”
入选论文三
Efficient and Accurate SimRank-based Similarity Joins: Experiments, Analysis, and Improvement
(高效且准确的基于SimRank的相似性连接:实验、分析与改进)
与北京大学、北京交通大学联合提出了高效且准确的SimRank图节点相似度连接算法的研究。实验表明,该算法较已有方法实现了查询效率近一个数量级的提升。该合作也是“2022年CCF-腾讯犀牛鸟科研基金”入选项目,并获得该年度项目的优秀专利奖。
相似性链接(similarity join)问题,对现有代表性算法进行了算法复杂度、近似误差保证等理论性质和实验效果的分析对比。由于现有算法面向全节点对(all-pair)的SimRank近似计算、top-k查询和阈值查询等多种查询类型存在近似误差保证和实际运行效率层面的不足,该研究基于SimRank与单宿(single-target)个性化PageRank计算的理论等价性,分别提出了带剪枝的随机化反向局部推送算法,以及具有近似精度保证的top-k查询和阈值查询算法框架。本文结合SimRank取值的分布假设,对提出的算法进行了复杂度分析,并阐明了幂律分布等真实图的常见性质对算法复杂度的影响。该研究提出的算法在实际效率层面也较现有方法实现了大幅提升。
该研究针对图数据上经典的SimRank节点相似度连接
VLDB评审委员会认为,该论文对SimRank相似度连接这一重要的节点相似度度量指标提出了具有近似精度保证的算法架构和更低理论复杂度的查询算法,并对已有方法和新算法进行了计算复杂度分析和实验效果对比,有效提升了SimRank计算效率。
入选论文四
The Art of Latency Hiding in Modern Database Engines
(现代数据库引擎中的延迟隐藏艺术)
随着CPU、大内存、高速存储设备的发展,让CPU更多的用于实际的计算任务是高效利用这些新硬件的关键之一。但目前,整个数据库系统中,存在大量的等待事件,会导致CPU“卡住”,即让CPU处于无效的等待状态,造成CPU资源的浪费。
在入选论文《The Art of Latency Hiding in Modern Database Engines》中,腾讯云联合西蒙·弗雷泽大学针对高性能的OLTP处理难题,提出了基于双队列的流水线事务处理机制,可以进一步减少CPU的无效等待,让CPU充分应用于实际的计算任务中。实验表明,在数据量大于内存、混合负载的场景下,该系统可取得33倍的性能提升。
本文的研究成功基于之前Tianzheng Wang团队的研究成功CoroBase,使用了C 20的无栈协程,每个事务对应一个协程。本文基于CoroBase,提出了一种Dual-Queue Transactioin Pipeling的事务处理机制。在系统内部,等待内存访问的事务被放入hot队列,而等待外部存储设备访问的事务被放入cold队列。对于hot队列,系统利用CPU的prefetch机制提前将数据加载到内存中;对于cold队列中的事务,它们在进入等待状态之前,首先会发出异步IO的请求,调度器会在恢复事务执行之前检查异步IO是否已经得到了响应,数据是否已经准备好。这种方法使系统能够高效地同时处理只需访问内存的事务和需要外部存储设备访问的事务。此外,本文提出的系统不再使用redo log flush等后台线程,从而消除了CPU过度订阅和不同线程之间的同步问题,减少了操作系统进程调度的频率,使CPU得到了更充分的利用。
VLDB评审委员会对本文给了高度的评价:本文关注高性能的OLTP处理,但它将使用协程在单线程中以Batch的方式交错执行事务的解决方案扩展到大于内存的数据库和事务。其主要思想是增强协程调度器,使其能够区分仅需要访问内存的事务和需要访问慢速I/O的事务,并允许事务在这两种模式之间切换。实验也充分证明了这一点,该方法避免了等待磁盘I/O或操作系统线程调度带来的开销问题。总体而言,系统能够在饱和高速SSD的同时处理基于磁盘的事务,并维持高吞吐量的内存内事务处理,这是一项非常令人印象深刻的成果。
作为国内数据库行业先行者,腾讯云已经深耕数据库领域十余年,服务超过50万客户,未来,腾讯云将持续深耕实际场景需求,不断探索与攻坚数据库难题,推动数据库领域的学术进步与技术成果转化,助力更多企业实现业务创新与高质量发展。