Πίνακας περιεχομένων:
Ορισμός - Τι σημαίνει απομόνωση;
Η απομόνωση, στο πλαίσιο των βάσεων δεδομένων, καθορίζει πότε και πώς μεταβάλλονται οι αλλαγές που εφαρμόζονται σε μια λειτουργία σε άλλες παράλληλες λειτουργίες. Η απομόνωση συναλλαγών αποτελεί σημαντικό μέρος κάθε συστήματος συναλλαγών. Ασχολείται με τη συνέπεια και την πληρότητα των δεδομένων που ανακτώνται από ερωτήματα που δεν επηρεάζουν τα δεδομένα χρήστη από άλλες ενέργειες του χρήστη. Μια βάση δεδομένων αποκτά κλειδαριές στα δεδομένα για να διατηρήσει ένα υψηλό επίπεδο απομόνωσης.
Η Techopedia εξηγεί την απομόνωση
Ορισμένα επίπεδα απομόνωσης ορίζονται για τον έλεγχο του βαθμού κλειδώματος των δεδομένων. Ένα υψηλό επίπεδο απομόνωσης ενδέχεται να έχει ως αποτέλεσμα το κλείδωμα των γενικών εξόδων για το σύστημα που δημιουργεί αδιέξοδο. Τα τέσσερα μεγάλα επίπεδα απομόνωσης είναι: Read Uncommitted: Αυτό το επίπεδο ασχολείται με τις βρώμικες αναγνώσεις, όπου τα δεδομένα ανάγνωσης δεν συμφωνούν με άλλα μέρη του πίνακα ή του ερωτήματος και δεν δεσμεύονται. Εδώ τα δεδομένα διαβάζονται απευθείας από τα μπλοκ πίνακα χωρίς επαλήθευση, επικύρωση και επεξεργασία. Ως εκ τούτου τα δεδομένα είναι τόσο βρώμικα όσο μπορεί να είναι. Ανάγνωση δέσμευσης: Σε αυτήν την περίπτωση, οι σειρές που επιστρέφει ένα ερώτημα είναι σειρές που έχουν ήδη δεσμευτεί κατά την εκκίνηση του ερωτήματος. Καθώς η ολοκλήρωση ολοκληρώνεται πριν ξεκινήσει το ερώτημα, το αποτέλεσμα δεν εμφανίζεται στην έξοδο του ερωτήματος. Επαναλαμβανόμενη ανάγνωση: Οι σειρές που επιστρέφονται από ένα ερώτημα σε αυτήν την περίπτωση δεσμεύονται κατά την εκκίνηση της συναλλαγής. Οι αλλαγές που πραγματοποιήθηκαν δεν υπάρχουν στη συναλλαγή και συνεπώς δεν εμφανίζονται στο αποτέλεσμα του ερωτήματος. Serializable: Σε αυτό το επίπεδο, οι συναλλαγές πραγματοποιούνται με εντελώς απομονωμένο τρόπο, σειριακά το ένα μετά το άλλο. Οι βάσεις δεδομένων όπως το Oracle και το Postgre SQL μερικές φορές δεν εγγυώνται την σειριακή παραγγελία των συναλλαγών αλλά υποστηρίζουν την απομόνωση στιγμιότυπου όπου όλα διαβάζουν σε μια συναλλαγή είναι συνεπείς στιγμιότυπα της βάσης δεδομένων και η συναλλαγή δεσμεύει μόνο αν καμία ενημέρωση δεν δημιουργεί διενέξεις με άλλες ταυτόχρονες ενημερώσεις που έγιναν από το στιγμιότυπο. Οι ανωμαλίες που επιτρέπονται από την απομόνωση στιγμιότυπων μπορεί να οδηγήσουν σε παραβίαση της συνέπειας των δεδομένων, παρεμβάλλοντας συναλλαγές που διατηρούν συνέπεια. Αυτές οι ανωμαλίες μπορούν να εξαλειφθούν με την εισαγωγή συγκρούσεων ενημέρωσης ή τεχνητού κλειδώματος. Όλες οι βάσεις δεδομένων επιτρέπουν στους χρήστες να ορίσουν τα προεπιλεγμένα επίπεδα απομόνωσής τους. Τα τέλεια επίπεδα απομόνωσης που επιλέγονται αποτρέπουν τις εφαρμογές από την εισαγωγή σφαλμάτων όπως οι βρώμικες αναγνώσεις, οι επαναλαμβανόμενες ενδείξεις και οι φανταστικές αναγνώσεις. Όταν η πρώτη συναλλαγή διαβάζει τις μη δεσμευμένες αλλαγές που πραγματοποιούνται από τη δεύτερη συναλλαγή, δημιουργεί βρώμικες ενδείξεις. Όταν μια ανάγνωση δεδομένων παραμένει η ίδια αν διαβαστεί ξανά κατά τη διάρκεια της ίδιας συναλλαγής, είναι μια επαναλαμβανόμενη ανάγνωση. Οι φανταστικές αναγνώσεις εμφανίζονται όταν οι νέες εγγραφές που προστίθενται υποδεικνύονται από τις συναλλαγές πριν από την εισαγωγή. Τα διαφορετικά επίπεδα απομόνωσης των κλειδαριών βάσης δεδομένων ασχολούνται με τα εξής: Read Locks: Read locks εμποδίζει την αλλαγή των δεδομένων που διαβάζονται κατά τη διάρκεια μιας συναλλαγής έως ότου η συναλλαγή τελειώσει εξαλείφοντας περιπτώσεις επαναλαμβανόμενων αναγνώσεων. Άλλες συναλλαγές μπορούν να διαβάσουν αυτά τα δεδομένα, αλλά δεν παρέχεται πρόσβαση σε εγγραφή ή αλλαγή. Γράψτε κλειδώματα: Η εγγραφή κλειδαριών εμποδίζει άλλες συναλλαγές από την αλλαγή των δεδομένων μέχρι τη λήξη της συναλλαγής. Αποκλειστικές κλειδώσεις γραφής: Η αποκλειστική κλειδαριά γραφής εμποδίζει άλλες συναλλαγές να διαβάζουν ή να τροποποιούν δεδομένα έως ότου τελειώσει η τρέχουσα συναλλαγή. Στιγμιότυπα: Ένα στιγμιότυπο είναι μια παγωμένη προβολή των δεδομένων κατά την εκκίνηση της συναλλαγής. Αποτρέπει τις βρώμικες αναγνώσεις, τις μη επαναλαμβανόμενες αναγνώσεις και τις φανταστικές αναγνώσεις. Ο ορισμός αυτός γράφτηκε στο πλαίσιο των Βάσεων Δεδομένων