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

Commitca21417

Browse files
committed
Update failover docs, per suggestions from Chris Browne.
1 parent77f24a4 commitca21417

File tree

1 file changed

+32
-20
lines changed

1 file changed

+32
-20
lines changed

‎doc/src/sgml/failover.sgml

Lines changed: 32 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<!-- $PostgreSQL: pgsql/doc/src/sgml/failover.sgml,v 1.3 2006/10/27 12:40:26 momjian Exp $ -->
1+
<!-- $PostgreSQL: pgsql/doc/src/sgml/failover.sgml,v 1.4 2006/11/14 21:43:00 momjian Exp $ -->
22

33
<chapter id="failover">
44
<title>Failover, Replication, Load Balancing, and Clustering Options</title>
@@ -108,7 +108,7 @@
108108
</para>
109109

110110
<para>
111-
Slony is an example of this type of replication, with per-table
111+
Slony-I is an example of this type of replication, with per-table
112112
granularity. It updates the backup server in batches, so the replication
113113
is asynchronous and might lose data during a fail over.
114114
</para>
@@ -138,8 +138,8 @@
138138

139139
<para>
140140
Data partitioning is usually handled by application code, though rules
141-
and triggers can be used to keep the read-only data sets current. Slony
142-
can also be used in such a setup. While Slony replicates only entire
141+
and triggers can be used to keep the read-only data sets current. Slony-I
142+
can also be used in such a setup. While Slony-I replicates only entire
143143
tables, London and Paris can be placed in separate tables, and
144144
inheritance can be used to access both tables using a single table name.
145145
</para>
@@ -158,11 +158,13 @@
158158
</para>
159159

160160
<para>
161-
This can be complex to set up because functions like random()
162-
and CURRENT_TIMESTAMP will have different values on different
163-
servers, and sequences should be consistent across servers.
164-
Care must also be taken that all transactions either commit or
165-
abort on all servers Pgpool is an example of this type of
161+
Because each server operates independently, functions like
162+
<function>random()</>, <function>CURRENT_TIMESTAMP</>, and
163+
sequences can have different values on different servers. If
164+
this is unacceptable, applications must query such values from
165+
a single server and then use those values in write queries.
166+
Also, care must also be taken that all transactions either commit
167+
or abort on all servers Pgpool is an example of this type of
166168
replication.
167169
</para>
168170
</sect1>
@@ -173,26 +175,36 @@
173175
<para>
174176
In clustering, each server can accept write requests, and these
175177
write requests are broadcast from the original server to all
176-
other servers before each transaction commits. Under heavy
177-
load, this can cause excessive locking and performance degradation.
178-
It is implemented by <productname>Oracle</> in their
178+
other servers before each transaction commits. Heavy write
179+
activity can cause excessive locking, leading to poor performance.
180+
In fact, write performance is often worse than that of a single
181+
server. Read requests can be sent to any server. Clustering
182+
is best for mostly read workloads, though its big advantage is
183+
that any server can accept write requests --- there is no need
184+
to partition workloads between read/write and read-only servers.
185+
</para>
186+
187+
<para>
188+
Clustering is implemented by <productname>Oracle</> in their
179189
<productname><acronym>RAC</></> product. <productname>PostgreSQL</>
180190
does not offer this type of load balancing, though
181-
<productname>PostgreSQL</> two-phase commit can be used to
182-
implement this in application code or middleware.
191+
<productname>PostgreSQL</> two-phase commit (<xref
192+
linkend="sql-prepare-transaction-title"> and <xref linkend=
193+
"sql-commit-prepared-title">) can be used to implement this in
194+
application code or middleware.
183195
</para>
184196
</sect1>
185197

186198
<sect1 id="clustering-for-parallel-query-execution">
187199
<title>Clustering For Parallel Query Execution</title>
188200

189201
<para>
190-
This allows multiple servers to work on a single query. One
191-
possible way this could work is for the data to be split among
192-
servers and for each server to execute its part of the query
193-
and results sent to a central server to be combined and returned
194-
to the user. There currently is no <productname>PostgreSQL</>
195-
open source solution for this.
202+
This allows multiple servers to workconcurrentlyon a single
203+
query. Onepossible way this could work is for the data to be
204+
split amongservers and for each server to execute its part of
205+
the queryand results sent to a central server to be combined
206+
and returnedto the user. There currently is no
207+
<productname>PostgreSQL</>open source solution for this.
196208
</para>
197209
</sect1>
198210

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp