Βίντεο: Introduction to Amazon Web Services by Leo Zhadanovsky 2024
Τα καταστήματα δεδομένων NoSQL είχαν αρχικά εγγραφεί στην έννοια "Just Say No to SQL" (για να παραφράσω διαφημιστική καμπάνια κατά των ναρκωτικών στη δεκαετία του '80), και ήταν μια αντίδραση στους αντιληπτους περιορισμούς των σχεσιακών βάσεων δεδομένων (SQL). Δεν είναι ότι αυτοί οι άνθρωποι μισούσαν την SQL, αλλά ήταν κουρασμένοι να αναγκάζουν τετράγωνους γόμφους σε στρογγυλές τρύπες επιλύοντας προβλήματα που δεν σχεδιάστηκαν για σχεσιακές βάσεις δεδομένων.
Μια σχεσιακή βάση δεδομένων είναι ένα ισχυρό εργαλείο, αλλά για ορισμένα είδη δεδομένων (όπως ζεύγη κλειδιών-τιμών ή γραφήματα) και μερικά μοντέλα χρήσης (όπως εξαιρετικά μεγάλης κλίμακας αποθήκευση) t πρακτικό. Και όταν πρόκειται για αποθήκευση μεγάλου όγκου, η σχεσιακή βάση δεδομένων μπορεί να είναι δαπανηρή, τόσο ως προς το κόστος της άδειας βάσης δεδομένων όσο και ως προς το κόστος υλικού. (Οι σχεσιακές βάσεις δεδομένων έχουν σχεδιαστεί για να λειτουργούν με υλικό επιχειρησιακής ποιότητας.)
Το όνομα NoSQL είναι κάπως παραπλανητικό επειδή πολλές βάσεις δεδομένων που ταιριάζουν στην κατηγορίαέως έχουν υποστήριξη SQL (και όχι υποστήριξη "NoSQL"). Σκεφτείτε το όνομά της αντί "όχι μόνο SQL. " Καταστήματα βασικής αξίας:
Αυτή η προσφορά παρέχει έναν τρόπο αποθήκευσης οποιουδήποτε είδους των δεδομένων χωρίς να χρειάζεται να χρησιμοποιήσετε ένα σχήμα. Αυτό έρχεται σε αντίθεση με τις σχεσιακές βάσεις δεδομένων, όπου πρέπει να ορίσετε το σχήμα (η δομή του πίνακα) πριν εισαχθούν οποιαδήποτε δεδομένα. Καθώς τα καταστήματα κλειδιών-αξίας δεν απαιτούν σχήμα, έχετε μεγάλη ευελιξία για την αποθήκευση δεδομένων σε πολλές μορφές.
-
Σε ένα κατάστημα βασικής αξίας, μια σειρά απλά αποτελείται από ένα κλειδί (αναγνωριστικό) και μια τιμή, η οποία μπορεί να είναι οτιδήποτε από μια ακέραια τιμή σε μια μεγάλη δυαδική συμβολοσειρά δεδομένων. Πολλές υλοποιήσεις καταστημάτων βασικής αξίας βασίζονται στο χαρτί Dynamo της Amazon. Καταστήματα οικογενειών της στήλης:
Εδώ υπάρχουν βάσεις δεδομένων στις οποίες οι στήλες ομαδοποιούνται σε οικογένειες στηλών και αποθηκεύονται μαζί στο δίσκο.
-
Αυστηρά μιλώντας, πολλές από αυτές τις βάσεις δεδομένων δεν είναι προσανατολισμένες σε στήλες, επειδή βασίζονται στο χαρτί BigTable της Google, το οποίο αποθηκεύει δεδομένα ως πολυδιάστατο ταξινομημένο χάρτη. Αποθηκευτικά έγγραφα:
Αυτή η προσφορά βασίζεται σε συλλογές εγγράφων με παρόμοια κωδικοποίηση και μορφοποίηση για βελτίωση της αποτελεσματικότητας.Οι καταγραφές εγγράφων επιτρέπουν σε μεμονωμένα έγγραφα μιας συλλογής να περιλαμβάνουν μόνο ένα υποσύνολο πεδίων, επομένως αποθηκεύονται μόνο τα δεδομένα που χρειάζονται. Για τα αραιά σύνολα δεδομένων, όπου συχνά δεν υπάρχουν πολλοί τομείς, αυτό μπορεί να μεταφραστεί σε σημαντική εξοικονόμηση χώρου.
-
Αντίθετα, κενές στήλες σε πίνακες σχεσιακών βάσεων δεδομένων καταλαμβάνουν χώρο. Η αποθήκευση εγγράφων επιτρέπει επίσης την ευελιξία του σχήματος, επειδή αποθηκεύονται μόνο τα πεδία που χρειάζονται και μπορούν να προστεθούν νέα πεδία. Και πάλι, σε αντίθεση με τις σχεσιακές βάσεις δεδομένων, οι δομές των τραπεζών ορίζονται μπροστά πριν αποθηκευτούν τα δεδομένα και η αλλαγή των στηλών είναι μια κουραστική εργασία που επηρεάζει ολόκληρο το σύνολο δεδομένων. Βάσεις δεδομένων γραφημάτων:
Εδώ έχετε βάσεις δεδομένων που αποθηκεύουν
-
δομές γραφημάτων - παραστάσεις που εμφανίζουν συλλογές οντοτήτων (κόμβων ή κόμβων) και των σχέσεών τους (άκρες). Αυτές οι δομές επιτρέπουν τις βάσεις δεδομένων γραφικών να είναι εξαιρετικά κατάλληλες για την αποθήκευση σύνθετων δομών, όπως οι σχέσεις σύνδεσης μεταξύ όλων των γνωστών ιστοσελίδων. (Για παράδειγμα, μεμονωμένες ιστοσελίδες είναι κόμβοι και οι άκρες που τις συνδέουν είναι συνδέσεις από τη μία σελίδα στην άλλη.) Η Google, βέβαια, είναι σε όλη την τεχνολογία γραφημάτων και εφευρέθηκε μια μηχανή επεξεργασίας γραφικών που ονομάζεται Pregel για να τροφοδοτήσει το PageRank αλγόριθμος. (Και ναι, υπάρχει μια λευκή βίβλος σχετικά με την Pregel.) Στην κοινότητα Hadoop, υπάρχει ένα έργο Apache που ονομάζεται Giraph (βασισμένο στο χαρτί Pregel), ο οποίος είναι ένας μηχανισμός επεξεργασίας γραφικών που σχεδιάστηκε για να επεξεργάζεται γραφήματα αποθηκευμένα σε HDFS. Οι επιλογές αποθήκευσης και επεξεργασίας δεδομένων που είναι διαθέσιμες στο Hadoop είναι σε πολλές περιπτώσεις υλοποιήσεις των κατηγοριών NoSQL που αναφέρονται εδώ. Αυτό θα σας βοηθήσει να αξιολογήσετε καλύτερα τις λύσεις που είναι διαθέσιμες για εσάς και να δείτε πώς η Hadoop μπορεί να συμπληρώσει τις παραδοσιακές αποθήκες δεδομένων.