By
separating the transmission of the data for the update from the actual COMMIT
operation, a two-phase commit greatly decreases the possibility of distributed data
losing its integrity.
Youcan compare this approach to a single-phase update in which the COMMIT
command is sent along with the transactional update information. There is no way of
knowing whether the update ever reached all the machines, so any sort of interruption
in the delivery of the update to any of the machines would cause the data to be in
Accessing Multiple Databases As a Single Entity | 309
an inconsistent state. When a transaction involves more than one machine, the possibility
of the loss of an update to one of the machines increases greatly, which, in turn,
mandates the use of the two-phase commit protocol. Of course, since the two-phase
commit protocol requires more messaging to be passed between machines, a two-phase
commit can take longer than a standard commit; however, the corresponding gain in
all-important data integrity more than makes up for the decrease in performance.
Pages:
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672