刚刚获悉,在第49届数据库国际顶会VLDB大会上,来自腾讯云TDSQL的2篇论文成功被VLDB 2023收录,创新技术再次被国际顶级会议VLDB认可。
作为数据库领域的三大顶级会议之一,VLDB每届会议都集中展示了当前数据库研究的最前沿方向以及工业界的最新应用,吸引了众多全球顶级科技公司和研究机构的参与。因会议对系统创新性、完整性、实验设计等方面都要求极高,VLDB会议的论文接受率总体较低(约 18%)。
入选论文中,腾讯云与南京大学、苏黎世联邦理工学院(ETH) 合作研发的《Efficient Black-box Checking of Snapshot Isolation in Databases》解决方案,提出了一种新颖的黑盒检查器——PolySI,它能高效地检查快照隔离(Snapshot isolation,SI),并在检测到违规时提供可理解的反例。
快照隔离是一种常见的弱隔离级别,它避免了串行化所带来的性能损失,同时可以防止很多常见的数据异常。然而,某些声称提供快照隔离保证的生产云数据库仍会产生SI数据异常,尤其在金融领域,会造成巨大影响。业界现有同类工具要么不支持快照隔离级别的测试,要么效率较低。鉴于数据库系统的复杂性,以及通常无法获取数据库内部信息的现状,业内亟需一种黑盒快照隔离检查器。
为了解决该问题,我们提出并设计了“PolySI”算法与工具。PolySI的理论基础是基于广义多图(Generalized Polygraphs,GPs)的SI刻画定理,该定理保证了PolySI的正确性与完备性。PolySI采用SMT求解器(MonoSAT),并利用GPs的紧凑约束编码方案以及领域特定优化加速SMT求解。
目前,通过广泛的评估,PolySI成功地重现了已知的SI异常,并在三个生产云数据库中检测到了新的SI异常、提供了可理解的反例。PolySI在多类工作负载下均优于目前最先进的SI黑盒检查器,并能够扩展到大规模工作负载。
据了解,腾讯云与西蒙菲莎大学(Simon Fraser University)联合完成的《Online Schema Evolution is (Almost) Free for Snapshot Databases》论文,则介绍了“Tesseract”,一种新的在线和事务性模式演化方法,主要用于解决数据库在线修改schema过程中存在的挑战。
当前,现代数据库应用经常根据不断变化的需求进行模式更改,数据库在线修改schema的主要优势在于,无需停止数据库服务或中断正在进行的事务,即可进行结构修改,这使得数据库能够在满足动态变化需求的同时,无需停机维护或重新启动数据库。
但诸多问题也随之而来,在现有数据库系统中,支持在线和事务性模式(schema)演化仍然具有挑战性,如数据一致性,在进行结构修改时,为确保数据的一致性,需要使用事务或其他机制来保证数据的完整性和正确性;其次是长时间运行,某些结构修改预计需要较长的时间来完成,特别是对大型数据库或复杂结构的修改,导致对数据库性能产生一定的影响,因此需要在合适的时间窗口进行修改,以最小化对业务的影响。
在以往的解决方案中,通常采用临时方法对模式演化进行“补丁”应用于现有系统,导致许多边缘情况和功能不完整。因此,应用程序通常不得不仔细安排停机时间进行模式更改,从而牺牲可用性。
“Tesseract”的出现则有效避免了上述缺点。在广泛使用的多版本数据库系统中,模式演化可以被建模为改变整个表的数据修改操作,即数据定义即修改(DDaM)。这使得Tesseract可以通过利用并发控制协议几乎“免费”的支持模式。
在Tesseract应用测试中,通过对现有快照隔离协议进行简单调整,在40核服务器上的工作负载下,Tesseract能够提供在线、事务性的模式演化,而无需服务停机,并在模式演化进行时保持高应用性能。
通过参与数据库顶级会议VLDB,腾讯云将数据库领域的最新技术突破及创新方向,同步和全球技术开发者分享,这也为数据库领域的技术和产业发展提供了极有价值的参考案例。未来,腾讯云将继续完善数据库相关的技术、产品和生态能力,为各行各业提供便捷、易用的数据库服务。