Συστήματα επεξεργασίας συναλλαγών

Ένα σύστημα επεξεργασίας συναλλαγών αποτελεί ένα τύπο πληροφοριακού συστήματος. Τα συστήματα επεξεργασίας συναλλαγών συλλέγουν, αποθηκεύουν, τροποποιούν και ανακτούν τις συναλλαγές ενός οργανισμού.
Μια συναλλαγή είναι ένα γεγονός που δημιουργεί και τροποποιεί δεδομένα, τα οποία αποθηκεύονται τελικά σε ένα πληροφοριακό σύστημα. Για να θεωρηθεί επαρκές ένα σύστημα επεξεργασίας συναλλαγών θα πρέπει να πληροί τις προϋποθέσεις των κριτηρίων ACID. Η ουσία ενός λογισμικού συναλλαγών είναι ότι διαχειρίζεται δεδομένα, τα οποία πρέπει να αφεθούν σε μία "συνεκτική κατάσταση" (consistent state). Για παράδειγμα, εάν γίνεται μια ηλεκτρονική πληρωμή, το ποσό θα πρέπει ταυτόχρονα να αποσύρεται από τον ένα λογαριασμό και να προστίθεται στον άλλον - δε μπορεί να ολοκληρωθεί μόνο το ένα από αυτά βήματα, πρέπει είτε και τα δύο να υφίστανται, είτε κανένα. Σε περίπτωση αποτυχίας της ολοκλήρωσης μιας συναλλαγής, η μερικώς εκτελεσμένη συναλλαγή πρέπει να ακυρωθεί από το σύστημα επεξεργασίας συναλλαγών. Αυτή η "ακεραιότητα" πρέπει προφανώς να παρέχεται και για την επεξεργασία δέσμης συναλλαγών. Και είναι βέβαια ιδιαίτερα σημαντική για τις συναλλαγές στο διαδίκτυο. Για παράδειγμα, εάν το σύστημα κράτησης αεροπορικών θέσεων χρησιμοποείται από πολλά γραφεία ταξιδίων, μετά την αναζήτηση μιας θέσης, τα δεδομένα κράτησης της πρέπει να κλειδώνονται μέχρι η κράτηση αυτή να γίνει, διαφορετικά κάποιος άλλος χρήστης μπορεί να έχει την εντύπωση ότι η θέση εξακολουθεί να είναι ελεύθερη, ενώ στην πραγματικότητα αυτή έχει δεσμευτεί εκείνη τη στιγμή. Χωρίς την κατάλληλη παρακολούθηση της συναλλαγής, μπορούν να προκύψουν διπλές κρατήσεις. Άλλες λειτουργίες παρακολούθησης συναλλαγών συμπεριλαμβάνουν ανίχνευση και άρση "αδιέξοδου" (τα αδιέξοδα μπορούν να είναι αναπόφευκτα σε ορισμένες περιπτώσεις αλληλεξαρτώμενων δεδομένων) και χρήση μεθόδων "ημερολογίου συναλλαγών"...
Η επεξεργασία των συναλλαγών δεν γίνεται μόνον από τις αντίστοιχες εφαρμογές. Το «ημερολογιακό σύστημα αρχείων» που εμπεριέχεται στο λειτουργικά συστήματα AIX UNIX της IBM, χρησιμοποιεί παρόμοιες τεχνικές για να διατηρήσει την ακεραιότητα του συστήματος αρχειοθέτησης, συμπεριλαμβανομένου ενός "ημερολογίου γεγονότων".

Επεξεργασία δέσμης

Η επεξεργασία δέσμης (batch processing) είναι μια μορφή επεξεργασίας συναλλαγών. Η επεξεργασία δέσμης εμπεριέχει την επεξεργασία πολλαπλών συναλλαγών ταυτόχρονα. Τα αποτελέσματα από κάθε συναλλαγή δεν είναι αμέσως διαθέσιμα όταν εισάγεται η συναλλαγή, υπάρχει μία χρονική καθυστέρηση. Οι συναλλαγές συγκεντρώνονται στη διάρκεια μιας περιόδου  (ας πούμε μιας ημέρας) και οι αντίστοιχες ενημερώσεις γίνονται μετά το πέρας της εργάσιμης ημέρας.

