基于异地双中心PostgreSQL数据库的跨中心PG流复制方法技术

技术编号:32856296 阅读:25 留言:0更新日期:2022-03-30 19:27
本发明专利技术涉及基于异地双中心PostgreSQL数据库的跨中心PG流复制方法,与现有技术相比解决了PostgreSQL数据库在频繁写入场景下“WAL写放大”的缺陷。本发明专利技术包括以下步骤:开启PG流复制;数据文件的设置;数据文件的接入。本发明专利技术通过引入UNLOGGED模式表设计解决写入频繁场景下大量WAL日志生成问题,从而降低跨中心远程流复制时网络IO,降低系统RPO时长,并在设计中巧妙通过业务中间表UNLOGGED模式和LOGGED模式复制和转换解决数据一致性问题,避免了UNLOGGED模式表的缺陷。UNLOGGED模式表的缺陷。UNLOGGED模式表的缺陷。

【技术实现步骤摘要】
基于异地双中心PostgreSQL数据库的跨中心PG流复制方法


[0001]本专利技术涉及数据库
,具体来说是基于异地双中心PostgreSQL数据库的跨中心PG流复制方法。

技术介绍

[0002]资产证券化系统每日日终批量时需全量或增量接入上游系统数据,系统实现中通过插入、更新等SQL操作把直接上游数据插入、更新到业务表。由于PostgreSQL在写入频繁的场景中,会产生大量的WAL日志,而且WAL日志量会远远超过实际更新的数据量,这种现象叫做“WAL写放大”。过量的WAL输出会对系统资源造成很大的消耗,对局域网内的复制网络IO还不算问题,但在PostgreSQL异地双中心进行远程流复制时会造成较大时延,导致系统RPO时间过长。
[0003]而在实际应用中,所涉系统需建设异地双中心PostgreSQL数据库主备环境,通过PG流复制同步主中心PostgreSQL数据库数据到备中心PostgreSQL数据库。由于双中心间带宽限制,需尽可能降低系统日终批处理时PG流复制流量。
[0004]因此,如何设计出一种基于异地双中心Po本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于异地双中心PostgreSQL数据库的跨中心PG流复制方法,其特征在于,包括以下步骤:11)开启PG流复制:开启主中心PostgreSQL数据库和备中心PostgreSQL数据库的PG流复制;12)数据文件的设置:使用CREATE UNLOGGED TABLE语法创建UNLOGGED模式落地表INTFASSETBASICINFO,使用CREATE TABLE语法创建LOGGED模式业务表ASSETBASICINFO;13)数据文件的接入:待系统日终批量时,双中心应用均从文件系统下载数据文件,并校验文件完整性。2.根据权利要求1所述的基于异地双中心PostgreSQL数据库的跨中心PG流复制方法,其特征在于,所述数据文件的接入包括以下步骤:21)清空落地表数据:使用TRUNCATE命令清空落地表INTFASSETBASICINFO数据;22)主中心PostgreSQL数据库接入上游文件数据:使用COPY命令导入上游文件数据到落地表INTFASSETBASICINFO,记录表数据量;23)主中心PostgreSQL数据库校验落地表INTFASSETBASICINFO数据量是否和记录上游文件数据量一致;24)主中心PostgreSQL数据库复制UNLOGGED模式业务中间表ASSETBASICINFO_MID:使用CREATE UNLOGGED TABLE AS SELECT*FROM ASSETBASICINFO,表结构和数据与当前业务表ASSETBASICINFO相同;25)主中心PostgreSQL数据库更新落地表数据到业务中间表:通过UPDATE语句更新落地表INTFASSETBASICINFO数据到业务中间表ASSETBASICINFO_MID,并记录更新数据量;26)主中心PostgreSQL数据库插入落地表数据到业务中间表:通过INSERT语句插入落地表INTFASSETBASICINFO新增数据到业务中间表ASSETBASICINFO_MID,并记录插入数据量;27)主中心PostgreSQL数...

【专利技术属性】
技术研发人员:尹留志镇磊孙英家王平一张文彬卫方元卢鹏
申请(专利权)人:安徽兆尹安联科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1