Markus Schiltknecht wrote:
> as promised on -docs, here comes my proposal on how to improve the
> replication documentation. The patches are split as follows and have to
> be applied in order:
> Smallest possible one-word change to warm-up...
> Moves down "Clustering For Parallel Query Execution", because
> it's not a replication type, but a feature, see explanation below.
Actually the patch moves down data paritioning. I am confused.
> This is the most important part, splitting all replication types
> into single- and multi-master replication. I'm new to SGML, so
> please bear with me if this is not the right way to do it...
> "Shared-Disk-Failover" does IMO not fall into a replication category.
> Should we mention there, that 'sharing' a disk using NFS or some
> such is not recommended? (And more importantly, does not work as
> a multi-master replication solution)
> I've added a general paragraph describing Single-Master Replication.
> I'm stating that 'Single-Master Replication is always asynchronous'.
> Can anybody think of a counter example? Or a use case for sync
> Single-Master Replication? The argument to put down is: if you go
> sync, why don't you do Multi-Master right away?
> Most of the "Clustering for Load Balancing" text applies to all
> synchronous, Multi-Master Replication algorithms, even to
> "Query Broadcasting". Thus it became the general description
> of Multi-Master Replication. The section "Clustering for
> Load Balancing" has been removed.
I thought a long time about this. I have always liked splitting the
solutions up into single and multi-master, but in doing this
documentation section, I realized that the split isn't all that helpful,
and can be confusing. For example, Slony is clearly single-master, but
what about data partitioning? That is multi-master, in that there is
more than one master, but only one master per data set. And for
multi-master, Oracle RAC is clearly multi master, and I can see pgpool
as multi-master, or as several single-master systems, in that they
operate independently. After much thought, it seems that putting things
into single/multi-master categories just adds more confusion, because
several solutions just aren't clear, or fall into neither, e.g. Shared
Disk Failover. Another issue is that you mentioned heavly locking for
multi-master, when in fact pgpool doesn't do any special inter-server
locking, so it just doesn't apply.
In summary, it just seemed clearer to talk about each item and how it
works, rather than try to categorize them. The categorization just
seems to do more harm than good.
Of course, I might be totally wrong, and am still looking for feedback,
but these are my current thoughts. Feedback?
I didn't mention distributed shared memory as a separate item because I
felt it was an implementation detail of clustering, rather than
something separate. I kept two-phase in the cluster item for the same
Current version at:
Bruce Momjian bruce(at)momjian(dot)us
+ If your life is a hard drive, Christ can be your backup. +
In response to
pgsql-hackers by date
|Next:||From: Casey Duncan||Date: 2006-11-16 18:38:56|
|Subject: Re: statement_timeout|
|Previous:||From: Greg Mitchell||Date: 2006-11-16 18:03:31|
|Subject: Re: Custom Data Type Question|
pgsql-patches by date
|Next:||From: Markus Schiltknecht||Date: 2006-11-16 20:46:51|
|Subject: Re: replication docs: split single vs. multi-master|
|Previous:||From: Simon Riggs||Date: 2006-11-16 18:04:19|
|Subject: Caveat Caveat|