Άμεση ανταπόκριση

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

Αξιοπιστία

Πολλοί οργανισμοί εξαρτώνται σε μεγάλο βαθμό από τα συστήματα της επεξεργασίας συναλλαγών. Μία βλάβη θα διακόψει λειτουργίες ή μπορεί ακόμη να σταματήσει την επιχείρηση. Για να είναι ένα σύστημα επεξεργασίας συναλλαγών αποτελεσματικό, πρέπει το ποσοστό αποτυχίας του να είναι πάρα πολύ χαμηλό. Αν ένα σύστημα επεξεργασίας συναλλαγών αστοχήσει, θα πρέπει να είναι δυνατή μια γρήγορη και ακριβής επιστροφή σε καθεστώς λειτουργίας (recovery). Αυτό κάνει απαραίτητο τον καλό σχεδιασμό και της δημιουργίας αντιγράφων ασφαλείας (back up) και των διαδικασιών ανάκτησης της προηγούμενης κατάστασης.

Σταθερότητα

Ένα σύστημα επεξεργασίας συναλλαγών θέλει κάθε συναλλαγή να γίνεται αντικείμενο επεξεργασίας με τον ίδιο τρόπο, ανεξάρτητα από τον χρήστη του συστήματος, τον πελάτη ή τη χρονική στιγμή. Αν τα  συστήματα επεξεργασίας συναλλαγών ήταν "ευέλικτα", θα άφηναν δυνατότητες για όχι προτυποιημένες λειτουργίες. Για παράδειγμα, μια εμπορική αεροπορική εταιρεία πρέπει να δέχεται συνεχώς κρατήσεις αεροπορικών θέσεων από μία σειρά από ταξιδιωτικούς πράκτορες. Το να δέχεται διαφορετικά δεδομένα συναλλαγής από διαφορετικούς ταξιδιωτικούς πράκτορες θα ήταν ένα πρόβλημα.

Ελεγχόμενη επεξεργασία

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

Ατομικότητα

Οι αλλαγές στην κατάσταση μίας συναλλαγής είναι "ατομικές", είτε συμβαίνουν όλες, είτε δεν συμβαίνει καμία. Αυτές οι αλλαγές συμπεριλαμβάνουν αλλαγές στη βάση δεδομένων, μηνύματα και δράσεις μετατροπέων.

Συνοχή

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

Απομόνωση

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

Μονιμότητα

Όταν μία συναλλαγή ολοκληρωθεί επιτυχημένα, η "κατάστασή" (state) που διαμορφώνεται "επιβιώνει" σε όλες τις μετέπειτα περιπτώσεις αστοχίας του συστήματος.

Συγχρονισμός

Εξασφαλίζει ότι δεν μπορούν δύο χρήστες να αλλάζουν τα ίδια δεδομένα την ίδια στιγμή. Αυτό σημαίνει ότι δεν μπορεί ένας χρήστης να αλλάξει ένα τμήμα δεδομένων, πριν ο άλλος χρήστης τελειώσει με αυτό. Για παράδειγμα, εάν ένας ταξιδιωτικός πράκτορας ξεκινήσει τη διαδικασία δέσμευσης της τελευταίας θέσης σε μια αεροπορική πτήση, τότε κάποιος άλλος πράκτορας δε μπορεί να πει σε κάποιον άλλο επιβάτη ότι υπάρχει διαθέσιμη θέση σε αυτή την πτήση.

Αποθήκευση και ανάκτηση

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

Διαδικασίες δημιουργίας αντιγράφων ασφαλείας

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

Τύποι διαδικασιών δημιουργίας αντιγράφων ασφαλείας

Από τον παππού προς τον πατέρα προς τον γιο και κατά μέρους δημιουργία αντιγράφων ασφαλείας

