PG-RAC:基于PostgreSQL的共享缓存多写事务处理数据库
作者:
作者单位:

作者简介:

通讯作者:

胡卉芪, E-mail: hqhu@dase.ecnu.edu.cn

中图分类号:

基金项目:

国家自然科学基金(No.92270202);上海市自然科学基金(No.23ZR1418300);中兴通讯研究基金(编号HC-CN-20220721010)


PG-RAC: A Multi-Write Transaction Processing Database with Shared Buffer Based on PostgreSQL
Author:
Affiliation:

Fund Project:

  • 摘要
  • |
  • 图/表
  • |
  • 访问统计
  • |
  • 参考文献
  • |
  • 相似文献
  • |
  • 引证文献
  • |
  • 资源附件
  • |
  • 文章评论
    摘要:

    云原生数据库的主流设计采用一主多从架构,集群中从节点可以分担主节点的只读请求,写请求由主节点处理.在此基础上,为了进一步满足大规模交易扩展的需求,一些云数据库尝试实现多写事务扩展.多写扩展的一种实现路径是在计算节点间实现共享缓存,支持跨节点的数据访问.在基于共享缓存的数据库系统中,跨节点远程访问的开销远大于本地访问,因此缓存协议的设计是影响系统性能和可扩展性的关键因素.本文对缓存协议提出了两个创新性改进,并基于PostgreSQL实现了支持多写事务处理的共享缓存数据库PG-RAC.一方面,PG-RAC提出一种新型的分布式链式路由策略,将路由信息分散在各计算节点.相比单点目录管理的路由策略,事务平均延迟降低了约20%.另一方面,本文还改进了副本页失效机制,将失效操作从事务路径分离,减小了事务处理关键路径的延迟.在此基础上,PG-RAC利用多版本并发控制的特性,进一步提出推迟副本页失效时机,有效提高了缓存利用率.TPC-C实验结果显示,在配备4台计算节点的集群中,吞吐率为PostgreSQL的近2倍,为分布式数据库Citus的1.5倍.

    Abstract:

    Single-master is the mainstream architecture of cloud-native databases.For Single-master databases,reads can be spread across the cluster,while updates must be handled by one single master node. To meet the demands of large-scale transaction processing, some of the cloud-native databases attempt to further enable transaction execution across multiple nodes. One possible approach is to introduce shared cache.It enables cross-node data access and leads to a multi-master database based on shared caching. For shared-cache databases,the overhead of remote access is significantly higher than local access.Therefore,coherence protocol is the crucial factor that affects system performance and scalability. In this paper,we present PG-RAC,a multi-master shared-cache database based on PostgreSQL.This paper proposes two novel improvements to the coherence protocol.First,we propose chained routing strategy,which distributes the routing information acorss nodes in cluster. Compared to the routing strategy that utilizes centralized directory ,it reduces the average transaction latency by approximately 20%.Second,PG-RAC enhances the invalidation mechanism. PG-RAC separates invalidation operations from the transaction path, reducing the latency of the critical path in transaction processing. Additionally, based on the features of MVCC,PG-RAC proposes delaying the invalidation point,which effectively improves cache utilization.TPC-C benchmark results show that,for a cluster with 4 compute nodes, the throughput is 2× that of a single-node PostgreSQL and 1.5× that of the distributed database Citus.

    参考文献
    相似文献
    引证文献
引用本文

印钰杰,史浩洋,范自豪,周华辉,刘晟驰,胡卉芪,魏星,陈河堆,屠要峰,蔡鹏,周烜. PG-RAC:基于PostgreSQL的共享缓存多写事务处理数据库.软件学报,2025,36(3):1-19

复制
分享
文章指标
  • 点击次数:
  • 下载次数:
  • HTML阅读次数:
  • 引用次数:
历史
  • 收稿日期:2024-05-27
  • 最后修改日期:2024-08-19
  • 录用日期:
  • 在线发布日期: 2024-09-13
  • 出版日期:
文章二维码
您是第位访问者
版权所有:中国科学院软件研究所 京ICP备05046678号-3
地址:北京市海淀区中关村南四街4号,邮政编码:100190
电话:010-62562563 传真:010-62562533 Email:jos@iscas.ac.cn
技术支持:北京勤云科技发展有限公司

京公网安备 11040202500063号