Πίνακας περιεχομένων:
Βίντεο: Web Programming - Computer Science for Business Leaders 2016 2024
Αν και κάποιες λειτουργίες είναι αρκετά συνηθισμένες σε βάσεις δεδομένων NoSQL (για παράδειγμα, ο αγνωστικισμός του σχήματος και η μη σχεσιακή δομή), δεν είναι ασυνήθιστο μια βάση δεδομένων να στερείται ενός ή περισσοτέρων από τα παρακάτω χαρακτηριστικά και εξακολουθεί να χαρακτηρίζεται ως μια σύγχρονη βάση δεδομένων NoSQL.
Το λογισμικό NoSQL ανοιχτού κώδικα
είναι μοναδικό επειδή η κίνηση ανοιχτού κώδικα έχει οδηγήσει την ανάπτυξη και όχι ακολουθεί μια σειρά εμπορικών εταιρειών. Ως εκ τούτου, μπορείτε να βρείτε πλήθος προϊόντων NoSQL ανοιχτού κώδικα για να καλύψετε κάθε ανάγκη. Όταν οι προγραμματιστές δεν μπόρεσαν να βρουν μια βάση δεδομένων NoSQL για τις ανάγκες τους, δημιούργησαν ένα και δημοσίευσαν αρχικά ως ανοικτού κώδικα.
Η πλειοψηφία των δημοφιλών λύσεων NoSQL οδηγούνται από εμπορικές εταιρείες, με την ανοιχτή πηγή παραλλαγής χωρίς τα βασικά χαρακτηριστικά που απαιτούνται για την κρίσιμη χρήση της αποστολής σε μεγάλες επιχειρήσεις.
Η διαφορά μεταξύ των πωλητών NoSQL ανοιχτού κώδικα και αυτών των εξ ολοκλήρου εμπορικών εταιρειών είναι ότι οι πωλητές ανοιχτού κώδικα διαθέτουν επιχειρηματικό μοντέλο παρόμοιο με το μοντέλο Red Hat. Βασικά, κυκλοφορούν ένα προϊόν ανοικτού πηγαίου κώδικα και επίσης πωλούν επιχειρησιακά πρόσθετα χαρακτηριστικά, υποστήριξη και υπηρεσίες υλοποίησης.
Αυτό δεν είναι κακό! Αξίζει όμως να σημειωθεί ότι οι άνθρωποι στο NoSQL δεν οδηγούνται μόνο ή κυρίως από προγραμματιστές ανοιχτού κώδικα που εργάζονται στον ελεύθερο χρόνο τους, αλλά εργάζονται για τις εμπορικές εταιρείες πίσω από τα προϊόντα.
Αγοραστής προσέξτε! Όταν πρόκειται για την επιλογή μιας βάσης δεδομένων NoSQL, θυμηθείτε "το συνολικό κόστος ιδιοκτησίας. "Πολλοί οργανισμοί απέκτησαν προϊόντα ανοιχτού κώδικα μόνο για να διαπιστώσουν ότι χρειάζονται μια συνδρομή υψηλού κόστους για να αποκτήσουν τα χαρακτηριστικά που θέλουν.
BASE versus ACID
Πριν από το 2014, η πλειοψηφία των ορισμών του NoSQL δεν περιλάμβανε την υποστήριξη συναλλαγών ACID ως χαρακτηριστικό γνώρισμα των βάσεων δεδομένων NoSQL. Αυτό δεν είναι πλέον αλήθεια.
Η συναλλαγή συμβατή με το ACID σημαίνει ότι η βάση δεδομένων έχει σχεδιαστεί έτσι ώστε να μην χάσει καθόλου δεδομένα:
-
Κάθε ενέργεια μετακινεί τη βάση δεδομένων από μία έγκυρη κατάσταση σε άλλη ( A tomic).
-
Ο καθένας έχει την ίδια άποψη των δεδομένων σε οποιαδήποτε χρονική στιγμή ( C insistent).
-
Οι λειτουργίες στη βάση δεδομένων δεν παρεμβαίνουν μεταξύ τους ( I ).
-
Όταν μια βάση δεδομένων λέει ότι έχει αποθηκεύσει δεδομένα, γνωρίζετε ότι τα δεδομένα είναι ασφαλή ( D urable).
Πολλές βάσεις δεδομένων του NoSQL δεν έχουν συναλλαγές ACID. Εξαιρέσεις σε αυτό το πρότυπο είναι οι FoundationDB, Neo4j και MarkLogic Server, οι οποίες παρέχουν πλήρως σειριοποιημένες συναλλαγές ACID.
Γιατί λοιπόν η συμμόρφωση με το ACID είναι ένα όχι τόσο κοινό χαρακτηριστικό;Όταν κυκλοφόρησε το Oracle RDBMS, δεν παρείχε ούτε συμμόρφωση με το ACID. Χρειάστηκαν επτά εκδόσεις πριν από την υποστήριξη της συμμόρφωσης με το ACID σε πολλές ενημερώσεις και πίνακες βάσεων δεδομένων.
Ομοίως, αν κοιτάξετε τους οδικούς χάρτες όλων των βάσεων δεδομένων NoSQL, θα δείτε ότι όλοι αυτοί αναφέρονται σε εργασίες σχετικά με τη συνοχή των συναλλαγών. Η MongoDB, για παράδειγμα, αύξησε τα 150 εκατομμύρια δολάρια το φθινόπωρο του 2013 ειδικά για να αντιμετωπίσει αυτό και άλλα θέματα επιχειρήσεων. Η MongoDB ανακοίνωσε νέα μηχανή αποθήκευσης συμβατή με το ACID. Η συζήτηση ACID έναντι BASE είναι ενδιαφέρουσα.