Re: [BDR] vs pgpool-II v3

From: Tatsuo Ishii <ishii(at)postgresql(dot)org>
To: wayneeseguin(at)gmail(dot)com
Cc: jd(at)commandprompt(dot)com, pgsql-general(at)postgresql(dot)org
Subject: Re: [BDR] vs pgpool-II v3
Date: 2015-08-14 00:47:59
Message-ID: 20150814.094759.1123366156281598289.t-ishii@sraoss.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

For your information, I would like to explain a little bit more about
pgpool-II own replication (we call it "native replication mode" to
separate from streaming replication or slony replication).

In the pgpool-II's native replication mode, for a start pgpool-II
sends the query to "master" PostgreSQL node, which is the first one in
the configuration file. After the PostgreSQL returns response,
pgpool-II sends the query to the second PostgreSQL node. This is to
avoid deadlock between DB nodes. If you have third or fourth DB node,
pgpool-II sends the query concurrently with the second node. So in
theory pgpool-II's performance in DML/DDL is no less than 50%
comparing with single PostgreSQL regardless number of DB nodes.

There's one optimization however. If there's only one concurrent
sessions (i.e. the number pgpool-II preforked child process is 1),
then pgpool-II sends DML/DDL to all the DB nodes at once because
there's no possibilty of deadlock. In this case the DML/DDL
performance is equivalent to single PostgreSQL in theory.

I remember a user deployed inter continental pgpool-II
configuration. If my memory serves, the continentals were Australia
and North America.

Best regards,
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese:http://www.sraoss.co.jp

> The question is specifically about the replication feature mentioned here
> http://www.pgpool.net/mediawiki/index.php/Main_Page for the purposes of
> failing over minimizing downtime.
>
> On Thu, Aug 13, 2015 at 12:28 PM, Joshua D. Drake <jd(at)commandprompt(dot)com>
> wrote:
>
>>
>> On 08/13/2015 08:52 AM, Wayne E. Seguin wrote:
>>
>> "BDR is only one in Beta compare to stable options:
>>>
>>> https://wiki.postgresql.org/wiki/Replication,_Clustering,_and_Connection_Pooling
>>> .
>>> Not sure why this solution would be chosen. Experience with pgpool is
>>> that you only needed to change a port and no SQL changes required on an
>>> application side."
>>>
>>> I appreciate any input as to pros/cons of BDR vs PGPool-II v3 in this
>>>
>>
>> BDR is async multi master. PGPool is largely just a connection pooler with
>> load balancing (although it has other features). They play different sports.
>>
>> JD
>>
>>
>> --
>> Command Prompt, Inc. - http://www.commandprompt.com/ 503-667-4564
>> PostgreSQL Centered full stack support, consulting and development.
>> Announcing "I'm offended" is basically telling the world you can't
>> control your own emotions, so everyone else should do it for you.
>>
>
>
>
> --
> ~Wayne
>
> Wayne E. Seguin
> wayneeseguin(at)gmail(dot)com
> wayneeseguin on irc.freenode.net
> http://twitter.com/wayneeseguin/
> https://github.com/wayneeseguin/

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2015-08-14 00:49:36 Re: First-class Polymorphic joins?
Previous Message Stephen Feyrer 2015-08-14 00:40:48 Re: Foreign Keys as first class citizens at design time?