Πίνακας περιεχομένων:
- Συνεχίστε, σε κάποιο επίπεδο, να εκτελέσετε εργασίες ανάγνωσης και εγγραφής.
- -
- Η εκτέλεση του Riak σε κατάσταση ισχυρής συνάφειας σημαίνει ότι τα αντίγραφα ανάγνωσής του ενημερώνονται ταυτόχρονα με τον κύριο κύριο. Αυτό συνεπάγεται μια δέσμευση δύο φάσεων - βασικά, ο κύριος κόμβος που γράφει στους άλλους κόμβους προτού επιβεβαιώσει ότι η εγγραφή είναι πλήρης.
Βίντεο: Το μυστικό για πολλές παραφυάδες!!! Αύξηση των μελισσιών 2024
Το διαμέρισμα λέξεων χρησιμοποιείται για δύο διαφορετικές έννοιες σε γη NoSQL. Ένα διαμέρισμα δεδομένων είναι ένας μηχανισμός που εξασφαλίζει ότι τα δεδομένα κατανέμονται ομοιόμορφα σε ένα σύμπλεγμα. Από την άλλη πλευρά, ένα διαμέρισμα δικτύου εμφανίζεται όταν δύο μέρη του ίδιου συμπλέγματος βάσεων δεδομένων δεν μπορούν να επικοινωνήσουν. Σε πολύ μεγάλα συσσωματωμένα συστήματα, είναι όλο και πιο πιθανό να συμβεί αποτυχία ενός εξοπλισμού. Εάν αποτύχει ένας μετασχηματισμός δικτύου μεταξύ διακομιστών σε ένα σύμπλεγμα, εμφανίζεται ένα φαινόμενο που αναφέρεται ως (ορολογία ηλεκτρονικού υπολογιστή)
διαχωρισμός του εγκεφάλου . Σε αυτήν την περίπτωση, μεμονωμένοι διακομιστές εξακολουθούν να λαμβάνουν αιτήματα, αλλά δεν μπορούν να επικοινωνούν μεταξύ τους. Διαχωριστικά διαμερίσματα
Έχετε δύο επιλογές όταν συμβαίνει ένα διαμέρισμα δικτύου:
Συνεχίστε, σε κάποιο επίπεδο, να εκτελέσετε εργασίες ανάγνωσης και εγγραφής.
"Ψηφίστε" ένα μέρος του διαμερίσματος και αποφασίστε να διορθώσετε αργότερα τα δεδομένα όταν μπορούν να επικοινωνήσουν και τα δύο μέρη. Αυτό συνήθως συνεπάγεται ότι το σύμπλεγμα ψηφίζει ένα αντίγραφο ανάγνωσης ως νέο κύριο για κάθε κενό κόμβο κεντρικού διαμερίσματος.
-
-
Οι χειρολαβές του Riak γράφουν όταν ο κεντρικός διακομιστής κατατμήσεων μειώνεται χρησιμοποιώντας ένα σύστημα που ονομάζεται
υπονοείται μεταβίβαση
. Όταν αρχικά αναπαραγάγονται τα δεδομένα, γράφεται ο πρώτος κόμβος για ένα συγκεκριμένο διαμέρισμα κλειδιού, μαζί με (από προεπιλογή) δύο από τους επόμενους κόμβους γειτονίας.
ενεργό ενάντια
-
εντροπία για να ανακουφίσει αυτό το πρόβλημα. Αυτό το σύστημα τράβηγμα μέσω ενημερωμένων τιμών και εξασφαλίζει ότι τα αντίγραφα ενημερώνονται σε κάποιο σημείο, κατά προτίμηση νωρίτερα και όχι αργότερα.Αυτό βοηθά στην αποφυγή συγκρούσεων κατά την ανάγνωση, διατηρώντας παράλληλα υψηλή ταχύτητα πρόσληψης, η οποία αποφεύγει μια διφασική δέσμευση που χρησιμοποιείται από άλλες βάσεις δεδομένων NoSQL με υποστήριξη συμπλέγματος master-slave, κοινόχρηστη-ομαδοποίηση. Αν συμβεί κάποια διαφορά στην ανάγνωση, ο Riak χρησιμοποιεί να διαβάσει την επισκευή για να προσπαθήσει να επιστρέψει μόνο τα πιο πρόσφατα δεδομένα. Τελικά όμως και ανάλογα με τις ρυθμίσεις συνέπειας και διαθεσιμότητας που χρησιμοποιείτε, η εφαρμογή πελάτη μπορεί να παρουσιαστεί με πολλαπλές εκδόσεις και να ζητηθεί να αποφασίσει για τον εαυτό της.
Σε ορισμένες περιπτώσεις, αυτό το εμπόριο είναι επιθυμητό και πολλές εφαρμογές μπορεί να ξέρουν διαισθητικά, με βάση τα στοιχεία που παρουσιάζονται, ποια έκδοση θα χρησιμοποιήσει και ποια έκδοση θα απορριφθεί. Δευτερεύουσα ευρετηρίαση Δευτερεύοντες δείκτες είναι δείκτες για συγκεκριμένα δεδομένα εντός μιας τιμής. Τα περισσότερα καταστήματα βασικής αξίας αφήνουν αυτήν την ευρετηρίαση μέχρι την εφαρμογή. Ωστόσο, ο Riak είναι διαφορετικός, χρησιμοποιώντας ένα σχήμα που ονομάζεται
έγγραφο
-
βασισμένο σε διαίρεση που επιτρέπει δευτερεύουσα ευρετηρίαση. Το διαχωρισμό βάσει εγγράφων προϋποθέτει ότι γράφετε δομές JSON στη βάση δεδομένων Riak. Στη συνέχεια, μπορείτε να ρυθμίσετε ευρετήρια σε συγκεκριμένες ιδιότητες που περιέχονται σε αυτή τη δομή JSON, όπως φαίνεται παρακάτω: {"id-order": 5001, "id-πελάτης": 1429857, "order-date": "2014-09-24 "," Total ": 134. 24} Εάν έχετε μια εφαρμογή που εμφανίζει παραγγελίες πελάτη για τον προηγούμενο μήνα, τότε θέλετε να αναζητήσετε όλες τις εγγραφές, όπως φαίνεται, όπου το αναγνωριστικό πελάτη είναι μια σταθερή τιμή (1429857) και η ημερομηνία παραγγελίας βρίσκεται μέσα σε ένα συγκεκριμένο εύρος (την αρχή και το τέλος του μήνα).
Στα περισσότερα καταστήματα βασικής αξίας, δημιουργείτε έναν άλλο κάδο του οποίου το κλειδί είναι ο συνδυασμένος αριθμός πελάτη και μήνα και η τιμή είναι μια λίστα των αναγνωριστικών παραγγελιών. Ωστόσο, στο Riak, προσθέτετε απλώς ένα δευτερεύοντα ευρετήριο ταυτότητας πελάτη (ακέραιος αριθμός) και ημερομηνία παραγγελίας (ημερομηνία), το οποίο απαιτεί επιπλέον χώρο αποθήκευσης, αλλά έχει το πλεονέκτημα ότι είναι διαφανής στον προγραμματιστή εφαρμογών.
Αυτά τα ευρετήρια ενημερώνονται επίσης ζωντανά - πράγμα που σημαίνει ότι δεν υπάρχει καθυστέρηση μεταξύ της ενημέρωσης μιας τιμής εγγράφου στο Riak και της ενημέρωσης των δεικτών. Αυτή η ζωντανή πρόσβαση στα δεδομένα είναι πιο δύσκολη από ό, τι φαίνεται. Μετά από όλα, αν τα ευρετήρια είναι ασυμβίβαστα, ποτέ δεν θα βρείτε τα δεδομένα που διατηρούνται σταθερά!
Η αξιολόγηση του Riak
Η Basho, η εμπορική οντότητα πίσω από τον Riak, λέει ότι η επερχόμενη έκδοση της. 2. Η βάση δεδομένων NoSQL έχει πάντα ισχυρή συνέπεια, μια αξίωση που κάνουν και άλλοι προμηθευτές της NoSQL. Ο ισχυρισμός των πωλητών της NoSQL να έχουν πάντα σταθερή συνέπεια είναι να ισχυριστεί κανείς ότι είναι ένας ισχυρός χορτοφάγος … εκτός από τις Κυριακές όταν έχετε ψητό βοδινό κρέας.
Η Riak δεν είναι βάση δεδομένων που είναι συμβατή με το ACID. Η διαμόρφωσή του δεν μπορεί να μεταβληθεί έτσι ώστε να εκτελείται σε λειτουργία συμμόρφωσης με το ACID. Οι πελάτες μπορούν να αποκτήσουν ασυνεπή δεδομένα κατά τη διάρκεια κανονικών λειτουργιών ή κατά τη διάρκεια κατατμήσεων δικτύου. Η Riak ασχολείται με την απόλυτη συνέπεια για αυξημένη διαθεσιμότητα και διαχωρισμό.
Η εκτέλεση του Riak σε κατάσταση ισχυρής συνάφειας σημαίνει ότι τα αντίγραφα ανάγνωσής του ενημερώνονται ταυτόχρονα με τον κύριο κύριο. Αυτό συνεπάγεται μια δέσμευση δύο φάσεων - βασικά, ο κύριος κόμβος που γράφει στους άλλους κόμβους προτού επιβεβαιώσει ότι η εγγραφή είναι πλήρης.
Τη στιγμή της γραφής αυτής, η κατάσταση ισχυρής συνέπειας του Riak δεν υποστηρίζει δευτερογενή ευρετήρια ή σύνθετους τύπους δεδομένων (για παράδειγμα, JSON). Ας ελπίσουμε ότι ο Basho θα διορθώσει αυτό το ζήτημα στις επικείμενες εκδόσεις της βάσης δεδομένων.
Η Riak Search (μια επανεμπορική και ολοκληρωμένη μηχανή αναζήτησης Apache Solr χρησιμοποιεί ένα τελικά σταθερό μοντέλο ενημέρωσης) μπορεί να παράγει ψευδή θετικά αποτελέσματα όταν χρησιμοποιεί ισχυρή συνέπεια. Αυτή η κατάσταση συμβαίνει επειδή μπορεί να γραφούν δεδομένα και στη συνέχεια να εγκαταλειφθεί η συναλλαγή, αλλά τα δεδομένα εξακολουθούν να χρησιμοποιούνται για την ευρετηρίαση - αφήνοντας ένα "ψευδώς θετικό" αποτέλεσμα αναζήτησης - το αποτέλεσμα δεν ισχύει πλέον για το ερώτημα αναζήτησης.
Η Riak χρησιμοποιεί επίσης ξεχωριστή διαδικασία
φρουρού
για να προσδιορίσει ποιος κόμβος γίνεται κύριος σε συνθήκες ανακατεύθυνσης. Αυτή η διαδικασία, ωστόσο, δεν είναι ιδιαίτερα διαθέσιμη, πράγμα που σημαίνει ότι για μερικά δευτερόλεπτα είναι πιθανό, ενώ ένα νέο αντίγραφο της διαδικασίαςφρουρού να μεταφερθεί στο διαδίκτυο, δεν μπορεί να προστεθεί ένας νέος κόμβος ή ένας νέος κύριος εκλεγμένος. Πρέπει να γνωρίζετε τη δυνατότητα αυτή σε συνθήκες αποτυχίας υψηλής πίεσης.
-
level σε μελλοντικές εκδόσεις, θα γίνει το καλύτερο στην κατηγορία του προϊόν.