Re: pgpool + BDR, is it possible?

From: Craig Ringer <craig(at)2ndquadrant(dot)com>
To: Ruth Melendo <rmelendo(at)teltronic(dot)es>
Cc: pgsql-admin <pgsql-admin(at)postgresql(dot)org>, psql-general(at)postgresql(dot)org
Subject: Re: pgpool + BDR, is it possible?
Date: 2015-03-17 03:56:53
Message-ID: CAMsr+YHTXDLFzy80MOacv5O8aM09VH_q3V+5mESi1XXvc8b-ng@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin pgsql-general

On 16 March 2015 at 21:48, Ruth Melendo <rmelendo(at)teltronic(dot)es> wrote:

> Hi all,
>
>
>
> ¿Does anybody know if I can use pgpool as a balancer between 2 nodes that
> have BDR master/master configured for replication?
>

It's possible. In most cases I think it's probably going to be a very bad
idea, though.

Most applications cannot just be pointed at multiple nodes and expected to
work properly. BDR doesn't have a global lock manager or global transaction
manager, so anomalies can occur that cannot on a single node. Applications
must take extra steps to avoid them or be tolerant of them.

If you take an app that expects ACID semantics and READ COMMITTED isolation
then, without it knowing, you send some of its transactions to each of two
semi-independent nodes, you're going to get fireworks.

If your goal is write scaling, then it's not likely to do you a great deal
of good anyway, because each node still has to apply the writes from the
other node. So the writes still have to get done, just on another channel.

I'm speaking of the most general case, where I have no idea of what problem
you're trying to solve or what your application is. If you can be more
specific about the problem you're trying to solve by doing this and what
the app does perhaps I can tell you more about whether/how BDR can help
you, and if not point you to other solutions that might.

>
> I have tried also Barman but does not work in logical replication and
> repmgr that does not work master/master.
>

repmgr doesn't understand multi-master and BDR yet, correct.

PgBarman works fine with BDR. It doesn't care that the database(s) it's
backing up are BDR nodes. However you can't just restore a single node - to
do a restore you have to shut the lot down, restore one node, then re-init
new nodes from the one you restored.

--
Craig Ringer http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Ruth Melendo 2015-03-17 07:12:52 Re: [ADMIN] pgpool + BDR, is it possible?
Previous Message om prash jaiswal 2015-03-17 03:42:33

Browse pgsql-general by date

  From Date Subject
Next Message Alvaro Herrera 2015-03-17 03:59:31 Re: How does one make the following psql statement sql-injection resilient?
Previous Message Craig Ringer 2015-03-17 03:43:21 Re: bdr replication latency monitoring