
近些年受到国内外许多因素的影响,越来越多的业务开始使用PostgreSQL数据库。复制是保证数据安全的一种常用手段,给正在使用的数据提供了一个热备的副本,当一个副本宕机或丢失,能快速使用另一个进行运作,对业务影响较小。PostgreSQL数据库提供了两种复制方式:物理复制和逻辑复制。很多刚接触数据库的小伙伴,不知道该如何选择。本文将对两种复制方式进行一些介绍。
汪彦舒 | 文
© 中兴数据智能(ZTE-DI)出品

物理复制
物理层面完全一致,这是许多商业数据库的惯用手段。例如Oracle的DG。 延迟低,事务执行过程中产生REDO record,实时的在备库apply,事务结束时,备库立马能见到数据。不论事务多大,都一样。 物理复制的一致性、可靠性达到了金融级的需求,不必担心数据逻辑层面不一致。

数据库实例的部分,例如单个数据库或者某些表的复制需求。 数据到达subcriber后,针对不同数据,设置触发器。 将多个数据库实例的数据,同步到一个目标数据库。例如多个数据库同步到一个大的数据仓库。 在不同的数据库版本之间,复制数据。 将一个数据库实例的不同数据,复制到不同的目标库。 在多个数据库实例之间,共享部分数据。


满足业务上需求,实现某些指定表数据同步。 不同版本的PostgreSQL之间数据同步。 PostgreSQL大版本升级,数据直接同步备份到高版本。 复制providor可以有多个,复制到subcriber之后做数据的聚集和合并等操作。


在金融领域,所有数据都是很重要的,且对一致性要求非常高的场景,建议使用物理复制,低延时、低损耗,贴合业务需求。 在运营商计费业务中,业务数据也是具有上述特征的,建议同上。 在需要使用读写分离的业务场景(读很多、写较少)中,要求主备节点数据差距小,避免发生各节点读不一致的现象,则建议使用物理复制。 在电信网管领域,只有部分数据重要程度较高,需要备份部分数据,那么,建议使用逻辑复制,节省带宽以及subcriber节点的存储。 PostgreSQL大版本升级等复制两侧数据库版本不一致的场景,则只能选择逻辑复制。
http://mysql.taobao.org/monthly/2016/08/02/ https://blog.csdn.net/weixin_39540651/article/details/106122610 https://blog.csdn.net/pg_hgdb/article/details/83650209
* 本文为中兴数据智能原创文章,转载请留言或评论获取授权。

文章转载自中兴数据智能,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




