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

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

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

Βίντεο: Zeitgeist: Addendum 2024

Βίντεο: Zeitgeist: Addendum 2024
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

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

Όταν η μετάβαση σε υβριδικό περιβάλλον σύννεφων μπορεί να είναι ωφέλιμη - ανδρείκελα

Όταν η μετάβαση σε υβριδικό περιβάλλον σύννεφων μπορεί να είναι ωφέλιμη - ανδρείκελα

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

Γιατί ο προσανατολισμός υπηρεσίας είναι σημαντικός για τα μοντέλα υπολογιστικού νέφους - οι υπηρεσίες Dummy

Γιατί ο προσανατολισμός υπηρεσίας είναι σημαντικός για τα μοντέλα υπολογιστικού νέφους - οι υπηρεσίες Dummy

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

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

Προσθέστε Βασικά Ηλεκτρονικά Εξαρτήματα στο Ηλεκτρονικό σας Εργαλείο Workbench - dummies

Προσθέστε Βασικά Ηλεκτρονικά Εξαρτήματα στο Ηλεκτρονικό σας Εργαλείο Workbench - dummies

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

10 τρόποι να εξερευνήσετε τον κόσμο των ηλεκτρονικών - Dummies

10 τρόποι να εξερευνήσετε τον κόσμο των ηλεκτρονικών - Dummies

Έτοιμοι να αξιοποιήσουν μια νέα γνώση των ηλεκτρονικών; Θέλετε να επεκτείνετε τους ορίζοντές σας και να δημιουργήσετε προγραμματιζόμενα ηλεκτρονικά έργα; Η παρακάτω λίστα παρέχει μια λίστα ιδεών για την ενίσχυση της ηλεκτρονικής σας εμπειρίας. Σέρφινγκ για κυκλώματα Χιλιάδες ιδέες σχεδίων διατίθενται στο Διαδίκτυο. Χρησιμοποιήστε την αγαπημένη μηχανή αναζήτησής σας για να βρείτε έργα σε ...

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

Πώς να πάρει επιβεβαιωμένο και επιβεβαιωμένο στο Facebook - dummies

Πώς να πάρει επιβεβαιωμένο και επιβεβαιωμένο στο Facebook - dummies

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

Πώς να κρύψει Facebook Νέα Ιστορίες Feed - ανδρείκελα

Πώς να κρύψει Facebook Νέα Ιστορίες Feed - ανδρείκελα

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

Πώς να Εισάγετε ένα βιβλίο διευθύνσεων στο Facebook - dummies

Πώς να Εισάγετε ένα βιβλίο διευθύνσεων στο Facebook - dummies

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