Skip to main content

Το μοντέλο ACID για συστήματα διαχείρισης βάσεων δεδομένων

Fiber optic cables: How they work (Ενδέχεται 2024)

Fiber optic cables: How they work (Ενδέχεται 2024)
Anonim

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

Ορισμός ACID

Ας πάρουμε λίγο χρόνο για να εξετάσουμε λεπτομερώς καθένα από αυτά τα χαρακτηριστικά:

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

Πώς λειτουργεί το ACID στην πράξη

Οι διαχειριστές βάσεων δεδομένων χρησιμοποιούν διάφορες στρατηγικές για την επιβολή του ACID.

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

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

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