From: | Greg Smith <greg(at)2ndquadrant(dot)com> |
---|---|
To: | Ivan Voras <ivoras(at)freebsd(dot)org> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Upcoming hot standby replication question |
Date: | 2010-04-09 18:05:38 |
Message-ID: | 4BBF6C72.5080708@2ndquadrant.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Ivan Voras wrote:
> Ok, but I imagine there should be a difference between COMMITs
> returning before or after the actual data is sent over the network
> (though admittedly socket buffering could make it hard to
> distinguish).
>
To be clear here: there is no direct connection whatsoever between the
clients doing commits and the transmission to the standby in 9.0. They
are completely decoupled from one another, done by separate processes.
The client doing the commit has no idea what's the WAL sender process
will do later in order to replicate its results.
> In addition to that, how about a compromise: COMMITs returning when
> the remote side ACKs acceptance but before it passes data to storage
>
This is what's referred to as semi-synchronous replication, a term
popularized by its implementation in MySQL:
http://code.google.com/p/google-mysql-tools/wiki/SemiSyncReplicationDesign
http://dev.mysql.com/doc/refman/5.5/en/replication-semisync.html
The planned design for PostgreSQL 9.1:
http://wiki.postgresql.org/wiki/Streaming_Replication
Breaks the possibilities down into four levels:
async: Current model, never wait for the standby
recv: Wait for the standby to receive the data into memory (AKA
semi-synchronous)
fsync: The standby must have committed the data to disk such that it
won't be lost in case of a crash (AKA synchronous)
apply: That data must actually be fully processed and available for
queries against the standby
--
Greg Smith 2ndQuadrant US Baltimore, MD
PostgreSQL Training, Services and Support
greg(at)2ndQuadrant(dot)com www.2ndQuadrant.us
From | Date | Subject | |
---|---|---|---|
Next Message | Sam Mason | 2010-04-09 21:03:19 | Re: Can not connect remotely |
Previous Message | Rodrigo Gonzalez | 2010-04-09 17:20:04 | Re: Can not connect remotely |