Re: Replication

From: Arndt Lehmann <arndt(dot)lehmann(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Replication
Date: 2009-06-23 09:14:43
Message-ID: 7542c2d9-e644-4966-b866-b761257450e0@y6g2000prf.googlegroups.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi Mike

thanks for your interest in rubyrep. I developed rubyrep. Let me
answer your questions.

On Jun 23, 4:16 pm, m(dot)(dot)(dot)(at)kitchenpc(dot)com (Mike Christensen) wrote:
> There will be a set of triggers for each replication. Since MySql doesn't
> support more than one trigger on a table, this approach won't work which I
> guess is their way of saying "We're database independent, as long as you use
> either Postgres or MySql oh and btw we have no replication story above 2
> nodes on MySQL"
The first statement on the rubyrep project website says that rubyrep
provides database independent - currently supporting PostgreSQL and
MySQL - master-master replication [i. e. 2 databases].
That statement is 100% correct.
Regarding multi-master replication (i. e. more than 2 databases) the
according sub page says that it only works for PostgreSQL.
I intended both statements to be very clear and *not* misleading. If
you think they are not, I am interested in hearing your improvement
suggestions.
>
> Also, if database C goes down, then everything goes kaboom, right? Even if
> you did A replicates with B, B replicates with C, if one database goes down
> your chain is broken. I'm worried about this scenario,
Assuming that A replicates with C and C with B then once C goes down,
indeed replication will stop.
However nothing goes "kaboom". All changes in either A or B are still
tracked in the according queue tables. As soon as C comes up again,
all pending changes will be replicated.
If let's say C goes down, then replication between A and B will not be
affected.
Same if A goes down: replication between B and C will continue.
>and any perf
> implications with having a whole bunch of triggers on a table. Maybe
> someone can comment.
The triggers are designed to be as "lean" as possible. Actually all
they do is to add the primary key of a created / modified / deleted
row into the queue table. I don't think that this will cause any
performance impact.
(The actual work is done by the rubyrep process which applies all
changes. That process can be run on a totally different server to
avoid impacting the database server performance.)

Regards,
Arndt

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Arndt Lehmann 2009-06-23 09:21:04 Re: Replication
Previous Message Viktor Rosenfeld 2009-06-23 09:03:18 Re: Graphical representation of query plans