We had similar database architecture like yours before. Our 4 databases are for sharding purpose. We used Bucardo to replicate from 4 different databases, aggregate them into 1 collector database.
For the 4 databases A,B,C,D, for their auto increment sequence, we set them with different "start with" number, all having fixed "increment by". So they never collide when aggregated into the collector database.
Database A:
currentval("seq_a") = 10
nextval(" seq_a") = 20
Database B:
currentval("seq_a") = 11
nextval("seq_a") = 21
Hope it helps.
The four source/master servers all have different databases, lets call them A, B, C, and D. We'd like to replicate them to one cluster that will hold ABCD databases.
-----Original Message-----
From: pgsql-general-owner@xxxxxxxxxxxxxx [mailto:pgsql-general-owner@xxxxxxxxxxxxxx] On Behalf Of John R Pierce
Sent: Thursday, June 04, 2015 2:46 PM
To: pgsql-general@xxxxxxxxxxxxxx
Subject: Re: replicating many to one
On 6/4/2015 10:07 AM, Doiron, Daniel wrote:
> I have a situation where I need to replicate the databases in 4
> clusters on 4 individual servers to a single cluster on 1 server. So
> far, the best option looks like pgpool statement-based replication,
> the major down side being sequences. Does anyone know a better way to
> achieve this type of replication?
do all of your applications have inherent protection against
collisions? to use an overly simple example, if you have an inventory
table, what happens if two nodes concurrently sell the same last units
of a given SKU ? Or a banking example, whats to prevent concurrent
transactions on distributed servers handing out the same money ?
--
john r pierce, recycling bits in santa cruz
--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
-----Original Message-----
From: pgsql-general-owner@xxxxxxxxxxxxxx [mailto:pgsql-general-owner@xxxxxxxxxxxxxx] On Behalf Of John R Pierce
Sent: Thursday, June 04, 2015 2:46 PM
To: pgsql-general@xxxxxxxxxxxxxx
Subject: Re: replicating many to one
On 6/4/2015 10:07 AM, Doiron, Daniel wrote:
> I have a situation where I need to replicate the databases in 4
> clusters on 4 individual servers to a single cluster on 1 server. So
> far, the best option looks like pgpool statement-based replication,
> the major down side being sequences. Does anyone know a better way to
> achieve this type of replication?
do all of your applications have inherent protection against
collisions? to use an overly simple example, if you have an inventory
table, what happens if two nodes concurrently sell the same last units
of a given SKU ? Or a banking example, whats to prevent concurrent
transactions on distributed servers handing out the same money ?
--
john r pierce, recycling bits in santa cruz
--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general