Re: [PATCHES] replication docs: split single vs. multi-master - Mailing list pgsql-hackers

From Markus Schiltknecht
Subject Re: [PATCHES] replication docs: split single vs. multi-master
Date
Msg-id 455D6D8B.6090904@bluegap.ch
Whole thread Raw
In response to Re: [PATCHES] replication docs: split single vs.  (Hannu Krosing <hannu@skype.net>)
Responses Re: [PATCHES] replication docs: split single vs.  (Bruce Momjian <bruce@momjian.us>)
List pgsql-hackers
Good morning Hannu,

Hannu Krosing wrote:
> People do that in cases where there is high write loads ("high" as in
> "not 10+ times less than reads") and just replicating the RO copies
> would be prohibitively expensive in either network, cpu or memory terms.

Okay. It that case it's even less like any type of replication.

IMO, Data Partitioning is the most simple method of Load Balancing. It's 
like saying: hey, if your database server is overloaded, simply split 
your data over multiple servers.

Which is not always possible and can lead to other problems. Some of 
which can solved by replication solutions.

> In what way is pgpool multimaster ? last time I looked it did nothing
> but applying DML to several databses. i.e. it is not replication at all,

Please give your definition of replication.

Wikipedia gives us [1]: "Replication refers to the use of redundant 
resources, such as software or hardware components, to improve 
reliability, fault-tolerance, or performance."

Pgpool does that by Query Broadcasting, no?

> or at least it is masterless, unless we think of the pgpool process
> itself as the _single_ master :)

Hm. That's a good point. Pgpool allows to write to only one master (the 
pgpool process) but read from multiple, synchronous masters. I admit 
that makes it a little hard to split into Single- or Multi-Master.

Doesn't Sequoia support multiple Query Broadcasting processes? Would it 
qualify as Multi-Master *Replication*, then?

In an ideal implementation, every Master could broadcast queries to all 
other masters. Thus giving a *real* Multi-Master solution. Postgres-R 
(6.4) did fall back into that mode for transactions which change a lot 
of tuples, so that the writeset didn't exceed a certain size limit.

> I think this gives completely wrong picture of what pgpool does.

As I see it, that's because pgpool is a very limited implementation of 
Query Broadcasting. But pgpool is not the only solution implementing 
that algorithm. Do we want to describe the general algorithm or pgpool here?

Regards

Markus


[1]: Wikipedia about Replication (Computer Science):
http://en.wikipedia.org/wiki/Replication_%28computer_science%29


pgsql-hackers by date:

Previous
From: Markus Schiltknecht
Date:
Subject: Re: [PATCHES] replication docs: split single vs. multi-master
Next
From: Richard Huxton
Date:
Subject: Re: ALTER TABLE RENAME column