Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >人大、腾讯数据库联合攻坚交答卷:7项顶会论文突破,成果落地TDSQL产线

人大、腾讯数据库联合攻坚交答卷:7项顶会论文突破,成果落地TDSQL产线

作者头像
腾讯云数据库 TencentDB
发布于 2025-03-29 02:56:49
发布于 2025-03-29 02:56:49
830
举报
近日,中国人民大学与腾讯联合创新实验室召开2025年度会议,集中展示了双方围绕"金融级分布式数据库系统"联合攻关成果——近两年在数据库领域三大国际顶会(VLDB/ICDE/SIGMOD)累计录用7篇前沿论文,部分研究核心技术已深度应用于腾讯云数据库TDSQL产线,在金融、政务等关键领域实现规模化落地。

中国人民大学数据工程与知识工程教育部重点实验室主任杜小勇,中国人民大学信息学院副院长(主持工作)柴云鹏,信息学院陈红教授、陈晋川副教授、卞昊穹老师,数据工程与知识工程教育部重点实验室卢卫教授、张峰教授、李彤副教授,以及腾讯技术管理委员会主任王巨宏,腾讯云数据库TDSQL技术研发总经理潘安群,腾讯高校合作总监刘婷婷出席会议。

中国人民大学三位教授围绕双方联合研究成果带来主题分享,以下是核心研究成果摘要👇

事务处理优化

//并发控制协议优化

针对复杂环境下的数据库事务处理挑战,提出多项关键技术突破。在混合并发控制方面,提出HDCC,通过锁共享机制与全局验证机制融合确定性(Calvin)与非确定性(OCC)并发控制,采用双日志交替恢复技术解决跨机制故障恢复难题,实现单机与分布式场景下5.7倍性能提升,该成果录用于VLDB 2025。

(HDCC架构图)

//跨空间域协议优化

跨地域异构数据源的数据库中间件中,分布式事务因网络延迟和锁竞争时间过长(事务阻塞等待锁)导致性能显著下降。提出延迟感知的地理分布式事务处理方案GeoTP,减少分布式事务的网络往返,通过策略性延迟锁获取,缩短锁竞争跨度,进一步优化调度器策略,最小化锁冲突时长。在YCSB 和 TPC-C 基准测试中,GeoTP对比原生中间件最高实现 17.7 倍性能提升,该成果录用于ICDE 2025。

(GeoTP架构图)

//分布式事务优化

分布式事务因多轮跨节点通信导致性能低下,现有方法(分区迁移或超级节点)存在迁移阻塞、单点瓶颈等缺陷,难以兼顾性能与扩展性。提出 Lion 事务处理协议,结合 LSTM 工作负载预测算法,异步预调整副本位置,动态匹配事务访问模式;通过抢占式、异步的副本位置优化,避免数据迁移阻塞或超级节点瓶颈。对比现有最新协议,Lion吞吐量最高提升 2.7 倍,扩展性优化 76.4%,该成果发表于ICDE 2024。

(Lion架构图)

存储优化

//压缩直接计算优化

针对现有压缩文本处理方案存在支持操作类型有限、处理效率低、空间占用高等局限,难以满足海量文本数据高效管理需求。提出同态压缩理论,构建 HOCO 文本数据管理引擎。通过模块化与面向对象设计,支持多压缩方案的同态扩展,实现压缩域直接处理,覆盖随机访问、修改、分析等多元化文本处理任务,HOCO随机访问与修改吞吐量平均达现有方案 9.18 倍,文本分析任务延迟较未压缩处理降低 7.16 倍,该成果发表于SIGMOD 2024。

(HOCO架构图)

//学习索引优化

现有学习型索引在多核数据存储中面临扩展性瓶颈,存在并发性能受限、统计信息维护成本高、难以适应负载倾斜等问题,制约了其在高性能存储场景的应用。提出 SALI(可扩展自适应学习型索引框架),在动态适配负载倾斜下,优化并发场景下的索引结构演进,提升多核环境下的并行处理能力;在索引内部高效维护数据分布特征,降低元数据管理开销,增强索引扩展性。SALI在64 线程,较当前最先进的学习型索引,插入吞吐量平均提升 2.04 倍,该成果发表于SIGMOD 2024。

