什么是pglogical-功能优点原理与使用场景

时间:2021-02-26 16:04:19

pglogical

v2 - PostgreSQL的新一代逻辑复制! 

pglogical是一个完全作为PostgreSQL扩展实现的逻辑复制系统。完全集成,它不需要触发器或外部程序。这种物理复制的替代方法是使用发布/订阅模型复制数据以进行选择性复制的一种高效方法。

pglogical 2有哪些新功能?

pglogical 2.2版本带来了新功能,可以用于更多的使用案例,以及下面列出的几个错误修复和改进:

  • 支持PG 10
  • 与pglogical 1.x提供程序的兼容性得到改进
  • 改进了错误报告
  • 源端进行行筛选
  • 源端进行列筛选
  • 延迟复制
  • MS Windows支持(仅限源代码)
  • 能够将物理备用数据转换为逻辑复制
  • 可以将PostgreSQL的数据发布到Postgres-XL目标端
  • 大型INSERT / COPY事务的复制性能大大提高
  • 改进的内存管理。

有关更全面的列表,请参阅  发行说明

pglogical场景

下面的图表描述了数据库管理员能够使用pglogical执行的功能。

迁移和升级 

以几乎为零的停机时间迁移和升级PostgreSQL

什么是pglogical-功能优点原理与使用场景

累加 

将来自分片数据库服务器的更改累积到数据仓库中

什么是pglogical-功能优点原理与使用场景

向外扩展 

将全部或选定的数据库表复制到集群中的其他节点

什么是pglogical-功能优点原理与使用场景

整合

将数据库实时变化应用到其他系统

什么是pglogical-功能优点原理与使用场景

可用性

(发布pglogical 2.2 - 2018年3月20日)

pglogical可用于PostgreSQL 9.4 - 10.它可以通过2ndQuadrant的apt和yum软件库用于Debian和Red Hat系列(RHEL,CentOS和Fedora)。您可以使用标准的apt和yum软件包管理器来与您的PostgreSQL实例一起安装pglogical。

详细的安装说明可在此处获得。 

发行说明可在此处获得。 

你也可以访问  pglogical的github仓库。 

pglogical是完全开源的,在PostgreSQL许可证下发布,版权由PostgreSQL开发小组授权。 

pglogical提供了什么好处?

  • 同步复制
  • 延迟复制
  • 可配置冲突解决方案
  • 能够将物理备用数据转换为逻辑复制
  • 可以将PostgreSQL的数据发布到Postgres-XL目标端
  • 序列可以被复制
  • 没有触发器意味着减少源端的写入负载
  • 不重新执行SQL意味着降低了目标端服务器的开销和延迟
  • 目标端未处于热备份恢复状态,因此您可以使用临时表,无日志的表或普通表
  • 无需取消查询以允许副本继续重演
  • 目标端可以有不同的用户和安全性,不同的索引,不同的参数设置
  • 仅复制一个数据库或或包含一些表的集合
  • 支持的PostgreSQL版本或体系结构中复制,允许低或零宕机升
  • 将多个上游服务器集成到单个目标端中以实现更改累积

pglogical如何工作?

pglogical利用了由2ndQuadrant添加的逻辑解码功能(自PostgreSQL 9.4开始可用)。PostgreSQL 9.5及更新版本的pglogical工作速度更快,源端和目标端的开销都较低。

pglogical在很大程度上依赖BDR开发引入的一部分功能,其中包括:

  • 逻辑解码
  • 复制槽
  • 静态后台工作
  • 复制起点
  • 提交时间戳
  • 逻辑WAL消息





翻译自:https://www.2ndquadrant.com/en/resources/pglogical/
By
徐云鹤