Skip to content

Commit 6346355

Browse files
committed
Wording and term clarification for HA docs, per Markus Schiltknecht.
1 parent 84151d0 commit 6346355

File tree

1 file changed

+24
-22
lines changed

1 file changed

+24
-22
lines changed

doc/src/sgml/high-availability.sgml

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<!-- $PostgreSQL: pgsql/doc/src/sgml/high-availability.sgml,v 1.11 2006/11/22 04:01:40 momjian Exp $ -->
1+
<!-- $PostgreSQL: pgsql/doc/src/sgml/high-availability.sgml,v 1.12 2006/11/22 17:36:52 momjian Exp $ -->
22

33
<chapter id="high-availability">
44
<title>High Availability and Load Balancing</title>
@@ -49,13 +49,13 @@
4949
meaning that a data-modifying transaction is not considered
5050
committed until all servers have committed the transaction. This
5151
guarantees that a failover will not lose any data and that all
52-
load-balanced servers will return consistent results with little
53-
propagation delay. Asynchronous updating has a delay between the
54-
time of commit and its propagation to the other servers, opening
55-
the possibility that some transactions might be lost in the switch
56-
to a backup server, and that load balanced servers might return
57-
slightly stale results. Asynchronous communication is used when
58-
synchronous would be too slow.
52+
load-balanced servers will return consistent results no matter
53+
which server is queried. Asynchronous updating has a delay between
54+
the time of commit and its propagation to the other servers,
55+
opening the possibility that some transactions might be lost in
56+
the switch to a backup server, and that load balanced servers
57+
might return slightly stale results. Asynchronous communication
58+
is used when synchronous would be too slow.
5959
</para>
6060

6161
<para>
@@ -110,7 +110,7 @@ https://forge.continuent.org/pipermail/sequoia/2006-November/004070.html
110110

111111
Oracle RAC is a shared disk approach and just send cache invalidations
112112
to other nodes but not actual data. As the disk is shared, data is
113-
only commited once to disk and there is a distributed locking
113+
only committed once to disk and there is a distributed locking
114114
protocol to make nodes agree on a serializable transactional order.
115115
-->
116116

@@ -178,29 +178,29 @@ protocol to make nodes agree on a serializable transactional order.
178178
using two-phase commit (<xref linkend="sql-prepare-transaction"
179179
endterm="sql-prepare-transaction-title"> and <xref
180180
linkend="sql-commit-prepared" endterm="sql-commit-prepared-title">.
181-
Pgpool is an example of this type of replication.
181+
Pgpool and Sequoia are an example of this type of replication.
182182
</para>
183183
</listitem>
184184
</varlistentry>
185185

186186
<varlistentry>
187-
<term>Synchonous Multi-Master Replication</term>
187+
<term>Synchronous Multi-Master Replication</term>
188188
<listitem>
189189

190190
<para>
191-
In synchonous multi-master replication, each server can accept
191+
In synchronous multi-master replication, each server can accept
192192
write requests, and modified data is transmitted from the
193193
original server to every other server before each transaction
194194
commits. Heavy write activity can cause excessive locking,
195195
leading to poor performance. In fact, write performance is
196196
often worse than that of a single server. Read requests can
197-
be sent to any server. Some implementations use cluster-wide
198-
shared memory or shared disk to reduce the communication
199-
overhead. Clustering is best for mostly read workloads, though
200-
its big advantage is that any server can accept write requests
201-
&mdash; there is no need to partition workloads between master
202-
and slave servers, and because the data changes are sent from
203-
one server to another, there is no problem with non-deterministic
197+
be sent to any server. Some implementations use shared disk
198+
to reduce the communication overhead. Synchronous multi-master
199+
replication is best for mostly read workloads, though its big
200+
advantage is that any server can accept write requests &mdash;
201+
there is no need to partition workloads between master and
202+
slave servers, and because the data changes are sent from one
203+
server to another, there is no problem with non-deterministic
204204
functions like <function>random()</>.
205205
</para>
206206

@@ -222,9 +222,11 @@ protocol to make nodes agree on a serializable transactional order.
222222
<para>
223223
For servers that are not regularly connected, like laptops or
224224
remote servers, keeping data consistent among servers is a
225-
challenge. One simple solution is to allow each server to
226-
modify the data, and have periodic communication compare
227-
databases and ask users to resolve any conflicts.
225+
challenge. Using asynchronous multi-master replication, each
226+
server works independently, and periodically communicates with
227+
the other servers to identify conflicting transactions. The
228+
conflicts can be resolved by users or conflict resolution rules.
229+
rules.
228230
</para>
229231
</listitem>
230232
</varlistentry>

0 commit comments

Comments
 (0)