Improve broadcast wording for failover/clustering documentation.
This commit is contained in:
parent
9497454ca6
commit
2b7cef5fb3
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/failover.sgml,v 1.5 2006/11/14 22:25:15 momjian Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/failover.sgml,v 1.6 2006/11/15 01:09:08 momjian Exp $ -->
|
||||||
|
|
||||||
<chapter id="failover">
|
<chapter id="failover">
|
||||||
<title>Failover, Replication, Load Balancing, and Clustering Options</title>
|
<title>Failover, Replication, Load Balancing, and Clustering Options</title>
|
||||||
@ -149,23 +149,25 @@
|
|||||||
<title>Query Broadcast Load Balancing</title>
|
<title>Query Broadcast Load Balancing</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Query broadcast load balancing is accomplished by having a program
|
Query broadcast load balancing is accomplished by having a
|
||||||
intercept every query and send it to all servers. Read-only queries can
|
program intercept every SQL query and send it to all servers.
|
||||||
be sent to a single server because there is no need for all servers to
|
This is unique because most replication solutions have the write
|
||||||
process it. This is unusual because most replication solutions have
|
server propagate its changes to the other servers. With query
|
||||||
each write server propagate its changes to the other servers. With
|
broadcasting, each server operates independently. Read-only
|
||||||
query broadcasting, each server operates independently.
|
queries can be sent to a single server because there is no need
|
||||||
|
for all servers to process it.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Because each server operates independently, functions like
|
One limitation of this solution is that functions like
|
||||||
<function>random()</>, <function>CURRENT_TIMESTAMP</>, and
|
<function>random()</>, <function>CURRENT_TIMESTAMP</>, and
|
||||||
sequences can have different values on different servers. If
|
sequences can have different values on different servers. This
|
||||||
this is unacceptable, applications must query such values from
|
is because each server operates independently, and because SQL
|
||||||
a single server and then use those values in write queries.
|
queries are broadcast (and not actual modified rows). If this
|
||||||
Also, care must also be taken that all transactions either commit
|
is unacceptable, applications must query such values from a
|
||||||
or abort on all servers Pgpool is an example of this type of
|
single server and then use those values in write queries. Also,
|
||||||
replication.
|
care must be taken that all transactions either commit or abort
|
||||||
|
on all servers Pgpool is an example of this type of replication.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
@ -173,14 +175,14 @@
|
|||||||
<title>Clustering For Load Balancing</title>
|
<title>Clustering For Load Balancing</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
In clustering, each server can accept write requests, and these
|
In clustering, each server can accept write requests, and modified
|
||||||
write requests are broadcast from the original server to all
|
data is transmitted from the original server to every other
|
||||||
other servers before each transaction commits. Heavy write
|
server before each transaction commits. Heavy write activity
|
||||||
activity can cause excessive locking, leading to poor performance.
|
can cause excessive locking, leading to poor performance. In
|
||||||
In fact, write performance is often worse than that of a single
|
fact, write performance is often worse than that of a single
|
||||||
server. Read requests can be sent to any server. Clustering
|
server. Read requests can be sent to any server. Clustering
|
||||||
is best for mostly read workloads, though its big advantage is
|
is best for mostly read workloads, though its big advantage is
|
||||||
that any server can accept write requests --- there is no need
|
that any server can accept write requests — there is no need
|
||||||
to partition workloads between read/write and read-only servers.
|
to partition workloads between read/write and read-only servers.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user