Σπίτι Προσωπικά Οικονομικά Εφαρμόζοντας μεθόδους συνέπειας σε NoSQL - dummies

Εφαρμόζοντας μεθόδους συνέπειας σε NoSQL - dummies

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

Βίντεο: Zeitgeist: Addendum 2025

Βίντεο: Zeitgeist: Addendum 2025
Anonim

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

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

  • ACID Consistency (ACID σημαίνει Ατομικότητα, Συνάφεια, Απομόνωση, Ανθεκτικότητα): ACID σημαίνει ότι από τη στιγμή που γράφονται τα δεδομένα, διαβάζει.

  • Eventual Consistency (BASE): Η BASE σημαίνει ότι μόλις δημιουργηθούν τα δεδομένα, θα εμφανιστούν τελικά για ανάγνωση.

Μία μάχη έσπασε ανάμεσα σε ανθρώπους που πιστεύουν ότι δεν υπάρχει ισχυρή συνέπεια σε μια βάση δεδομένων και όσοι πιστεύουν ότι είναι απολύτως απαραίτητο (μεταφράστε ανθρώπους σε εταιρείες NoSQL «τμήματα μάρκετινγκ! ).

Η πραγματικότητα είναι κάπου ενδιάμεσα. Έχει σημασία το γεγονός ότι η δημοσίευση ενός ατόμου στο Facebook δεν φαίνεται από όλους τους φίλους του για πέντε λεπτά; Όχι, πιθανώς όχι. Αλλαγή του "Facebook post" σε "δισεκατομμύρια δολάρια-χρηματοοικονομική συναλλαγή", όμως, και η στάση σας αλλάζει γρήγορα! Ποια προσέγγιση συνεκτικότητας επιλέγετε εξαρτάται από την κατάσταση. Από την εμπειρία μου, ωστόσο, η ισχυρή συνοχή είναι πάντα η επιλογή σε καταστάσεις κρίσιμης σημασίας για το επιχειρησιακό σύστημα.

Αυτή η βάση δεδομένων έχει εγκαταστάσεις για να σας εμποδίσει να καταστρέψετε ή να χάσετε δεδομένα,

" που δεν είναι δεδομένη για όλες τις βάσεις δεδομένων. Στην πραγματικότητα, η συντριπτική πλειοψηφία των βάσεων δεδομένων NoSQL δεν παρέχουν εγγυήσεις ACID. Τα Foundation DB, MarkLogic και Neo4j είναι αξιοσημείωτες εξαιρέσεις. Ορισμένες βάσεις δεδομένων NoSQL παρέχουν εγγύηση χαμηλότερης ποιότητας που ονομάζεται Έλεγχος και ρύθμιση

που επαληθεύει εάν κάποιος άλλος έχει τροποποιήσει ένα έγγραφο πριν επιτρέψει την ολοκλήρωση μιας συναλλαγής. Αυτή η συμπεριφορά είναι συνήθως περιορισμένη επειδή τείνει να εφαρμοστεί σε μια βάση δεδομένων. Το MongoDB είναι μια αξιοσημείωτη βάση δεδομένων που παρέχει δυνατότητες Έλεγχος και Ρύθμιση. Με το MongoDB, μπορεί να κλειδωθεί ολόκληρη η αξία δεδομένων κατά τη διάρκεια μιας ενημέρωσης, εμποδίζοντας έτσι όλες τις λειτουργίες ανάγνωσης και εγγραφής μέχρι να ολοκληρωθεί η διαδικασία.Ωστόσο, η εταιρεία προσπαθεί να καταργήσει αυτόν τον περιορισμό. ΒΑΣΗ

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

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

δύο

- δέσμευση φάσης - η αλλαγή γίνεται τοπικά αλλά εφαρμόζεται και επιβεβαιώνεται στον πελάτη μόνο όταν ενημερώνονται όλοι οι άλλοι κόμβοι. Η BASE χαλαρώνει αυτή την απαίτηση, απαιτώντας την ανανέωση μόνο ενός υποσυνόλου των κόμβων που κατέχουν τα ίδια δεδομένα για να πετύχει η συναλλαγή. Κάποτε μετά τη δέσμευση της συναλλαγής, ενημερώνεται το αντίγραφο μόνο για ανάγνωση. Το πλεονέκτημα αυτής της προσέγγισης είναι ότι οι συναλλαγές γίνονται πιο γρήγορα. Έχοντας αναγνώσιμα ζωντανά αντίγραφα σημαίνει επίσης ότι μπορείτε να διαδώσετε το φορτίο ανάγνωσης των δεδομένων σας, καθιστώντας την ανάγνωση πιο γρήγορη.

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

Μια εναλλακτική προσέγγιση σε αντίγραφα μόνο για ανάγνωση είναι να υπάρχει ένα σύμπλεγμα

κοινόχρηστο

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

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

Επιλέγοντας ACID ή BASE;

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

Ορισμένες βάσεις δεδομένων του NoSQL έχουν συμμόρφωση με το ACID στον χάρτη πορείας τους, παρόλο που υποστηρίζουν την BASE, η οποία δείχνει πόσο συναφείς εγγυήσεις ACID είναι σε συστήματα

επιχειρήσεων, αποστολών

- κρίσιμων . Πολλές εταιρείες χρησιμοποιούν προϊόντα BASE-consistency όταν δοκιμάζουν ιδέες επειδή είναι ελεύθερα αλλά στη συνέχεια μεταναστεύουν σε μια βάση πληρωμής συμβατή με το ACID όταν θέλουν να ζήσουν σε ένα κρίσιμο για την αποστολή σύστημα. Ο ευκολότερος τρόπος για να αποφασίσετε αν χρειάζεστε το ACID είναι να εξετάσετε τις αλληλεπιδράσεις που έχουν οι άνθρωποι και τα άλλα συστήματα με τα δεδομένα σας. Για παράδειγμα, αν προσθέτετε ή ενημερώνετε δεδομένα, είναι σημαντικό το επόμενο ερώτημα να είναι σε θέση να δει την αλλαγή; Με άλλα λόγια, είναι σημαντικές αποφάσεις που κρέμονται από την τρέχουσα κατάσταση της βάσης δεδομένων; Θα βλέπατε ελαφρώς παρωχημένα δεδομένα που σημαίνει ότι αυτές οι αποφάσεις θα μπορούσαν να έχουν θιγεί ανεπανόρθωτα;

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

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

Εφαρμόζοντας μεθόδους συνέπειας σε NoSQL - dummies

Η επιλογή των συντακτών

Εφαρμόζοντας μεθόδους συνέπειας σε NoSQL - dummies

Εφαρμόζοντας μεθόδους συνέπειας σε NoSQL - dummies

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

Μεγάλα στάδια προγραμματισμού δεδομένων - ανδρείκελα

Μεγάλα στάδια προγραμματισμού δεδομένων - ανδρείκελα

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

Μεγάλα δεδομένα: ξεκινώντας με στρατηγική - ανδρείκελα

Μεγάλα δεδομένα: ξεκινώντας με στρατηγική - ανδρείκελα

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

Η επιλογή των συντακτών

Εργαλεία που αυξάνουν την προστασία του Firewall - ανδρείκελα

Εργαλεία που αυξάνουν την προστασία του Firewall - ανδρείκελα

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

Τύποι High-Tech Cracking Κωδικών - ανδρείκελα

Τύποι High-Tech Cracking Κωδικών - ανδρείκελα

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

Ενοποιημένα εργαλεία προβολής μηνυμάτων - ανδρείκελα

Ενοποιημένα εργαλεία προβολής μηνυμάτων - ανδρείκελα

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

Η επιλογή των συντακτών

Χρησιμοποιήστε Δηλώσεις PHP για Δημιουργία Προγραμμάτων - dummies

Χρησιμοποιήστε Δηλώσεις PHP για Δημιουργία Προγραμμάτων - dummies

Τα προγράμματα PHP είναι μια σειρά από δηλώσεις PHP, . Ακολουθεί μια λίστα με τις δηλώσεις PHP (με σύνταξη) που χρησιμοποιείτε όταν γράφετε προγράμματα PHP: array ("key" => "value", ...); die ("μήνυμα")? να {μπλοκ} ενώ (κατάσταση)? στοιχείο ηχώ? απόσπασμα ($ array)? ($ array as ...

Η δομή ενός PHP Script - dummies

Η δομή ενός PHP Script - dummies

PHP είναι μια ενσωματωμένη γλώσσα δέσμης ενεργειών όταν χρησιμοποιείται σε ιστοσελίδες. Αυτό σημαίνει ότι ο κώδικας PHP είναι ενσωματωμένος σε κώδικα HTML. Χρησιμοποιείτε ετικέτες HTML για να επισυνάψετε τη γλώσσα PHP που ενσωματώνετε στο αρχείο HTML - με τον ίδιο τρόπο που χρησιμοποιείτε άλλες ετικέτες HTML. Μπορείτε να δημιουργείτε και να επεξεργάζεστε ιστοσελίδες που περιέχουν ...

Κατανόηση των τύπων δεδομένων PHP - dummies

Κατανόηση των τύπων δεδομένων PHP - dummies

Μεταβλητές μπορούν να αποθηκεύουν δεδομένα διαφορετικών τύπων και διαφορετικοί τύποι δεδομένων μπορούν να κάνουν διαφορετικά πράγματα. Για παράδειγμα, μπορείτε να προσθέσετε μεταβλητές των οποίων οι τιμές είναι αριθμοί (1 + 2), αλλά προσθέτοντας μεταβλητές των οποίων οι τιμές είναι χαρακτήρες (A + b) δεν έχει νόημα. Μπορείτε να αποθηκεύσετε τους ακόλουθους απλούς τύπους δεδομένων σε μεταβλητές PHP: ...