cdc工具 postgresql_PostgreSQL逻辑解码实践(一)

前言
cf610aab77193d857e13761403d9dc73.png

在日常运维过程中,我们经常需要对数据进行一些同步处理,从系统 A将一个表的数据同步到系统 B。以前我们主要使用 Oracle GoldenGate,后来 MySQL逐渐增多,使用上了分布式,阿里的 otter也开始部分使用。近来我们陆续大量上了 PostgreSQL数据库,对 PG使用较多的 CDC同步工具是 debezium,它使用 PostgreSQL逻辑解码插件,今天我们将介绍一下它的一些基本知识。

逻辑解码的概念

PostgreSQL在9.4后提供了逻辑解码功能,其基本原理是从 WAL日志解码,跟踪所有 DML (INSERT, UPDATE, DELETE)更改。之后转换成各种可用的格式,比如 Json。最终发送给外部程序进行消费(例如 ElasticSearch)。下图显示了整个流程的前半部分(解码输出):

87ead5075ca00e711c7aaed63d28472b.png

对于逻辑解码插件,主要有以下几类。按照格式来分主要有

  • JSON format plugins
  • Protobuf Format Plugins
  • Avro Format Plugins
  • SQL Format Plugins
  • Miscellaneous Plugins

具体可以参考Wiki上的Logical Decoding Plugins

尽管如此,我还是先浏览了每一个项目,发现许多项目都停止了更新。仍在更新的主要是下面的几个:

wal2json

Postgres Decoderbufs

pglogical

wal2mongo

wal2json逻辑解码测试

为了能使用逻辑解码,需要先安装wal2json插件。

[postgres@centos8 ~]$ git clone https://github.com/eulerto/wal2json.git

cd wal2json/
export PGHOME=/d
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值