Από τον παππού προς τον πατέρα προς τον γιο

Αυτή η διαδικασία αναφέρεται τουλάχιστον στις τελευταίες τρεις γενιές των αντιγράφων ασφαλείας των κύριων αρχείων.  Κατά συνέπεια, το πιο πρόσφατο αντίγραφο ασφαλείας είναι ο γιος και το παλαιότερο αντίγραφο ασφαλείας είναι ο παππούς. Συνήθως, χρησιμοποιούνται για ένα σύστημα επεξεργασίας συναλλαγών με μαγνητική ταινία. Εάν το σύστημα αποτύχει κατά την διάρκεια της εκτέλεσης μιας δέσμης, το κύριο αρχείο αναδημιουργείται χρησιμοποιώντας το αντίγραφο ασφαλείας του γιου και στη συνέχεια γίνεται επανεκκίνηση της δέσμης. Ωστόσο, εάν το αντίγραφο ασφαλείας-γιος αποτύχει, είναι αλλοιωμένο ή κατεστραμμένο, τότε  είναι απαραίτητη η επόμενη γενιά αντιγράφων ασφαλείας-πατέρας. Ομοίως, εάν αυτό αποτύχει, τότε είναι απαραίτητη η επόμενη γενιά αντιγράφων ασφαλείας (παππούς). Φυσικά, όσο παλαιότερη είναι η γενιά, τόσα περισσότερα δεδομένα μπορεί να είναι εκτός ημερομηνίας. Οι οργανισμοί μπορούν να έχουν μέχρι και είκοσι γενιές αντιγράφων ασφαλείας.

Κατά μέρους αντίγραφα ασφαλείας

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

Ενημέρωση σε πραγματικό χρόνο

Αυτή είναι η άμεση επεξεργασία των δεδομένων. Παρέχει άμεση επιβεβαίωση της συναλλαγής. Αυτό περιλαμβάνει μία μεγάλη ποσότητα από χρήστες, οι οποίοι εκτελούν ταυτόχρονα συναλλαγές, για να αλλάξουν τα δεδομένα. Λόγω των τεχνολογικών εξελίξεων (όπως η αύξηση της ταχύτητας μετάδοσης των δεδομένων και το μεγαλύτερο εύρος ζώνης), είναι δυνατή η ενημέρωση σε πραγματικό χρόνο.
Τα βήματα σε πραγματικό χρόνο ενημέρωσης περιλαμβάνουν την αποστολή στοιχείων για τις συναλλαγές σε μία σε απευθείας σύνδεση βάση δεδομένων, σε ένα κύριο αρχείο. Το άτομο που παρέχει πληροφορίες είναι συνήθως σε θέση να βοηθήσει με τη διόρθωση των σφαλμάτων και λαμβάνει την επιβεβαίωση από την ολοκλήρωση της συναλλαγής.
Η ενημέρωση σε πραγματικό χρόνο χρησιμοποιεί την άμεση πρόσβαση στα δεδομένα (direct access). Αυτό προκύπτει όταν τα δεδομένα είναι προσβάσιμα, χωρίς την πρόσβαση σε δεδομένα προηγούμενων στοιχείων. Η συσκευή αποθήκευσης αποθηκεύει δεδομένα σε μία συγκεκριμένη τοποθεσία, βασισμένη σε μία μαθηματική διαδικασία. Αυτή θα υπολογίζεται στη συνέχεια, για να βρει μία κατά προσέγγιση τοποθεσία των δεδομένων. Εάν τα δεδομένα δεν έχουν βρεθεί στη θέση αυτή, θα τα αναζητήσει μέσα από διαδοχικές θέσεις μέχρι να βρεθούν.
Η τεχνολογική πληροφόρηση, που χρησιμοποιείται μπορεί να είναι δευτερογενές μέσο αποθήκευσης, που μπορεί να αποθηκεύει μεγάλες ποσότητες δεδομένων και να παρέχει γρήγορη πρόσβαση τοιουτοτρόπως η κοινή χρήση του μαγνητικού δίσκου.