如何在远程数据中心 (DR) 中的两个 Greeplum 集群之间同步数据

Posted

技术标签:

【中文标题】如何在远程数据中心 (DR) 中的两个 Greeplum 集群之间同步数据【英文标题】:How to sync data between two Greeplum Clusters in remote data centers (DR) 【发布时间】:2021-10-28 11:21:36 【问题描述】:

我的团队正在计划一个 DR 解决方案,我们需要在生产和 DR 站点的 Greenplum Databases 之间同步数据。

我们正在运行 6.4 社区版。所以像gpbackupgprestore 这样的工具不可用。 pg_dumppg_restore 不是一个选项,因为涉及到大量数据集。什么是最适合我们场景的解决方案?

【问题讨论】:

【参考方案1】:

gpbackup 和 gprestore 是 Greenplum 用户通常保持两个集群同步的一种方式。

虽然 gpbackup 和 gprestore 没有随开源 Greenplum 数据库一起提供,但这些工具本身是开源的,可以从他们自己的存储库中免费获得:https://github.com/greenplum-db/gpbackup

由于 Greenplum 跨段分布数据,因此要求 DR 集群包含相同数量的主段才能成功还原(尽管段主机的数量可能不同)。

我们看到 Greenplum 用户实施的一种常见方法是将集群备份到第三方存储系统(NFS、s3 兼容存储等)并从那里恢复到目标/DR 集群。

这里有一个开源 gpbackup_s3_plugin 可用:https://github.com/greenplum-db/gpbackup-s3-plugin

如果您有任何其他问题,请告诉我们。

橡木

【讨论】:

谢谢。我会检查是否可以编译和使用 gpbackup 和 gprestore 实用程序,希望它们的功能类似于企业实用程序。

以上是关于如何在远程数据中心 (DR) 中的两个 Greeplum 集群之间同步数据的主要内容,如果未能解决你的问题,请参考以下文章

DR、BDR、SBR、ASBR等名词的解释和原理????加分!

DR与BDR有啥作用?如何选举?

如何在oracle中将两个更新查询合并为单个更新查询?

删除字符串中的一个单词(或两个空格之间)

如何使用 git diff 比较不在存储库中的两个远程文件?

如何清除 Dr. Racket IDE 中的解释器屏幕?