Skip to main content

Βασικό μοντέλο ανάπτυξης βάσεων δεδομένων

Kokkinopezoula Acid Lake (Ενδέχεται 2024)

Kokkinopezoula Acid Lake (Ενδέχεται 2024)
Anonim

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

Βασικές επιδράσεις του μοντέλου ACID

Υπάρχουν τέσσερις βασικές αρχές του μοντέλου του ACID:

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

    Βασικές Αρχές της BASE

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

    • Βασική διαθεσιμότητα. Η προσέγγιση της βάσης δεδομένων NoSQL επικεντρώνεται στη διαθεσιμότητα δεδομένων ακόμη και στην περίπτωση πολλαπλών αποτυχιών. Αυτό επιτυγχάνεται χρησιμοποιώντας μια πολύ κατανεμημένη προσέγγιση στη διαχείριση βάσεων δεδομένων. Αντί να διατηρεί ένα μόνο μεγάλο κατάστημα δεδομένων και εστιάζοντας στην ανοχή σφάλματος αυτού του καταστήματος, οι βάσεις δεδομένων NoSQL κατανέμουν τα δεδομένα σε πολλά συστήματα αποθήκευσης με υψηλό βαθμό αναπαραγωγής. Στην απίθανη περίπτωση που μια αποτυχία διακόπτει την πρόσβαση σε ένα τμήμα δεδομένων, αυτό δεν συνεπάγεται κατ 'ανάγκη την πλήρη διακοπή της βάσης δεδομένων.
    • Μαλακή κατάσταση. Οι βάσεις δεδομένων BASE εγκαταλείπουν τις απαιτήσεις συνέπειας του μοντέλου ACID σχεδόν εντελώς. Μία από τις βασικές έννοιες πίσω από το BASE είναι ότι η συνοχή δεδομένων είναι το πρόβλημα του προγραμματιστή και δεν πρέπει να γίνεται από τη βάση δεδομένων.
    • Πιθανή συνέπεια. Η μόνη απαίτηση που έχουν οι βάσεις δεδομένων του NoSQL όσον αφορά τη συνέπεια είναι να απαιτούν σε κάποια στιγμή στο μέλλον, τα δεδομένα να συγκλίνουν σε μια συνεπή κατάσταση. Ωστόσο, δεν υπάρχουν εγγυήσεις για το πότε θα συμβεί αυτό. Αυτή είναι μια απόλυτη απόκλιση από την απαίτηση άμεσης συνέπειας του ACID που απαγορεύει την εκτέλεση μιας συναλλαγής έως ότου ολοκληρωθεί η προηγούμενη συναλλαγή και η βάση δεδομένων έχει συγκλίνει σε μια συνεπή κατάσταση.

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