Μοντέλο ΒΑΣΗΣ Ανάπτυξης Βάσεων Δεδομένων

Πίνακας περιεχομένων:

Μοντέλο ΒΑΣΗΣ Ανάπτυξης Βάσεων Δεδομένων
Μοντέλο ΒΑΣΗΣ Ανάπτυξης Βάσεων Δεδομένων
Anonim

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

Image
Image

Βασικές αρχές του μοντέλου ACID

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

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

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

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

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

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

Σχετικές περιπτώσεις χρήσης

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

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

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

Συνιστάται: