Skip site navigation (1) Skip section navigation (2)

Re: replication docs: split single vs. multi-master

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Markus Schiltknecht <markus(at)bluegap(dot)ch>
Cc: pgsql-patches(at)postgresql(dot)org
Subject: Re: replication docs: split single vs. multi-master
Date: 2006-11-16 18:35:04
Message-ID: 200611161835.kAGIZ4t21504@momjian.us (view raw or flat)
Thread:
Lists: pgsql-hackerspgsql-patches
Markus Schiltknecht wrote:
> Hi,
> 
> 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:
> 
> replication_doku_1.diff:
> 
>    Smallest possible one-word change to warm-up...

Done.

> 
> 
> replication_doku_2.diff:
> 
>    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.

> replication_doku_3.diff:
> 
>    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
reason.

Current version at:

	http://momjian.us/main/writings/pgsql/sgml/failover.html

-- 
  Bruce Momjian   bruce(at)momjian(dot)us
  EnterpriseDB    http://www.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

In response to

Responses

pgsql-hackers by date

Next:From: Casey DuncanDate: 2006-11-16 18:38:56
Subject: Re: statement_timeout
Previous:From: Greg MitchellDate: 2006-11-16 18:03:31
Subject: Re: Custom Data Type Question

pgsql-patches by date

Next:From: Markus SchiltknechtDate: 2006-11-16 20:46:51
Subject: Re: replication docs: split single vs. multi-master
Previous:From: Simon RiggsDate: 2006-11-16 18:04:19
Subject: Caveat Caveat

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group