首页 > 其他分享 >openGauss 发布订阅

openGauss 发布订阅

时间:2024-03-30 09:48:12浏览次数:32  
标签:订阅 数据库 发布 复制 发布者 openGauss 数据

发布订阅

可获得性

本特性自openGauss 3.0.0版本开始引入。

特性简介

发布订阅基于逻辑复制实现,其中有一个或者更多订阅者订阅一个发布者节点上的一个或者更多发布。订阅者从它们所订阅的发布拉取数据。实现集群间的数据实时同步。

客户价值

发布订阅的典型使用场景是:

  • 在一个数据库或者一个数据库的子集中发生更改时,把增量的改变发送给订阅者。

  • 在更改到达订阅者时引发触发器。

  • 把多个数据库联合到单一数据库中(例如用于分析目的)。

特性描述

发布者上的更改会被实时发送给订阅者。订阅者以与发布者相同的顺序应用那些数据,这样在一个订阅中能够保证发布的事务一致性。这种数据复制的方法有时候也被称为事务性复制。

订阅者数据库的行为与任何其他openGauss实例相同,并且可以被用作其他数据库的发布者,只需要定义它自己的发布。当订阅者被应用当作只读时,单一的订阅中不会有冲突。在另一方面,如果应用或者对相同表集合的订阅者执行了其他的写动作,冲突可能会发生。

特性增强

3.1.0版本对该特性做了以下增强。

  • 支持gs_probackup备份发布端的逻辑复制槽,使得发布端使用gs_probackup备份恢复后复制槽不丢失,保证发布订阅的连接正常。

  • 支持发布订阅同步基础数据。当在创建发布订阅关系之前,发布端的表中已存在数据,这部分基础数据在创建订阅之后会同步到订阅端。

  • 支持以二进制格式发送数据。发布端和订阅端之间传输数据可以使用二进制的格式进行传输,而不是只能使用文本格式进行传输。

  • 支持发布端主备切换不断开。发布端发生主备切换后,订阅端能够自动连接到新的发布端主机,而无需手动修改订阅端的连接信息。

5.1.0版本对该特性做了以下增强。

  • 支持发布订阅冲突自主解决。当订阅端同步数据时遇到主键或唯一键冲突时,数据库通过参数配置进行报错、保留本地或者应用远端。

特性约束

发布订阅基于逻辑复制实现,继承所有逻辑复制的限制,同时发布订阅还有下列额外的限制或者缺失的功能。

  • 数据库模式和DDL命令不会被复制。初始模式可以手工使用gs_dump --schema-only进行拷贝。后续的模式改变需要手工保持同步。

  • 序列数据不被复制。后台由序列支撑的serial或者标识列中的数据当然将被作为表的一部分复制,但是序列本身在订阅者上仍将显示开始值。如果订阅者被用作一个只读数据库,那么这通常不会是什么问题。不过,如果订阅者数据库预期有某种转换或者容错,那么序列需要被更新到最后的值,要么通过从发布者拷贝当前数据的防范(也许使用gs_dump),要么从表本身决定一个足够高的值。

  • 只有表支持复制,包括分区表。试图复制其他类型的关系,例如视图、物化视图或外部表,将会导致错误。

  • 同一数据库内的多个订阅不应当订阅内容重复的发布(指发布相同的表),否则会产生数据重复或者主键冲突。

  • 如果被发布的表中包含不支持btree/hash索引的数据类型(如地理类型等),那么该表需要有主键,才能成功的复制UPDATE/DELETE操作到订阅端。否则复制会失败,同时订阅端会出现“FATAL: could not identify an equality operator for type xx”的日志。

依赖关系

发布订阅依赖逻辑复制功能。

标签:订阅,数据库,发布,复制,发布者,openGauss,数据
From: https://www.cnblogs.com/renxyz/p/18105042

