Συμπληρωματικός οδηγός για την εγκατάσταση και ρύθμιση

Υποστήριξη ενημέρωσης σε πολλαπλές θέσεις (διφασική δέσμευση)

Αυτή η ενότητα παρέχει μια επισκόπηση της λειτουργίας ενημέρωσης σε πολλαπλές θέσεις (multisite update) όπως εφαρμόζεται αυτή σε σενάρια που χρησιμοποιούν εξυπηρετητές βάσεων δεδομένων κεντρικού (host) συστήματος ή AS/400. Περιγράφονται τα προϊόντα και οι λειτουργίες που είναι απαραίτητες για την υλοποίηση εφαρμογών για PC, UNIX και το Web οι οποίες ενημερώνουν περισσότερες από μία βάσεις δεδομένων DB2 στην ίδια συναλλαγή.

Η λειτουργία ενημέρωσης σε πολλαπλές θέσεις (multisite update), που είναι επίσης γνωστή ως κατανεμημένη μονάδα εργασίας (DUOW) και διφασική δέσμευση (two-phase commit), είναι μια λειτουργία που δίνει τη δυνατότητα στις εφαρμογές σας να ενημερώνουν δεδομένα σε περισσότερους από έναν απομακρυσμένους εξυπηρετητές βάσεων δεδομένων με εγγυημένη την ακεραιότητά τους. Ένα καλό παράδειγμα της ενημέρωσης σε πολλαπλές θέσεις είναι μια τραπεζική συναλλαγή που πραγματοποιεί μεταφορά χρημάτων από ένα λογαριασμό σε έναν άλλο ο οποίος βρίσκεται σε διαφορετικό εξυπηρετητή βάσης δεδομένων.

Σε μια τέτοια συναλλαγή είναι πολύ σημαντικό οι λειτουργίες ενημέρωσης που εκτελούν χρέωση σε ένα λογαριασμό να μην οριστικοποιηθούν μέχρι να οριστικοποιηθούν και οι λειτουργίες ενημέρωσης που απαιτούνται για την πίστωση του άλλου λογαριασμού. Η λειτουργία ενημέρωσης σε πολλαπλές θέσεις πρέπει να χρησιμοποιείται όταν η διαχείριση των δεδομένων που αντιπροσωπεύουν αυτούς τους λογαριασμούς γίνεται από δύο διαφορετικούς εξυπηρετητές βάσεων δεδομένων.

Τα προϊόντα DB2 παρέχουν εκτεταμένη υποστήριξη ενημέρωσης σε πολλαπλές θέσεις. Αυτή η υποστήριξη είναι διαθέσιμη για εφαρμογές που έχουν δημιουργηθεί με κανονική SQL καθώς και για εφαρμογές που χρησιμοποιούν προϊόντα παρακολούθησης συναλλαγών (TP monitors) που υλοποιούν τις προδιαγραφές X/Open XA. Παραδείγματα τέτοιων προϊόντων παρακολούθησης συναλλαγών είναι τα IBM TxSeries (CICS και Encina), ΙΒΜ Message and Queuing Series, ΙΒΜ Component Broker Series, ΙΒΜ San Francisco Project καθώς και τα Microsoft Transaction Server (MTS), BEA Tuxedo και αρκετά άλλα. Οι προϋποθέσεις εγκατάστασης διαφέρουν ανάλογα με το αν χρησιμοποιείται η εγγενής λειτουργία ενημέρωσης σε πολλαπλές θέσεις της SQL ή η λειτουργία ενημέρωσης σε πολλαπλές θέσεις του προγράμματος παρακολούθησης συναλλαγών (TP monitor).

Και τα δύο προγράμματα ενημέρωσης σε πολλαπλές θέσεις, το εγγενές της SQL και αυτό του προγράμματος παρακολούθησης συναλλαγών (TP monitor) πρέπει να έχουν προμεταγλωττιστεί (precompiled) με τις επιλογές CONNECT 2 SYNCPOINT TWOPHASE. Και τα δύο μπορούν να χρησιμοποιήσουν την πρόταση SQL Connect για να δηλώσουν τη βάση δεδομένων που θα χρησιμοποιηθεί για τις επόμενες προτάσεις SQL. Αν δεν υπάρχει ένα πρόγραμμα παρακολούθησης συναλλαγών (TP monitor) που ενημερώνει τη DB2 ότι πρόκειται να συντονίσει τη συναλλαγή (όπως δηλώνεται όταν η DB2 λαμβάνει κλήσεις xa_open από το πρόγραμμα παρακολούθησης συναλλαγών (TP) για να πραγματοποιήσει σύνδεση με μια βάση δεδομένων), τότε θα χρησιμοποιηθεί το λογισμικό της DB2 για το συντονισμό της συναλλαγής.

Όταν χρησιμοποιείται η λειτουργία ενημέρωσης σε πολλαπλές θέσεις του προγράμματος παρακολούθησης συναλλαγών (TP monitor), η εφαρμογή πρέπει να κάνει αίτηση δέσμευσης (commit) ή αναίρεσης των αλλαγών (rollback) χρησιμοποιώντας το API του προγράμματος παρακολούθησης συναλλαγών (TP monitor), π.χ. CICS SYNCPOINT, Encina Abort(), MTS SetAbort().

Όταν χρησιμοποιείται η εγγενής λειτουργία ενημέρωσης σε πολλαπλές θέσεις της SQL, πρέπει να χρησιμοποιούνται οι κανονικές προτάσεις SQL COMMIT και ROLLBACK.

Η λειτουργία ενημέρωσης σε πολλαπλές θέσεις του προγράμματος παρακολούθησης συναλλαγών (TP monitor) μπορεί να συντονίσει μια συναλλαγή που χρησιμοποιεί προγράμματα διαχείρισης πόρων (resource managers) DB2 ή μη-DB2, όπως Oracle, Informix ή SQLServer. Η εγγενής λειτουργία ενημέρωσης σε πολλαπλές θέσεις της SQL χρησιμοποιείται μόνο για εξυπηρετητές DB2.

Για να λειτουργήσει μια συναλλαγή ενημέρωσης σε πολλαπλές θέσεις, κάθε μία από τις βάσεις δεδομένων που συμμετέχουν στην κατανεμημένη συναλλαγή πρέπει να υποστηρίζει κατανεμημένες μονάδες εργασίας (DUOW). Οι ακόλουθοι εξυπηρετητές DB2 παρέχουν υποστήριξη DUOW που τους δίνει τη δυνατότητα να συμμετέχουν σε κατανεμημένες συναλλαγές:

Μια κατανεμημένη συναλλαγή μπορεί να ενημερώσει οποιονδήποτε συνδυασμό των υποστηριζόμενων εξυπηρετητών βάσεων δεδομένων. Για παράδειγμα, η εφαρμογή σας μπορεί να ενημερώσει διάφορους πίνακες της DB2 Universal Database σε Windows NT ή Windows 2000, μια βάση δεδομένων DB2 for OS/390 και μια βάση δεδομένων DB2/400 σε μία μοναδική συναλλαγή.


[ Αρχή σελίδας | Προηγούμενη σελίδα | Επόμενη σελίδα | Πίνακας περιεχομένων | Ευρετήριο ]