(SALI架构图)

会议还对实验室科研工作中表现优异的学生予以表彰,激励更多学子投身数据库研究。未来,双方将持续联合攻坚国产数据库技术,加速成果转化。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-03-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯云数据库 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
面试系列之-java程序死锁排查及预防(JAVA基础)
死锁是一种特定的程序状态,在实体之间,由于循环依赖导致彼此一直处于等待之中,没有任何个体可以继续前进。死锁不仅仅是在线程之间会发生,存在资源独占的进程之间同样也可能出现死锁。通常来说,我们大多是聚焦在多线程场景中的死锁,指两个或多个线程之间,由于互相持有对方需要的锁,而永久处于阻塞的状态;
用户4283147
2023/09/11
3510
面试系列之-java程序死锁排查及预防(JAVA基础)
什么情况下Java程序会产生死锁?如何定位、修复?
死锁只一种特定的程序状态,在实体之间,由于循环依赖导致一直处于等待之中,没有任何个体可以继续前进,死锁不仅仅是线程之间会发生,存在独占的进程之间同样也可能出现死锁,通常来说,我们大多数聚集在多线程场景中的死锁,指的是两个或者多个线程之间,由于相互等待需要对方需要的锁,而永久阻塞的状态。
王小明_HIT
2020/05/08
1.5K0
什么情况下Java程序会产生死锁?如何定位、修复?
深入理解java并发锁
确保线程安全最常见的做法是利用锁机制(Lock、sychronized)来对共享数据做互斥同步,这样在同一个时刻,只有一个线程可以执行某个方法或者某个代码块,那么操作必然是原子性的,线程安全的。
Java宝典
2021/01/14
4280
深入理解java并发锁
Java如何查看死锁?
转载自 https://blog.csdn.net/u014039577/article/details/52351626
allsmallpig
2021/02/25
1.1K0
关于线程死锁问题
死锁是多线程编程里面非常常见的一个问题,作为一个中高级开发者是必须掌握的内容,今天我们来学习一下死锁相关的知识。
我是攻城师
2018/07/23
7430
关于线程死锁问题
【JavaSE专栏79】线程死锁,多个线程被阻塞,等待彼此持有的资源
本文讲解了 Java 中线程死锁的语法和应用场景,并给出了样例代码。线程死锁是指在多线程编程中,两个或多个线程被永久地阻塞,等待彼此持有的资源,而无法继续执行下去。
Designer 小郑
2023/08/18
6470
【JavaSE专栏79】线程死锁,多个线程被阻塞,等待彼此持有的资源
出现线程死锁缺陷一般有那些原因?该怎么解决?
在多线程编程中,线程死锁是一种常见的问题。当多个线程相互等待对方所持有的资源时,会导致线程陷入无法继续执行的状态。本文将介绍线程死锁的原因,并提供一些解决方法,以帮助开发人员避免和解决线程死锁的缺陷。
海拥
2023/06/23
5140
面试官提问:谈谈你对死锁的理解?
在之前的文章中,我们介绍了synchronized同步锁关键字的作用以及相关的用法,它能够保证同一时刻最多只有一个线程执行修饰的代码段,以实现线程安全执行的效果。
Java极客技术
2023/09/22
2520
面试官提问:谈谈你对死锁的理解?
Java并发编程:死锁与活锁的区别,死锁与饥饿的区别?
Java 并发编程中,锁是避免并发冲突的重要机制,但如果使用不当,容易产生死锁和活锁等问题,甚至导致饥饿等高级问题。下面将对死锁、活锁以及饥饿这三个问题进行详细的介绍和区分。
用户1289394
2023/08/22
3190
Java并发编程:死锁与活锁的区别,死锁与饥饿的区别?
多线程知识点总结
Runnable的run方法没有返回值 ; Callable的call方法有返回值 , 需要调用其get方法获取 , 该方法阻塞 ;
是阿超
2021/10/15
6360
多线程之死锁就是这么简单
前言 只有光头才能变强 回顾前面: ThreadLocal就是这么简单 多线程三分钟就可以入个门了! 多线程基础必要知识点!看了学习多线程事半功倍 Java锁机制了解一下 AQS简简单单过一遍 Lock锁子类了解一下 线程池你真不来了解一下吗? 本篇主要是讲解死锁,这是我在多线程的最后一篇了。主要将多线程的基础过一遍,以后有机会再继续深入! 死锁是在多线程中也是比较重要的知识点了! 那么接下来就开始吧,如果文章有错误的地方请大家多多包涵,不吝在评论区指正哦~ 声明:本文使用JDK1.8 一、死锁讲解 在Ja
Java3y
2018/06/11
7203
虚拟机性能监控与故障处理工具
常用的命令行工具主要有 jps、jstat、jinfo、jmap、jhat、jstack。
Li_XiaoJin
2022/06/10
4420
虚拟机性能监控与故障处理工具
死锁与死锁避免算法
死锁(Deadlock)是在多任务环境中的一种资源竞争问题,其中两个或多个进程(线程)互相等待对方持有的资源,导致所有进程都无法继续执行。死锁是一种非常棘手的问题,因为它会导致系统无法正常运行。
恋喵大鲤鱼
2024/02/29
4530
死锁与死锁避免算法
给你的Java程序拍个片子吧:jstack命令解析
如果有一天,你的Java程序长时间停顿,也许是它病了,需要用jstack拍个片子分析分析,才能诊断具体什么病症,是死锁综合征,还是死循环等其他病症,本文我们一起来学习jstack命令~
捡田螺的小男孩
2020/05/17
3K0
内核发生死锁,怎么排查?
死锁指两个或更多进程或线程因相互等待对方释放资源而互相阻塞,从而导致系统中所有的进程或线程都无法继续运行的情况。
董哥聊技术
2023/08/29
7760
内核发生死锁,怎么排查?
【JAVA-Day79】 线程死锁讲解
线程死锁是多线程编程中一种非常棘手的问题,它发生在多个线程互相持有对方所需的资源而无法继续执行的情况下。简单来说,当两个或多个线程彼此持有对方需要的资源,并且等待对方释放资源时,就会发生死锁。
默 语
2024/11/20
700
【JAVA-Day79】 线程死锁讲解
死锁
在多线程问题解决中经常用到锁和条件。但锁和条件不能解决多线程中的所有问题。有两个银行账户:账户1:$200,账号2:$300。现在需要程序进行如下操作:线程1:从账户1转移$300到账户2,从账户2 转移$400到账号1。大家可以想想会发生什么?因为账户1和账户2中的余额全都不足,导致线程1和线程2都无法执行。
程序源代码
2019/03/14
7210
死锁
【Linux】:线程安全 + 死锁问题
🎐 互斥条件:只有对必须互斥使用的资源的争抢才会导致死锁。 如果把只能互斥使用的资源改造为允许共享使用,则系统不会进入死锁状态。比如:SPOOLing 技术。操作系统可以采用 SPOOLing 技术 把独占设备在逻辑上改造成共享设备。比如,用SPOOLing 技术 将打印机改造为共享设备..
IsLand1314
2024/12/21
1360
【Linux】:线程安全 + 死锁问题
Java并发编程系列-(7) Java线程安全
如果多线程下使用这个类,不过多线程如何使用和调度这个类,这个类总是表示出正确的行为,这个类就是线程安全的。
码老思
2023/10/19
2590
Java并发编程系列-(7) Java线程安全
Java线程安全策略与多线程并发最佳实践
不可变对象(Immutable Objects)是指对象一旦被创建它的状态(对象的数据,也即对象属性值)就不能改变,任何对它的改变都应该产生一个新的对象。
全菜工程师小辉
2019/08/16
1.2K0
推荐阅读
相关推荐
面试系列之-java程序死锁排查及预防(JAVA基础)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档