postgresql – 用于生产Postgres同步的BDR有多好?

前端之家收集整理的这篇文章主要介绍了postgresql – 用于生产Postgres同步的BDR有多好?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个系统,多个卫星创建金融交易,他们需要与核心服务器同步.卫星是使用本地Postgres数据库运行Rails应用程序的远程服务器.核心是另一个拥有自己的Postgres数据库的Rails应用程序.卫星和核心具有几乎相同的模式(但不完全相同).一切都是集装箱化的(应用程序和数据库).核心服务器很少更新所有卫星所需的数据.目前我有一颗卫星,但这个数字会增长到一对(我认为在遥远的未来不会超过100颗).核心和卫星之间没有序列或争用的问题.核心将永远不会更新与任何卫星相同的交易,并且任何卫星都不会更新与任何其他卫星相同的交易.更好的是,金融交易以uuid为主键.

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

> BDR生产准备好并且稳定吗?我正在阅读几种竞争技术(如Bucardo和Londiste).它真的会成为Postgres 9.6的一部分吗?
> BDR可以处理断开连接的模型吗?我不认为这种情况经常发生,但我的卫星可能会断开几个小时.
> BDR可以进行选择性同步吗?例如,我只想要同步某些表.
> 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?

不,绝对不是.你在哪里看到这个说法?

将来(但尚未)将发布一个扩展,以便在准备就绪时将BDR添加到Postgresql 9.6.但它不会成为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应用工作者).不漂亮.

你真的想要一个星型和集线器模型,每个卫星只与集线器通信.这在BDR 1.0中不受支持,也不是BDR 2.0中的支持目标.

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

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

猜你在找的Postgre SQL相关文章