相关文章

  • openGauss 反向迁移gs_replicate
    反向迁移gs_replicate特性简介支持openGauss的增量数据在线迁移至MySQL。客户价值反向迁移是指用户将源端数据库迁移到目标数据库,应用切到目标数据库后,再将目标端新产生的数据迁移回源端。反向迁移可满足用户业务迁移逃生的诉求,保持源端、目标端两个库并行运行,在目标端数据库......
  • openGauss 备机增加删除
    备机增加删除可获得性本特性自openGauss2.0.0版本开始引入。特性简介支持新增和删除备节点。客户价值当主库的读取压力较大,或者用户想要提升数据库灾难恢复能力,需要新增备节点。当集群中的某些备节点发生故障无法短时间内进行修复时,为保证集群状态正常,用户可以先将故障节点......
  • openGauss 动态数据脱敏机制
    动态数据脱敏机制可获得性本特性自openGauss1.1.0版本开始引入。特性简介数据脱敏是行之有效的数据库隐私保护方案之一,可以在一定程度上限制非授权用户对隐私数据的窥探。动态数据脱敏机制是一种通过定制化制定脱敏策略从而实现对隐私数据保护的一种技术,可以有效地在保留原始......
  • openGauss 物理备份
    物理备份可获得性本特性自openGauss1.0.0版本开始引入。特性简介支持将整个数据库的数据以内部格式备份到指定的存储介质中。客户价值通过物理备份特性,可以达成以下目的:整个数据库的数据备份到可靠性更高的存储介质中,提升系统整体的可靠性。通过采用数据库内部的数据格......
  • openGauss 伪列ROWNUM
    伪列ROWNUM可获得性本特性自openGauss1.0.1版本开始引入。特性简介ROWNUM为查询出来的每一行记录生成一个序号,从1开始依次递增且不会重复。客户价值兼容Oracle特性,方便数据库迁移。与LIMIT特性类似,能够筛选出结果集的前n条记录。特性描述ROWNUM(伪列),用于对SQL查询中符......
  • openGauss 物化视图
    物化视图可获得性本特性自openGauss1.1.0版本开始引入。特性简介物化视图实际上就是一种特殊的物理表,物化视图是相对普通视图而言的。普通视图是虚拟表,应用的局限性较大,任何对视图的查询实际上都是转换为对SQL语句的查询,性能并没有实际上提高。而物化视图实际上就是存储SQL所......
  • openGauss 外键锁增强
    外键锁增强可获得性本特性自openGauss3.0.0版本开始引入。特性简介新增两类行锁,由share和update锁扩展到keyshare、share、nokeyupdate和update。非主键的更新获取的是nokeyupdate锁,外键触发器获取的行锁为keyshare锁,这两种类型的锁互不冲突,以此提升了外键锁的并发性。......
  • openGauss 网络通信安全
    网络通信安全可获得性本特性自openGauss1.1.0版本开始引入。特性简介为保护敏感数据在Internet上传输的安全性,openGauss支持通过SSL加密客户端和服务器之间的通讯。客户价值保证客户的客户端与服务器通讯安全。特性描述openGauss支持SSL协议标准。SSL(SecureSocketLayer......
  • openGauss 数据库审计
    数据库审计可获得性本特性自openGauss1.1.0版本开始引入。特性简介审计日志记录用户对数据库的启停、连接、DDL、DML、DCL等操作。客户价值审计日志机制主要增强数据库系统对非法操作的追溯及举证能力。特性描述数据库审计功能对数据库系统的安全性至关重要。数据库安全......
  • openGauss 鲲鹏NUMA架构优化
    鲲鹏NUMA架构优化可获得性本特性自openGauss1.0.0版本开始引入。特性简介鲲鹏NUMA架构优化,主要面向鲲鹏处理器架构特点、ARMv8指令集等,进行相应的系统优化,涉及到操作系统、软件架构、锁并发、日志、原子操作、Cache访问等一系列的多层次优化,从而大幅提升了openGauss数据库在......