From: Bruce Momjian Date: Tue, 21 Nov 2006 18:15:45 +0000 (+0000) Subject: In HA/load balancing does: X-Git-Tag: REL8_2_RC1~48 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ca646f66f715ab05f464c3b0792e7772c4108c05;p=postgresql In HA/load balancing does: Clarify sync/async replication propogation delay issues. Add SGML comment about Oracle RAC and remove doc mention. Add item about Multi-master replication with conflict resolution. --- diff --git a/doc/src/sgml/high-availability.sgml b/doc/src/sgml/high-availability.sgml index 185b77b04c..d3ef45944f 100644 --- a/doc/src/sgml/high-availability.sgml +++ b/doc/src/sgml/high-availability.sgml @@ -1,4 +1,4 @@ - + High Availability and Load Balancing @@ -45,16 +45,17 @@ - Some failover and load balancing solutions are synchronous, meaning that - a data-modifying transaction is not considered committed until all - servers have committed the transaction. This guarantees that a failover - will not lose any data and that all load-balanced servers will return - consistent results with no propagation delay. Asynchronous updating has - a small delay between the time of commit and its propagation to the - other servers, opening the possibility that some transactions might be - lost in the switch to a backup server, and that load balanced servers - might return slightly stale results. Asynchronous communication is used - when synchronous would be too slow. + Some failover and load balancing solutions are synchronous, + meaning that a data-modifying transaction is not considered + committed until all servers have committed the transaction. This + guarantees that a failover will not lose any data and that all + load-balanced servers will return consistent results with little + propagation delay. Asynchronous updating has a delay between the + time of commit and its propagation to the other servers, opening + the possibility that some transactions might be lost in the switch + to a backup server, and that load balanced servers might return + slightly stale results. Asynchronous communication is used when + synchronous would be too slow. @@ -103,6 +104,16 @@ current, but the mirroring must be done in a way that the standby server has a consistent copy of the file system. + + + @@ -173,7 +184,7 @@ - Multi-Master Replication Using Clustering + Multi-Master Clustering @@ -192,11 +203,9 @@ - Clustering is implemented by Oracle in their - RAC product. PostgreSQL - does not offer this type of load balancing, though - PostgreSQL two-phase commit (PostgreSQL does not offer this type of load + balancing, though PostgreSQL two-phase commit + ( and ) can be used to implement this in application code or middleware. @@ -204,6 +213,20 @@ + + Multi-Master With Conflict Resolution + + + + For servers that are not regularly connected, like laptops or + remote servers, keeping data consistent among servers is a + challenge. One simple solution is to allow each server to + modify the data, and have periodic communication compare + databases and ask users to resolve any conflicts. + + + + Data Partitioning