Σπίτι Προσωπικά Οικονομικά Κοινά Χαρακτηριστικά του NoSQL - dummies

Κοινά Χαρακτηριστικά του NoSQL - dummies

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

Βίντεο: Web Programming - Computer Science for Business Leaders 2016 2024

Βίντεο: Web Programming - Computer Science for Business Leaders 2016 2024
Anonim

NoSQL βιβλία και blogs προσφέρουν διαφορετικές απόψεις για το τι είναι μια βάση δεδομένων NoSQL. Τέσσερις βασικές λειτουργίες του NoSQL, που παρουσιάζονται στην παρακάτω λίστα, ισχύουν για τις περισσότερες βάσεις δεδομένων NoSQL. Ο κατάλογος συγκρίνει τον NoSQL με το παραδοσιακό σχεσιακό ΣΔΒΔ:

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

  • Μη σχεσιακές: Οι σχέσεις σε μια βάση δεδομένων δημιουργούν συνδέσεις μεταξύ πινάκων δεδομένων. Για παράδειγμα, μια λίστα λεπτομερειών συναλλαγής μπορεί να συνδεθεί σε μια ξεχωριστή λίστα των λεπτομερειών παράδοσης. Με μια βάση δεδομένων NoSQL, οι πληροφορίες αυτές αποθηκεύονται ως σύνολο - μια ενιαία εγγραφή με τα πάντα για τη συναλλαγή, συμπεριλαμβανομένης της διεύθυνσης παράδοσης.

  • Εξοπλισμός εμπορευμάτων: Ορισμένες βάσεις δεδομένων έχουν σχεδιαστεί για να λειτουργούν καλύτερα (ή μόνο) με εξειδικευμένο υλικό αποθήκευσης και επεξεργασίας. Με μια βάση δεδομένων NoSQL μπορούν να χρησιμοποιηθούν φτηνές διακομιστές εκτός του ράφι. Η προσθήκη περισσότερων από αυτές τις φθηνές διακομιστές επιτρέπει σε βάσεις δεδομένων NoSQL να κλιμακώνονται για να χειρίζονται περισσότερα δεδομένα.

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

Σχέδιο agnostic

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

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

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

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

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

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

Σημειώστε ότι όλες οι βάσεις δεδομένων του NoSQL δεν είναι πλήρως προγραμματικές agnostic. Μερικοί, όπως το HBase, απαιτούν να σταματήσετε τη βάση δεδομένων για να αλλάξετε τους ορισμούς της στήλης. Θεωρούνται ακόμα ως βάσεις δεδομένων NoSQL, επειδή δεν είναι υποχρεωτικά όλα τα καθορισμένα πεδία (στήλες σε αυτήν την περίπτωση) να είναι γνωστά εκ των προτέρων για κάθε εγγραφή - μόνο για τις οικογένειες των στηλών.

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

Μη σχεσιακά

Τα συσχετιστικά συστήματα διαχείρισης βάσεων δεδομένων ήταν ο κυρίαρχος τρόπος αποθήκευσης των δεδομένων εφαρμογής για περισσότερα από 20 χρόνια. Ένα μεγάλο μέρος της μαθηματικής εργασίας έγινε για να αποδείξει τη θεωρία που τις στηρίζει.

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

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

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

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

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

Στη θεωρία σχεσιακών βάσεων δεδομένων, ο στόχος είναι να ομαλοποιήσετε τα δεδομένα σας (δηλαδή να οργανώσετε τα πεδία και τους πίνακες για να αφαιρέσετε τα διπλά δεδομένα) . Στις βάσεις δεδομένων NoSQL - ειδικά στις βάσεις δεδομένων "Έγγραφα" ή "Συγκεντρωμένες" - συχνά σκοπίμως απορυθμίζετε τα δεδομένα, αποθηκεύοντας ορισμένα δεδομένα πολλές φορές. Μπορείτε να αποθηκεύσετε, για παράδειγμα, "Διεύθυνση Παραλαβής Πελατών" πολλές φορές σε πολλές παραγγελίες που ο πελάτης κάνει με την πάροδο του χρόνου, αντί να το αποθηκεύσετε μία φορά και να το ανατρέξετε σε πολλαπλές παραγγελίες. Κάνοντας αυτό απαιτεί επιπλέον χώρο αποθήκευσης, και μια μικρή προοπτική στη διαχείριση στην αίτησή σας. Γιατί λοιπόν;

Υπάρχουν δύο πλεονεκτήματα για την αποθήκευση δεδομένων πολλαπλές φορές:

Εύκολη αποθήκευση και ανάκτηση:

  • Απλά αποθηκεύστε και λάβετε μία εγγραφή. Ταχύτητα ερωτήματος:

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

Δεδομένου του συνεχώς μειούμενου κόστους αποθήκευσης και της αυξημένης ταχύτητας ανάπτυξης και αναζήτησης, τα απομαρρυθμισμένα δεδομένα (aka

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

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

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

Το πλεονέκτημα της διανομής της βάσης δεδομένων σας είναι ότι μπορείτε να χρησιμοποιήσετε φθηνότερους διακομιστές, που ονομάζονται

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

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

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

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

Κοινά Χαρακτηριστικά του 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), δημιουργήστε ένα αρχείο των επαφών σας και εισάγετε το ...