阿里云飞天发布时刻,领先大模型限免,超7000万 tokens免费体验 了解详情
写点什么

腾讯云数据库凭借这项创新再获顶会认可,论文入选 VLDB2023

  • 2023-09-28
    北京
  • 本文字数:1430 字

    阅读完需:约 5 分钟

大小:790.78K时长:04:29
腾讯云数据库凭借这项创新再获顶会认可,论文入选VLDB2023

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


2023-09-28 14:068706
用户头像
李冬梅 加V:busulishang4668

发布了 1103 篇内容, 共 715.8 次阅读, 收获喜欢 1253 次。

关注

评论

发布
暂无评论
发现更多内容

【Java 强化】单元测试,linux驱动开发入门与实战pdf

Java 程序员 后端

“打工人”都在用的邮件使用规范,springcloud架构源码

Java 程序员 后端

《JVM系列》 第六章 -- 对象的实例化与内存布局

Java 程序员 后端

《Spring实战》读书笔记-第2章 装配Bean,kafka调优面试

Java 程序员 后端

《恋上数据结构第1季》二叉树代码实现,mongodb持久化原理

Java 程序员 后端

《深入理解Java虚拟机 1》Java内存区域与内存分配策略

Java 程序员 后端

《重构 改善既有代码的设计 3》代码的可理解性应该是我们虔诚追求的目标

Java 程序员 后端

《黑马程序员》通讯录管理系统实战,java程序设计实用教程第二版课后题答案

Java 程序员 后端

「Java」几种典型的内存溢出案例,学习linux的书籍

Java 程序员 后端

《零基础》MySQL 管理(三),java程序设计精编教程第三版课后答案

Java 程序员 后端

【2021软件创新实验室暑假集训】SpringBoot框架

Java 程序员 后端

【Java程序员必知必会的90个细节】1,java面试题选择题

Java 程序员 后端

windows下快速安装nginx 并配置 开机自启动,基础+底层+算法+数据库

Java 程序员 后端

[译] 微服务的设计模式,java后端面经

Java 程序员 后端

《菜菜的机器学习sklearn课堂》数据预处理和特征工程

Java 程序员 后端

「一探究竟」迷之序列化,Java性能优化最佳实践

Java 程序员 后端

“我骑着我心爱的小摩托,他又在这里翻车了,mybatisdao接口工作原理

Java 程序员 后端

《零基础》MySQL 连接的使用(二十),mybatis实现分页原理

Java 程序员 后端

【Java8 新特性 3】Supplier简介,springboot面试题

Java 程序员 后端

【Java基础】枚举,nginx源码分析pdf百度网盘

Java 程序员 后端

《深入理解Java虚拟机 3》类加载机制与字节码执行引擎

Java 程序员 后端

【Effective Java】10,javaee架构设计与开发实践

Java 程序员 后端

【Java 多线程 2】Java线程池详解,java多线程面试算法

Java 程序员 后端

zookeeper之java API使用,zookeeper学习

Java 程序员 后端

【Docker 系列】我们来看看容器数据卷到底是个啥

Java 程序员 后端

【Java后端】杭州三面字节,等hr面,虐慌!分享面经和刷过的面试题

Java 程序员 后端

【Java核心面试宝典】Day1,java高级工程师面试宝典

Java 程序员 后端

YYDS,瞬间秒杀全网,这套Java面试笔记可以解决90

Java 程序员 后端

“三次握手,四次挥手,java程序设计教程第三版雍俊海pdf

Java 程序员 后端

《恋上数据结构第1季》B树,java基础案例教程第二版答案

Java 程序员 后端

《码出高效:Java开发手册,java基础编程视频

Java 程序员 后端

腾讯云数据库凭借这项创新再获顶会认可,论文入选VLDB2023_腾讯_李冬梅_InfoQ精选文章