Re: Advice request : simultaneous function/data updates on many databases

From: Alban Hertroys <haramrae(at)gmail(dot)com>
To: Guyren Howe <guyren(at)gmail(dot)com>
Cc: Rory Campbell-Lange <rory(at)campbell-lange(dot)net>, Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>, PG-General Mailing List <pgsql-general(at)postgresql(dot)org>
Subject: Re: Advice request : simultaneous function/data updates on many databases
Date: 2020-03-05 08:17:41
Message-ID: BCA56E26-D00B-46B5-902E-3F6A8B86D7E8@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


> On 4 Mar 2020, at 23:42, Guyren Howe <guyren(at)gmail(dot)com> wrote:
>
> On Mar 4, 2020, at 14:33 , Rory Campbell-Lange <rory(at)campbell-lange(dot)net> wrote:
>>
>> Essentially we wish to reduce the window where the frontend and backend
>> aren't synchronised.
>>
>> If we have (for example) 200 databases which each take 2 seconds to
>> update, a client could be on the wrong frontend code for over 6 minutes.
>> Send each of the servers a PL/PGSQL method that executes all the things in a transaction and then waits until the same clock time to commit. Then all the servers are committing at the same moment. They will still be out of synch somewhat, but this would reduce the degree.

I’m wondering whether this could be done with a more generic event-based approach, where each server sends a ‘done’ event to a central machine once it’s ready to commit, and the central machine returns an ‘acknowledged’ once the last server sent it’s ‘done’ event.
The challenge there is that the ‘ack’ needs to be caught and processed within the same waiting transaction… Not sure how to do that right now - maybe through web services, MQTT or similar.

Alban Hertroys
--
If you can't see the forest for the trees,
cut the trees and you'll find there is no forest.

In response to

Browse pgsql-general by date

  From Date Subject
Next Message stan 2020-03-05 10:59:10 Re: Determining the type of an obkect in plperl
Previous Message Daulat Ram 2020-03-05 07:45:35 Real application clustering in postgres.