Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitca646f6

Browse files
committed
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.
1 parent66eda1c commitca646f6

File tree

1 file changed

+40
-17
lines changed

1 file changed

+40
-17
lines changed

‎doc/src/sgml/high-availability.sgml

Lines changed: 40 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<!-- $PostgreSQL: pgsql/doc/src/sgml/high-availability.sgml,v 1.4 2006/11/20 22:07:56 momjian Exp $ -->
1+
<!-- $PostgreSQL: pgsql/doc/src/sgml/high-availability.sgml,v 1.5 2006/11/21 18:15:45 momjian Exp $ -->
22

33
<chapter id="high-availability">
44
<title>High Availability and Load Balancing</title>
@@ -45,16 +45,17 @@
4545
</para>
4646

4747
<para>
48-
Some failover and load balancing solutions are synchronous, meaning that
49-
a data-modifying transaction is not considered committed until all
50-
servers have committed the transaction. This guarantees that a failover
51-
will not lose any data and that all load-balanced servers will return
52-
consistent results with no propagation delay. Asynchronous updating has
53-
a small delay between the time of commit and its propagation to the
54-
other servers, opening the possibility that some transactions might be
55-
lost in the switch to a backup server, and that load balanced servers
56-
might return slightly stale results. Asynchronous communication is used
57-
when synchronous would be too slow.
48+
Some failover and load balancing solutions are synchronous,
49+
meaning that a data-modifying transaction is not considered
50+
committed until all servers have committed the transaction. This
51+
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.
5859
</para>
5960

6061
<para>
@@ -103,6 +104,16 @@
103104
current, but the mirroring must be done in a way that the
104105
standby server has a consistent copy of the file system.
105106
</para>
107+
108+
<!--
109+
https://forge.continuent.org/pipermail/sequoia/2006-November/004070.html
110+
111+
Oracle RAC is a shared disk approach and just send cache invalidations
112+
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
114+
protocol to make nodes agree on a serializable transactional order.
115+
-->
116+
106117
</listitem>
107118
</varlistentry>
108119

@@ -173,7 +184,7 @@
173184
</varlistentry>
174185

175186
<varlistentry>
176-
<term>Multi-MasterReplication UsingClustering</term>
187+
<term>Multi-Master Clustering</term>
177188
<listitem>
178189

179190
<para>
@@ -192,18 +203,30 @@
192203
</para>
193204

194205
<para>
195-
Clustering is implemented by <productname>Oracle</> in their
196-
<productname><acronym>RAC</></> product. <productname>PostgreSQL</>
197-
does not offer this type of load balancing, though
198-
<productname>PostgreSQL</> two-phase commit (<xref
199-
linkend="sql-prepare-transaction"
206+
<productname>PostgreSQL</> does not offer this type of load
207+
balancing, though <productname>PostgreSQL</> two-phase commit
208+
(<xref linkend="sql-prepare-transaction"
200209
endterm="sql-prepare-transaction-title"> and <xref
201210
linkend="sql-commit-prepared" endterm="sql-commit-prepared-title">)
202211
can be used to implement this in application code or middleware.
203212
</para>
204213
</listitem>
205214
</varlistentry>
206215

216+
<varlistentry>
217+
<term>Multi-Master With Conflict Resolution</term>
218+
<listitem>
219+
220+
<para>
221+
For servers that are not regularly connected, like laptops or
222+
remote servers, keeping data consistent among servers is a
223+
challenge. One simple solution is to allow each server to
224+
modify the data, and have periodic communication compare
225+
databases and ask users to resolve any conflicts.
226+
</para>
227+
</listitem>
228+
</varlistentry>
229+
207230
<varlistentry>
208231
<term>Data Partitioning</term>
209232
<listitem>

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp