RE: Multi-master replication - Mailing list pgsql-general

From Laura Smith
Subject RE: Multi-master replication
Date
Msg-id XXPRRPUL2852VEIzfDrMacDJiPQKYLJayTXq6jTycH3jlRuj1NXuYuYXB7HtoBXJUGquP0qv56QX2xb_TQEKRdgOjDj43GtghB_BnWTTH3M=@protonmail.ch
Whole thread Raw
In response to RE: Multi-master replication  (Zahir Lalani <ZahirLalani@oliver.agency>)
Responses RE: Multi-master replication
List pgsql-general
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐

On Friday, August 13th, 2021 at 12:35 PM, Zahir Lalani <ZahirLalani@oliver.agency> wrote:

> Confidential
>
> Thx Laura
>
> So here is the dilemma - everything in the cloud world tends toward horizontal scaling. We do that with PG using
singlemaster and multiple slaves. But we are write heavy and of course the load on the master is quite high. It does
seemthat multi-master has risks (everyone seems to talk about conflict resolution!) so I wonder whether the sensible
routeis simply to scale vertically on the master? 
>


Scaling on the master remains a popular choice these days even in the trendy world of cloud and horizontal scaling.
See,for example Let's Encrypt - admittedly a MySQL/InnoDB infrastructure, but still master/replica -
https://letsencrypt.org/2021/01/21/next-gen-database-servers.html

I suppose (depending on the nature of your data), you could perhaps use sharding, so multiple master/slaves with data
(andhence load) spread across.  Most likely you would need something like Redis at the frontend to push clients in to
theright shard. 

Conflict resolution (whether due to split brain or otherwise) is a big worry of mine with multi-master setups.  The
Googlesand Facebook's of this world seem to be solving the problem on the basis of having super precise time sync setup
ontheir database servers and use high-resolution timestamps to act as tie-break arbitrator.  But of course that comes
withsignificant expense as it needs PTP infrastructure. 



pgsql-general by date:

Previous
From: Vijaykumar Jain
Date:
Subject: Re: Multi-master replication
Next
From: Michael Lewis
Date:
Subject: Re: Partitioning a table by integer value (preferably in place)