Πίνακας περιεχομένων:
- Λιγότερη ανάγκη για ETL
- Υποστήριξη για μη δομημένο κείμενο
- Δυνατότητα διαχείρισης της αλλαγής με την πάροδο του χρόνου
- Καμία εμπιστοσύνη στη μαγεία SQL
- Ικανότητα κλίμακας οριζοντίως σε υλικό βασικών προϊόντων
- Εύρος λειτουργικότητας
- Υποστήριξη πολλαπλών δομών δεδομένων
- Επιλογή πωλητή
- Κανένας κώδικας κληρονομιάς
- Εκτέλεση κώδικα δίπλα στα δεδομένα
Βίντεο: GOTO 2012 • Introduction to NoSQL • Martin Fowler 2024
Οι βάσεις δεδομένων NoSQL δεν αποτελούν άμεση αντικατάσταση ενός συστήματος διαχείρισης σχεσιακών βάσεων δεδομένων (RDBMS). Για πολλά προβλήματα δεδομένων, ωστόσο, το NoSQL είναι καλύτερο από ένα RDBMS.
Λιγότερη ανάγκη για ETL
Βάσεις δεδομένων NoSQL υποστηρίζουν την αποθήκευση δεδομένων "ως έχει. "Τα καταστήματα βασικής αξίας σας δίνουν τη δυνατότητα να αποθηκεύετε απλές δομές δεδομένων, ενώ οι βάσεις δεδομένων NoSQL του εγγράφου σας παρέχουν τη δυνατότητα να χειρίζεστε μια σειρά επίπεδων ή ένθετων δομών.
Τα περισσότερα δεδομένα που μεταφέρονται μεταξύ των συστημάτων κάνουν ως μήνυμα. Συνήθως, τα δεδομένα παίρνουν μία από αυτές τις μορφές:
-
Ένα δυαδικό αντικείμενο που πρέπει να περάσει από ένα σύνολο επιπέδων
-
Ένα έγγραφο XML
-
Ένα έγγραφο JSON
Να είναι σε θέση να χειριστεί αυτές τις μορφές εγγενώς σε μια σειρά Οι βάσεις δεδομένων NoSQL μειώνουν το ποσό του κώδικα που πρέπει να μετατρέψετε από τη μορφή δεδομένων προέλευσης στη μορφή που χρειάζεται να αποθηκευτεί. Αυτό ονομάζεται απόσπασμα, μετασχηματισμός και φόρτωση (ETL).
Χρησιμοποιώντας αυτήν την προσέγγιση, μειώνετε σημαντικά το ποσό του κωδικού που απαιτείται για να ξεκινήσετε τη χρήση μιας βάσης δεδομένων NoSQL. Επιπλέον, επειδή δεν χρειάζεται να πληρώσετε για ενημερώσεις σε αυτόν τον κώδικα "υδραυλικών", το συνεχιζόμενο κόστος συντήρησης μειώνεται σημαντικά.
Υποστήριξη για μη δομημένο κείμενο
Η συντριπτική πλειοψηφία των δεδομένων σε συστήματα επιχειρήσεων είναι αδόμητη. Πολλές βάσεις δεδομένων του NoSQL μπορούν να χειριστούν την ευρετηρίαση μη δομημένου κειμένου είτε ως εγγενές χαρακτηριστικό (MarkLogic Server) είτε ως ένα ολοκληρωμένο σύνολο υπηρεσιών, όπως Solr ή Elasticsearch.
Η δυνατότητα διαχείρισης μη δομημένου κειμένου αυξάνει σημαντικά την πληροφόρηση και μπορεί να βοηθήσει τους οργανισμούς να λαμβάνουν καλύτερες αποφάσεις. Για παράδειγμα, οι προηγμένες χρήσεις περιλαμβάνουν υποστήριξη για πολλαπλές γλώσσες με λειτουργικότητα αναζήτησης, λειτουργίες αποσπάσματος και υποστήριξη υποστήριξης λέξεων. Οι προηγμένες λειτουργίες περιλαμβάνουν επίσης υποστήριξη για λεξικά και θησαυρούς.
Επιπλέον, με τη χρήση ενεργειών ειδοποίησης αναζήτησης στην καταχώρηση δεδομένων, μπορείτε να εξαγάγετε ονομασμένες οντότητες από καταλόγους, όπως εκείνους που απαριθμούν ανθρώπους, μέρη και οργανισμούς, που επιτρέπει την καλύτερη κατηγοριοποίηση, ετικέτα και αναζήτηση κειμένων.
Οι υπηρεσίες εμπλουτισμού οντότητας, όπως τα SmartLogic, OpenCalais, NetOwl και TEMIS Luxid που συνδυάζουν τις εξαγόμενες πληροφορίες με άλλες πληροφορίες, παρέχουν έναν πλούσιο ιστό πληροφόρησης και ενισχύουν την αποτελεσματική ανάλυση και χρήση.
Δυνατότητα διαχείρισης της αλλαγής με την πάροδο του χρόνου
Λόγω της ιδιότητας agnostic χαρακτήρα των βάσεων δεδομένων NoSQL, είναι πολύ ικανοί να διαχειριστούν την αλλαγή - δεν χρειάζεται να ξαναγράψετε ρουτίνες ETL εάν αλλάξει η δομή μηνυμάτων XML μεταξύ συστημάτων.
Ορισμένες βάσεις δεδομένων του NoSQL κάνουν αυτό το βήμα παραπέρα και παρέχουν έναν καθολικό δείκτη για τη δομή, τις τιμές και το κείμενο που βρέθηκαν στις πληροφορίες.Ο Microsoft DocumentDB και ο MarkLogic Server παρέχουν και αυτή την δυνατότητα.
Αν μια δομή εγγράφου αλλάξει, αυτοί οι δείκτες επιτρέπουν στους οργανισμούς να χρησιμοποιούν τις πληροφορίες αμέσως, αντί να χρειάζεται να περιμένουν αρκετούς μήνες για να μπορέσετε να δοκιμάσετε και να ξαναγράψετε τα συστήματα.
Καμία εμπιστοσύνη στη μαγεία SQL
Η δομημένη γλώσσα ερωτήματος (SQL) είναι η κυρίαρχη γλώσσα που χρησιμοποιείται για την αναζήτηση συστημάτων σχεσιακής διαχείρισης βάσεων δεδομένων. Το να είναι σε θέση να δομήσει τα ερωτήματα έτσι ώστε να αποδίδουν καλά έχει όλα αυτά τα χρόνια γίνει μια ακανθώδη τέχνη. Οι σύνθετες πολλαπλές συνδέσεις δεν είναι εύκολο να γραφτούν από τη μνήμη.
Αν και πολλές βάσεις δεδομένων NoSQL υποστηρίζουν την πρόσβαση SQL, το κάνουν για συμβατότητα με υπάρχουσες εφαρμογές, όπως εργαλεία επιχειρηματικής ευφυΐας (BI). Οι βάσεις δεδομένων NoSQL υποστηρίζουν τις δικές τους γλώσσες πρόσβασης που μπορούν να ερμηνεύσουν τα αποθηκευμένα δεδομένα, αντί να απαιτούν ένα σχεσιακό μοντέλο μέσα στην υποκείμενη βάση δεδομένων.
Αυτή η περισσότερο νοοτροπία για τον προγραμματιστή των βάσεων δεδομένων και οι διεπαφές προγραμματισμού εφαρμογών πρόσβασης (API) είναι ο λόγος για τον οποίο οι βάσεις δεδομένων NoSQL έχουν γίνει πολύ δημοφιλείς μεταξύ των προγραμματιστών εφαρμογών.
Οι προγραμματιστές εφαρμογών δεν χρειάζεται να γνωρίζουν τις εσωτερικές λειτουργίες και τις ιδιοτροπίες των βάσεων δεδομένων πριν τις χρησιμοποιήσουν. Οι βάσεις δεδομένων NoSQL εξουσιοδοτούν τους προγραμματιστές να δουλέψουν σε αυτό που απαιτείται στις εφαρμογές αντί να προσπαθούν να αναγκάσουν τις σχεσιακές βάσεις δεδομένων να κάνουν ό, τι απαιτείται.
Ικανότητα κλίμακας οριζοντίως σε υλικό βασικών προϊόντων
Οι βάσεις δεδομένων NoSQL διαχειρίζονται διαχωρισμό ( sharding ) μιας βάσης δεδομένων σε διάφορους διακομιστές. Έτσι, εάν οι απαιτήσεις σας για αποθήκευση δεδομένων αυξάνονται υπερβολικά, μπορείτε να συνεχίσετε να προσθέτετε φθηνούς διακομιστές και να τις συνδέσετε με το σύμπλεγμα βάσεων δεδομένων σας ( οριζόντια κλίμακα ), κάνοντάς τους να λειτουργούν ως ενιαία υπηρεσία δεδομένων.
Σε αντίθεση με αυτό στον κόσμο της σχεσιακής βάσης δεδομένων, όπου χρειάζεται να αγοράσετε νέα, πιο ισχυρά και κατά συνέπεια πιο ακριβό υλικό για να αυξήσετε την κλίμακα ( κατακόρυφη κλιμάκωση ). Εάν επρόκειτο να διπλασιάσετε το ποσό των δεδομένων που αποθηκεύσατε, θα τεμαχίζετε εύκολα το κόστος του υλικού που χρειάζεστε.
Η εξασφάλιση της αντοχής και της υψηλής διαθεσιμότητας μιας βάσης δεδομένων NoSQL με τη χρήση φθηνού υλικού και αποθήκευσης είναι ένα από τα σημαντικότερα περιουσιακά στοιχεία της NoSQL. Το να είσαι σε θέση να το πράξει, παρέχοντας γενναιόδωρη κλιμάκωση για πολλές χρήσεις επίσης δεν βλάπτει!
Εύρος λειτουργικότητας
Οι περισσότερες σχεσιακές βάσεις δεδομένων υποστηρίζουν τα ίδια χαρακτηριστικά, αλλά με έναν ελαφρώς διαφορετικό τρόπο, έτσι όλα είναι παρόμοια.
Οι βάσεις δεδομένων NoSQL, σε αντίθεση, έρχονται σε τέσσερις βασικούς τύπους: key-value, columnary, document και triple stores. Μέσα σε αυτούς τους τύπους, μπορείτε να βρείτε μια βάση δεδομένων που να ταιριάζει στις ιδιαίτερες (και ιδιόμορφες!) Ανάγκες σας. Με τόσο πολλές επιλογές, είστε αναγκασμένοι να βρείτε μια βάση δεδομένων NoSQL που θα λύσει τα προβλήματά σας.
Υποστήριξη πολλαπλών δομών δεδομένων
Πολλές εφαρμογές χρειάζονται απλή αποθήκευση αντικειμένων, ενώ άλλες απαιτούν εξαιρετικά πολύπλοκη και αλληλένδετη αποθήκευση δομών. Οι βάσεις δεδομένων NoSQL παρέχουν υποστήριξη για μια σειρά δομών δεδομένων.
-
Οι απλές δυαδικές τιμές, λίστες, χάρτες και συμβολοσειρές μπορούν να χρησιμοποιηθούν με μεγάλη ταχύτητα σε καταστήματα με βασικές τιμές.
-
Οι σχετικές τιμές πληροφοριών μπορούν να ομαδοποιηθούν σε οικογένειες των κλώνων εντός κλώνων Bigtable.
-
Οι πολύπλοκες ιεραρχικές δομές γονέα-παιδιού μπορούν να διαχειρίζονται μέσα σε βάσεις δεδομένων εγγράφων.
-
Ένας ιστός αλληλένδετων πληροφοριών μπορεί να περιγραφεί με ευελιξία και συσχετισμός σε τρισδιάστατα και γραφικά καταστήματα.
Επιλογή πωλητή
Η βιομηχανία NoSQL είναι γεμάτη με βάσεις δεδομένων, αν και πολλοί είναι γύρω για λιγότερο από δέκα χρόνια. Για παράδειγμα, η IBM, η Microsoft και η Oracle μόλις πρόσφατα βυθίστηκαν τα δάχτυλά τους στην αγορά. Κατά συνέπεια, πολλοί πωλητές στοχεύουν συγκεκριμένο κοινό με τη δική τους καινοτομία.
Οι παραλλαγές πηγής Open-Open είναι διαθέσιμες για τις περισσότερες βάσεις δεδομένων NoSQL, οι οποίες επιτρέπουν στις εταιρείες να διερευνήσουν και να αρχίσουν να χρησιμοποιούν τις βάσεις δεδομένων NoSQL με ελάχιστο κίνδυνο. Αυτές οι εταιρείες μπορούν στη συνέχεια να χρησιμοποιήσουν τις νέες μεθόδους τους σε μια πλατφόρμα παραγωγής χρησιμοποιώντας τις προσφορές επιχειρήσεων.
Κανένας κώδικας κληρονομιάς
Επειδή είναι τόσο καινούργιες, οι βάσεις δεδομένων NoSQL δεν έχουν κληροδοτημένο κώδικα, πράγμα που σημαίνει ότι δεν χρειάζεται να παρέχουν υποστήριξη για παλιές πλατφόρμες υλικού ή να ενημερώνουν την παράξενη και σπάνια χρησιμοποιούμενη λειτουργικότητα.
Οι βάσεις δεδομένων του NoSQL απολαμβάνουν γρήγορο ρυθμό ανάπτυξης και ωρίμανσης. Οι νέες λειτουργίες κυκλοφορούν συνεχώς και οι νέες και υπάρχουσες λειτουργίες ενημερώνονται συχνά (ώστε οι πωλητές NoSQL να μην χρειάζεται να διατηρούν πολύ μεγάλη βάση κώδικα). Στην πραγματικότητα, νέες μεγάλες κυκλοφορίες συμβαίνουν ετησίως και όχι κάθε τρία έως πέντε χρόνια.
Εκτέλεση κώδικα δίπλα στα δεδομένα
Βάσεις δεδομένων NoSQL δημιουργήθηκαν στην εποχή του Hadoop. Το ιδιαίτερα διανεμημένο σύστημα αρχείων (HDFS) του Hadoop και το περιβάλλον επεξεργασίας παρτίδας (Map / Reduce) σηματοδότησαν αλλαγές στον τρόπο αποθήκευσης, ερωτήσεως και επεξεργασίας των δεδομένων.
Τα ερωτήματα και οι εργασίες επεξεργασίας περνούν πλέον σε διάφορους διακομιστές, οι οποίοι παρέχουν υψηλά επίπεδα παραλληλισμού τόσο για το φόρτο εργασίας όσο και για το φόρτο εργασίας του ερωτήματος. Το να μπορεί κανείς να υπολογίζει συγκεντρωτικά δίπλα στα δεδομένα έχει επίσης γίνει ο κανόνας.
Δεν χρειάζεστε πλέον ξεχωριστό σύστημα αποθήκης δεδομένων το οποίο ενημερώνεται όλη τη νύχτα. Με γρήγορες συγκεντρώσεις και χειρισμό ερωτημάτων, η ανάλυση μεταβιβάζεται στη βάση δεδομένων για εκτέλεση δίπλα στα δεδομένα, πράγμα που σημαίνει ότι δεν χρειάζεται να μεταφέρετε πολλά δεδομένα γύρω από ένα δίκτυο για να επιτύχετε τοπική συνδυασμένη ανάλυση.