IBM 000-8697 Manuale Utente

Pagina di 702
9-18
IBM Informix OnLine Database Server Administrator’s Guide
Sharing Data by Using IBM Informix STAR
In the transaction shown in
IBM I
nformix
STAR
 must ensure that
all three OnLine database servers implement the same action, either to
commit the transaction or to roll back the transaction. This requirement of
atomicity must be enforced even if a failure occurs at any host machine. If any
OnLine database server (italyfrance, or australia) is unable to commit its
portion of the transaction, this inability must be communicated to a central
coordinator, and all OnLine servers participating in the transaction must be
prevented from committing their work. To manage this complex series of
communications,
IBM I
nformix
STAR
uses a special protocol that coordinates
work performed at multiple database servers on behalf of a single trans-
action. The name of the protocol used to accomplish this is two-phase commit.
(The two-phase commit protocol is described in detail starting on
.)
Multiserver Modification Concepts
To execute the example code shown in
, the current server process
(on italy) contacts both the france OnLine database server and the australia
OnLine database server and requests that the sqlexecd daemon process
spawn a database server process.
In transactions that include multiserver modifications, the two-phase
commit protocol assigns the role of coordinator to the current OnLine server:
in this example, italy. As coordinator, italy routes the transaction work and
tracks it at each OnLine database server that is participating in the trans-
action. Within the two-phase commit protocol, the transaction that is under
the direction of the coordinator is called the global transaction.
The OnLine database servers that are doing work under the direction of the
coordinator are referred to as participants. In this example, the participants are
france
and australia. The work that each participant OnLine database server
performs is considered a piece of work associated with the global transaction.
In this example, the coordinator OnLine, italy, also functions as a participant
because it is also doing a piece of work, which is the update.