2016-12-22 11 views
5

私は、複数のサテライトが金融取引を作成し、コアサーバーと同期する必要があるシステムを持っています。衛星は、ローカルのPostgresデータベースでRailsアプリケーションを実行するリモートサーバです。コアは独自のPostgresデータベースを持つ別のRailsアプリです。衛星とコアには、ほとんど同じスキーマがあります(ただし、同一ではありません)。すべてがコンテナ化されています(アプリケーションとデータベース)。ごくまれに、コアサーバーはすべてのサテライトに必要なデータを更新します。現在、私は1つの衛星を持っていますが、この数はカップルに成長します(私は遠い将来に100を超えるとは思わない)。コアと衛星の間にシーケンスや競合の問題はありません。コアは、サテライトのいずれかと同じトランザクションを更新することはなく、サテライトは他のサテライトと同じトランザクションを更新しません。さらに、金融取引には主キーとしてuuidがあります。生産PostgresのBDRはどれくらいうまく同期していますか?

これはマルチマスターの同期問題であるため、当然私はBDRに遭遇しました。私は以下の質問をしています:

  1. BDRの製造は安定していますか?私はいくつかの競合技術(BucardoとLondisteのような)について読んでいます。それは本当にPostgres 9.6の一部ですか?
  2. BDRは切断されたモデルを処理できますか?私はこれが非常に頻繁になるとは思わないが、私の衛星は何時間も切断される可能性がある。
  3. BDRは選択同期を実行できますか?たとえば、特定のテーブルを同期させるだけです。
  4. BDRは100個の衛星を処理できますか?
+0

私は1)への答えは明確であると思います。 –

+0

あなたはおそらく2ndQuadrant(https://2ndquadrant.com/en/resources/bdr/)と相談してください。彼らはPostgreSQLの大きなノウハウを持っています。これはかなり大きな仕事であり、かなり敏感に見えます。サポート – JosMac

答えて

7

BDRの製造は安定していますか?

はい、BDR-Postgres 9.4のBDR 1.0は、実稼働環境で安定しています。しかし、私はそれがsince I work for 2ndQuadrant, who develop BDRと言うでしょう。

ではありません。アプリケーションの変更なしに使用できるスタンドアロンPostgreSQLのドロップイン代替品です。マニュアルの概要セクションを参照してください。

私はいくつかの競合技術(BucardoとLondisteなど)について読んでいます。

これらはすべて異なっています。異なるトレードオフ。そこBDRマニュアルでそれらのいくつかの議論がありますが、私たちはほとんど公平であると主張することはできませんので、当然のことながら、塩の粒とそれを取ります。

はそれが本当にのPostgres 9.6の一部になりますか?

いいえ、間違いありません。あなたはその主張をどこで見たことがありますか?

は、将来的には(しかし、あるいない)、それは準備ができたときにはPostgreSQL 9.6に BDRを追加に放出延長があります。しかし、それはの一部ではありませんPostgreSQL 9.6、それは上にインストールするものになるでしょう。

は、BDRは、切断されたモデルを扱うことはできますか?私は、これは非常に頻繁になるとは思わないが、私の衛星は時間のために切断することができます。

はい、一時的なパーティションとネットワークの停止を処理します。グローバルシーケンスの周りにいくつかの警告があります。詳細は、マニュアルを参照してください。

BDRは選択同期を実行できますか?

はい。レプリケーションセットのマニュアルを参照してください。

テーブル構造は常に複製されます。現時点では最初のテーブルの内容があります。しかし、表の変更は、表ごとに選択して複製できます。

たとえば、特定のテーブルを同期させたいだけです。

確かに。

BDRは100個の衛星を処理できますか?

これは、すべての衛星が他のすべての衛星と通信することを期待するメッシュトポロジです。また、1ノードにつき198のバックエンド(99人のwalsenders + 99人の従業員)がいます。綺麗ではない。

実際には、各サテライトがハブとしか話していないスター・アンド・ハブ・モデルが必要です。これはBDR 1.0ではサポートされていませんし、BDR 2.0でのサポート対象でもありません。

pglogicalまたはLondisteの方が適していると思います。

私が関与している商用のコンサルティングサービスと重複しているので、ここで詳しく説明することはできません。顧客のためにこのような設計をするチームは、professional serviceです。

関連する問題