gpt4 book ai didi

postgresql - BDR 对于生产 Postgres 同步有多好?

转载 作者:行者123 更新时间:2023-11-29 11:23:34 25 4
gpt4 key购买 nike

我有一个系统,其中多个卫星创建金融交易,它们需要与核心服务器同步。卫星是使用本地 Postgres 数据库运行 Rails 应用程序的远程服务器。核心是另一个具有自己的 Postgres 数据库的 Rails 应用程序。卫星和核心具有几乎相同的架构(但不完全相同)。一切都是容器化的(应用程序和数据库)。极少数情况下,核心服务器确实会更新所有卫星都需要的一些数据。目前我有一颗卫星,但这个数字会增长到两颗(我认为在遥远的 future 不会超过 100 颗)。核心和卫星之间不存在顺序或争用问题。核心永远不会更新与任何卫星相同的事务,并且没有卫星会更新与任何其他卫星相同的事务。更好的是,金融交易有一个 uuid 作为主键。

由于这是一个多主机同步问题,所以我很自然地遇到了 BDR。我有以下问题:

  1. BDR 生产是否准备就绪且稳定?我正在阅读有关几种竞争技术(如 Bucardo 和 Londiste)的文章。它真的会成为 Postgres 9.6 的一部分吗?
  2. BDR 可以处理断开连接的模型吗?我认为这种情况不会经常发生,但我的卫星可能会断开连接数小时。
  3. BDR 可以进行选择性同步吗?例如,我只想同步某些表。
  4. BDR 能否处理 100 颗卫星?

最佳答案

Is BDR production ready and stable?

是的,BDR-Postgres 9.4 的 BDR 1.0 已经可以投入生产并且稳定了。但我会说 since I work for 2ndQuadrant, who develop BDR .

不是独立 PostgreSQL 的替代品,您可以在不更改应用程序的情况下使用它。请参阅手册的概述部分。

I’m reading about several competing technologies (like Bucardo and Londiste).

它们都是不同的。不同的取舍。 BDR 手册中对它们进行了一些讨论,但当然,请对此持保留态度,因为我们很难声称自己没有偏见。

Will it really be part of Postgres 9.6?

不,绝对不是。您在哪里看到过这种说法?

将来(但现在还没有)会发布一个扩展,以便在 PostgreSQL 9.6 准备就绪时添加 BDR。但它不会成为 PostgreSQL 9.6 的一部分,而是您安装在其上的东西。

Can BDR handle a disconnected model? I don’t think this will be very often, but my satellites could be disconnected for hours.

是的,它可以很好地处理临时分区和网络中断,但对全局序列有一些警告。详情请参阅手册。

Can BDR do selective syncs?

是的。请参阅复制集手册。

表结构总是被复制的。目前的初始表内容也是如此。但是可以有选择地逐个表地复制表更改。

For example, I’d only want certain tables be sync-ed.

当然可以。

Could BDR handle 100 satellites?

不太好。这是一种网状拓扑结构,希望每颗卫星都能与其他卫星通信。此外,每个节点有 198 个后端(99 个 walsenders + 99 个 apply worker)。不漂亮。

您确实需要一个星型和中心模型,其中每个卫星只与中心通信。 BDR 1.0 不支持它,BDR 2.0 也不支持它。

我认为这是 pglogical 的更好用例或 Londiste。

我真的不能在这里详细介绍,因为它与我参与的商业咨询服务重叠。与我合作的团队为客户设计这样的东西作为 professional service .

关于postgresql - BDR 对于生产 Postgres 同步有多好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41279027/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com