近日,InfoQ 获悉,在第 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 能够提供在线、事务性的模式演化,而无需服务停机,并在模式演化进行时保持高应用性能。
评论