Προγραμματισμός

NoSQL standouts: Οι καλύτερες βάσεις δεδομένων εγγράφων

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

Με μια βάση δεδομένων εγγράφων, τα δεδομένα δεν αποθηκεύονται σε πίνακες με διαφορετικούς τύπους στηλών. Αντ 'αυτού, αποθηκεύεται σε "έγγραφα" ελεύθερης μορφής με οποιονδήποτε αριθμό πεδίων και οποιονδήποτε αριθμό ένθετων δομών. Τέτοια έγγραφα αντιπροσωπεύονται συνήθως ως JSON και ενημερώνονται είτε μέσω API είτε αποστέλλοντας το JSON σε ένα τελικό σημείο REST. Οι περισσότερες από τις σύγχρονες γλώσσες προγραμματισμού υποστηρίζουν JSON και REST, οπότε η εργασία με μια βάση δεδομένων εγγράφων μοιάζει περισσότερο με την εργασία εγγενώς με αυτές τις δομές δεδομένων από την εργασία με μια παραδοσιακή βάση δεδομένων.

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

Εδώ έχουμε σχεδιάσει επτά από τις πιο γνωστές και ευρύτερα χρησιμοποιούμενες βάσεις δεδομένων εγγράφων. Τέσσερα από τα επτά - CouchDB, Couchbase Server, MongoDB και RethinkDB - είναι έργα ανοιχτού κώδικα με λίγα ή καθόλου πρακτικά εμπόδια για να ξεκινήσετε. Το Couchbase και το MongoDB είναι επίσης διαθέσιμα σε υποστηριζόμενες εκδόσεις επιχειρήσεων με εμπορικές άδειες. Τα άλλα τρία - Amazon DynamoDB, Google Firebase και IBM Cloudant - φιλοξενούνται υπηρεσίες από μεγάλους προμηθευτές cloud, όπου η στενή ενοποίηση με άλλες υπηρεσίες σε αυτά τα σύννεφα είναι μια μεγάλη κλήρωση.

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

Κλειδί: μεγάλο= Linux, Δ= Windows, Μ= MacOS, μικρό= Solaris, Εγώ= iOS, ΕΝΑ= Android, Ο= άλλα κινητά,

1. Τα εργαλεία τρίτων ενδέχεται να παρέχουν αυτήν τη λειτουργικότητα. 2. Ανά τραπέζι. 3. Μόνο για εταιρική έκδοση. 4. Προβολή λειτουργιών μόνο. 5. Οι συναλλαγές πολλαπλών εγγράφων είναι επίσης διαθέσιμες, αλλά όχι σε θραύσματα συστάδων.

 Amazon DynamoDBCosmos DBΚαναπέςCouchDBGoogle FirebaseIBM CloudantMarkLogicMongoDBΕπανεξέτασηDB
ΠλατφόρμεςΜόνο για σύννεφοΜόνο για σύννεφοLWMLWMIAOΜόνο για σύννεφοΜόνο για σύννεφοLWMSLWMSLWM
Συστήματα ερωτημάτωνAPI RESTΠρωτόκολλο καλωδίου MongoDBΠρωτόκολλο μνήμης, API RESTAPI RESTAPI REST / JavaScriptAPI RESTAPI RESTAPI που βασίζεται σε JSON, μερικό REST APIΓλώσσα ερωτήματος ReQL, REST API
Ερώτηση SQL Νο 1ΝαίΜέσω της γλώσσας N1QL Οχι Οχι Οχι Ναί Νο 1 Οχι
Ισχυρή πληκτρολόγησηΝαίΝαίΝαί Οχι Ναί Οχι Για σχήματα XMLΝαίΝαί
Οι εγγενείς συμμετέχουν Οχι ΝαίΝαί Οχι Οχι Οχι ΝαίΝαίΝαί
Sharding διαμέρισηΝαίΝαίΝαίΝαίΝΑΝαίΝαίΝαίΝαι2
Ομαδοποίηση ΝΑ ΝαίΝαίΝαί ΝΑ ΝΑ ΝαίΝαίΝαί
ΑναπαραγωγήΝαίΝαίΝαίΝαί ΝΑ ΝαίΝαίΝαίΑνά τραπέζι
Συνοχή: ΆμεσηΑνά ανάγνωσηΝαίΣυνολικά Οχι Συνδεδεμένοι πελάτες Οχι ΝαίΑνά γράψιμοΑνά έγγραφο
Συνοχή: ΤελικάΝαίΝαίΝαίΝαίΠελάτες εκτός σύνδεσηςΝαίΝαίΝαίΟλόκληρη η βάση δεδομένων
ΣυγχρονισμόςΝαίΝαίΝαίΝαίΝαίΝαίΝαίΝαίΝαί
Λειτουργίες στη μνήμη ΝΑ ΝΑ Οχι Οχι ΝΑ Οχι ΝΑ Ναι3 Οχι
Αποθηκευμένες διαδικασίες Οχι JavaScriptJavaScript4JavaScript4ΚανόνεςJavaScript4Ενότητα XQueryJavaScript Οχι
ΣυναλλαγέςΜε εφαρμογήΝαίΕνιαία έγγραφαΕνιαία έγγραφαΝαίΕνιαία έγγραφαΕνιαία έγγραφαΜεμονωμένα έγγραφα5Ενιαία έγγραφα
Τρέχουσα έκδοσηΝΑΝΑ5.0 (Οκτ. 2017)2.1.1 (Νοέμβριος 2017)ΝΑΝΑ9.0 (Μάιος 2016)3.4.10 (Οκτ. 2017)2.3.6 (Ιουλ 2017)
Αρχική έκδοση201220172011200520122010200520092009

Amazon DynamoDB

Το κατάστημα εγγράφων DynamoDB της Amazon ξεκίνησε τη ζωή του το 2012 ως επέκταση του SimpleDB του Amazon. Κάτω από την κουκούλα τροφοδοτείται από ένα κατάστημα βασικής αξίας, το Dynamo. Ένας συν-προγραμματιστής του DynamoDB θα αντλήσει αργότερα πολλές από τις ίδιες ιδέες για να δημιουργήσει το Apache Cassandra.

Χαρακτηριστικά DynamoDB

Όπως οι περισσότερες από τις άλλες προσφορές cloud της Amazon, το DynamoDB είναι μια διαχειριζόμενη υπηρεσία pay-as-you-go-for-what-you-need. Οι προγραμματιστές ορίζουν πόση χωρητικότητα αποθήκευσης για τη διατήρηση είτε μη δομημένων εγγράφων είτε ζευγών κλειδιού-τιμής και επιλέγουν ένα κατ 'αποκοπή όριο ωριαίας τιμής για αιτήματα ανάγνωσης και εγγραφής στη βάση δεδομένων. Δεν χρειάζεται να παρέχετε διακομιστές ή να διαμορφώνετε την αναπαραγωγή — η Amazon χειρίζεται όλα αυτά κάτω από τα εξώφυλλα και πρόσφατα πρόσθεσε αυτόματη κλιμάκωση στο μείγμα.

Φυσικά, το DynamoDB προσφέρει στους προγραμματιστές χρήσιμες ενσωματώσεις με άλλες υπηρεσίες στο cloud του Amazon. Οι κανόνες ενεργοποίησης, για παράδειγμα, μπορούν να ρυθμιστούν μέσω των λειτουργιών AWS Lambda. Το BI και τα εργαλεία ανάλυσης του Amazon βρίσκονται επίσης κοντά. Η εγγύτητα με αυτές τις υπηρεσίες είναι βολική, αλλά επίσης σημαίνει ότι η Amazon μπορεί να αναβαθμίσει τη λειτουργικότητα με διάφορους τρόπους. Η προσωρινή αποθήκευση και η επιτάχυνση a la Redis, για παράδειγμα, διατίθενται μέσω του DynamoDB Accelerator, ενός πρόσθετου κόστους-συν.

Τοπικό DynamoDB

Δεν θα βρείτε το DynamoDB σε μια ενσάρκωση ανοιχτού κώδικα. Διατίθεται αποκλειστικά ως φιλοξενούμενη προσφορά στο cloud του Amazon.

Τούτου λεχθέντος, σε αντίθεση με πολλές άλλες εγγενείς βάσεις δεδομένων cloud, το DynamoDB είναι επίσης διαθέσιμο σε μια έκδοση που μπορεί να ληφθεί και να εκτελεστεί τοπικά. Ωστόσο, το DynamoDB Local δεν προορίζεται για χρήση στην παραγωγή, αλλά ως τρόπος για τη δημιουργία μιας εφαρμογής σε ένα δοκιμαστικό περιβάλλον χωρίς να απαιτείται σύνδεση ή εκτέλεση λογαριασμού Amazon.

Microsoft Azure Cosmos DB

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

Χαρακτηριστικά του Cosmos DB

Αντί να εφεύρει ένα εντελώς νέο API για ένα σύστημα βάσης δεδομένων εγγράφων, το Cosmos DB παρέχει ένα API συμβατό με το δημοφιλές MongoDB (συζητείται παρακάτω). Μεταξύ των πλεονεκτημάτων είναι ότι ο υπάρχων κώδικας που χρησιμοποιεί βιβλιοθήκες διεπαφής MongoDB ή το πρωτόκολλο δυαδικού καλωδίου της MongoDB μπορεί να λειτουργήσει ως έχει. Αυτό σημαίνει ότι η Cosmos DB μπορεί να παρέχει το MongoDB ως υπηρεσία. Ομοίως, το Cosmos DB υποστηρίζει το API της Cassandra, τη δημοφιλή βάση δεδομένων της οικογένειας στηλών.

Η Microsoft προσφέρει πολλά πλεονεκτήματα στην Cosmos DB που δεν είναι απαραίτητα αποκλειστικά για τη λειτουργικότητα της βάσης δεδομένων εγγράφων, αλλά προορίζονται να προσελκύσουν αυτές τις εφαρμογές βάσης δεδομένων εγγράφων. Μία τέτοια προσφορά είναι συντονισμένα επίπεδα συνέπειας. Εάν έχετε ορισμένες κατηγορίες συναλλαγών εγγράφων που απαιτούν μεγαλύτερη συνοχή σε περιοχές Azure από άλλες, μπορείτε να τις καθορίσετε με μη αυτόματο τρόπο ανά συναλλαγή.

Άλλα χαρακτηριστικά είναι πιο συγκεκριμένα για βάσεις δεδομένων εγγράφων. Για παράδειγμα, οι χρήστες του MongoDB πρέπει να ρυθμίσουν ευρετήρια σε συλλογές εγγράφων για τη βελτιστοποίηση των αναζητήσεων. Οι χρήστες του Cosmos DB που εργάζονται με τα API MongoDB δεν χρειάζεται να ρυθμίσουν ευρετηρίαση για έγγραφα, καθώς κάθε ιδιότητα σε ένα εισαγόμενο τεκμηριωμένο ευρετήριο αυτόματα.

Χρήση του Cosmos DB στο Microsoft Azure

Δεν υπάρχει τοπικά φιλοξενούμενη έκδοση του Cosmos DB. Διατίθεται μόνο ως υπηρεσία στο Microsoft Azure cloud. Τούτου λεχθέντος, τα API ανάπτυξης για το Cosmos DB είναι διαθέσιμα για τις περισσότερες δημοφιλείς επιχειρηματικές γλώσσες - Java, Node.js, .NET και Python.

Διακομιστής Couchbase

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

Χαρακτηριστικά Couchbase

Ένα χαρακτηριστικό που ξεχωρίζει το Couchbase, όχι μόνο από άλλους διαγωνισμούς NoSQL, αλλά και από τον προκάτοχό του CouchDB, είναι η γλώσσα ερωτήματος που μοιάζει με SQL που ονομάζεται N1QL (προφέρεται "νικέλιο"). Το N1QL δεν προσφέρει το πλήρες φάσμα εντολών που θα περίμενε κανείς από μια εφαρμογή ANSI SQL, αλλά παρέχει αρκετές χρήσιμες λειτουργίες, όπως λειτουργίες JOIN, για κάποιον με εμπειρία SQL για να έχει λειτουργικά αποτελέσματα.

Το σύστημα ερωτημάτων Couchbase δεν είναι μόνο για προγραμματιστές, αλλά και για DBA και επιχειρηματικούς αναλυτές που συνήθως ασχολούνται με συμβατικές βάσεις δεδομένων. Δυνατότητες όπως η ΕΞΗΓΗΣΗ λέξη-κλειδί φαίνεται να έχουν τοποθετηθεί ειδικά για να προσελκύσουν αυτό το πλήθος.

Ως συνδυασμός βάσης δεδομένων εγγράφων και κλειδιού-τιμής, το Couchbase αποθηκεύει έγγραφα χρησιμοποιώντας τα μοναδικά αναγνωριστικά τους ως κλειδί. Στα έγγραφα μπορούν επίσης να εκχωρηθούν τιμές χρονικής διάρκειας, ώστε να λειτουργούν σαν κρυφή μνήμη κλειδιού-τιμής. Τούτου λεχθέντος, ένα πραγματικό σύστημα προσωρινής αποθήκευσης κλειδιού-τιμής όπως το Redis θα είναι πολύ πιο γρήγορο για βασική αποθήκευση κλειδιού-τιμής, αλλά το Couchbase είναι πιο ευέλικτο και το Redis και το Couchbase μπορούν να συνδυαστούν αποτελεσματικά για να επιταχύνουν τα πράγματα. Σε αυτό το σημείωμα, το Couchbase έχει εγγενή υποστήριξη για το πρωτόκολλο Memcached, επομένως οι υπάρχουσες εφαρμογές που χρησιμοποιούν Memcached μπορούν να συνδεθούν στο Couchbase ως υποκατάστατο.

Κοινότητα Couchbase εναντίον επιχειρήσεων

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

Η κοινοτική έκδοση μπορεί να αναπτυχθεί στην παραγωγή, αλλά δεν διαθέτει τις πιο προηγμένες δυνατότητες της εταιρικής έκδοσης καθώς και την υποστήριξη, οπότε οι μη αγοραστές πρέπει να προσέχουν. Ορισμένες λειτουργίες στο Couchbase, όπως η οριζόντια λειτουργικότητά της, έχουν βρεθεί στο έργο CouchDB, αλλά αυτό είναι περισσότερο η εξαίρεση από τον κανόνα.

Couchbase Lite

Μια άλλη έκδοση του Couchbase που αξίζει να σημειωθεί για τους προγραμματιστές εφαρμογών είναι το Couchbase Lite, μια ενσωματωμένη έκδοση του Couchbase που μπορεί να συγχρονιστεί με παρουσίες της πλήρους έκδοσης. Το Couchbase Lite είναι το βασικό συστατικό του Couchbase Mobile, μια στοίβα εφαρμογών για εφαρμογές για κινητά που χρειάζονται αποθήκευση δεδομένων που συγχρονίζεται αυτόματα με ένα back-end. Το Couchbase Mobile είναι διαθέσιμο για iOS, Android, Java. .Net, MacOS και tvOS.

CouchDB

Το έργο CouchDB ξεκίνησε το 2005 από έναν πρώην προγραμματιστή της IBM και μεταφέρθηκε στο Ίδρυμα Λογισμικού Apache το 2008. Μερικές φορές θεωρείται ότι το CouchDB είναι η βάση για το Couchbase, αλλά το CouchDB και το Couchbase είναι παράλληλα έργα με διαφορετικούς στόχους.

CouchDB εναντίον Couchbase

Ενώ το Couchbase είναι μια βάση δεδομένων εγγράφων και ένα κατάστημα κλειδιού-τιμής, το CouchDB είναι αυστηρά μια βάση δεδομένων εγγράφων. Και ενώ το Couchbase έχει από καιρό επικεντρωθεί σε εταιρικές λειτουργίες όπως η ανοχή σφαλμάτων και μια γλώσσα ερωτήματος που μοιάζει με SQL, τέτοιες ωραίες αρχίζουν να φτάνουν στο CouchDB.

Χαρακτηριστικά CouchDB

Το CouchDB δίνει έμφαση στην απλότητα της ανάπτυξης και στην ευκολία χρήσης. Η ανάκτηση δεδομένων από τη βάση δεδομένων είναι τόσο απλή όσο η αποστολή ερωτημάτων JSON σε τελικό σημείο REST HTTPS, με τα αποτελέσματα να επιστρέφονται στο JSON. Οι περισσότερες από τις σύγχρονες γλώσσες προγραμματισμού μπορούν να κάνουν αυτά τα πράγματα και επίσης να εκτελούν τη χαρτογράφηση και τη μείωση που απαιτείται για τη δημιουργία των προβολών πίσω από τα ερωτήματα και τις αναφορές του CouchDB. Δεν υπάρχει ανάγκη για ένα πρόγραμμα οδήγησης ODBC ή μια σύνδεση δεδομένων.

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

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

Η δυνατότητα κλιμάκωσης υπήρξε από καιρό ένα αδύναμο σημείο για το CouchDB, αλλά πρόσφατα αντιμετωπίστηκε. Η έκδοση 2.0 αναδεύτηκε με μια νέα τεχνολογία ομαδοποίησης, χάρη στα bits ανοιχτά που προέρχονται από το Cloudant / IBM και συγχωνεύονται στο έργο. Τέλος, για όσους είναι εξοικειωμένοι με το MongoDB και θέλουν να χρησιμοποιήσουν μια παρόμοια δηλωτική σύνταξη ερωτημάτων, το έργο Mango, επίσης από το Cloudant / IBM, το παρέχει ως εξωτερικό πρόσθετο.

Λήψη CouchDB

Τα δυαδικά αρχεία του CouchDB για όλες τις μεγάλες πλατφόρμες και τον πηγαίο κώδικα, μπορούν να ληφθούν από τον επίσημο ιστότοπο του CouchDB. Πηγή για το έργο είναι επίσης διαθέσιμη στο GitHub.

Βάση δεδομένων Google Firebase σε πραγματικό χρόνο

Ίσως να θεωρήσετε το Google Firebase ως απάντηση της Google στο DynamoDB - έναν τρόπο παροχής γρήγορου συγχρονισμού αποθήκευσης δεδομένων μεταξύ ενός cloud back-end και τοπικών εφαρμογών σε πολλές πλατφόρμες.

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

Λειτουργίες του Google Firebase

Η Google απέκτησε το Firebase το 2014. Τα χρόνια από τότε, ενέπνευσε το Firebase για να εκμεταλλευτεί πολλές δυνατότητες του Google Cloud. Το Google Cloud Functions for Firebase, για παράδειγμα, σας επιτρέπει να ενεργοποιήσετε λειτουργίες JavaScript στο cloud ως απόκριση σε συμβάντα Firebase. Το Google Analytics for Firebase σάς επιτρέπει να τραβάτε δεδομένα εφαρμογών για κινητά στο BigQuery για βαθύτερη ανάλυση.

Καθώς το gaming είναι μία από τις εφαρμογές στόχου του Firebase, τα SDK που παρέχονται για το Firebase περιλαμβάνουν το πλαίσιο ανάπτυξης παιχνιδιών μεταξύ πλατφορμών Unity. Οι προγραμματιστές που εργάζονται σε πιο συμβατικά έργα που εστιάζουν σε επιχειρήσεις ή απευθύνονται σε καταναλωτές έχουν πολλές άλλες επιλογές: εγγενές iOS και Android, C ++, γενικό ιστό / JavaScript και οποιαδήποτε άλλη γλώσσα που υποστηρίζει REST (Java, Python, το ονομάζετε).

Το Firebase έχει σχεδιαστεί για να λειτουργεί σε σενάρια όπου η συνδεσιμότητα δεν είναι εγγυημένη. Όπως το CouchDB, αποθηκεύει προσωρινά τις αλλαγές τοπικά όταν είναι εκτός σύνδεσης και συγχρονίζεται αυτόματα με το πίσω μέρος όταν επιστρέφει η συνδεσιμότητα. Λάβετε υπόψη ότι το Firebase δεν έχει σχεδιαστεί για να χρησιμοποιείται ως αυτόνομη, εντελώς εκτός σύνδεσης λύση. στο Android, για παράδειγμα, οι τοπικές βάσεις δεδομένων περιορίζονται σε 10 MB στο χώρο αποθήκευσης.

Firebase στο Google Cloud και το GitHub

Το Firebase δεν είναι διαθέσιμο ως αυτόνομο προϊόν, αλλά είναι διαθέσιμο μόνο ως μέρος των προσφορών προϊόντων cloud της Google. Το αποθετήριο Firebase GitHub έχει πηγαίο κώδικα για τα SDK και για διάφορα εργαλεία ειδικά για πλατφόρμα.

IBM Cloudant

Το Cloudant είναι ουσιαστικά η φιλοξενούμενη έκδοση του CouchDB της IBM. Αρχικά, η Cloudant ήταν μια ανεξάρτητη εταιρεία, προσφέροντας μια έκδοση του CouchDB που ονομάζεται "BigCouch" και φιλοξενήθηκε στο cloud της SoftMayer της IBM. Το 2014, η IBM απέκτησε το Cloudant εντελώς ως μέρος της συνολικής ώθησης της IBM προς τα analytics και τα μεγάλα δεδομένα.

Cloudant εναντίον CouchDB

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

Ορισμένες από τις βελτιώσεις του Cloudant στο CouchDB έχουν βρεθεί πίσω στο υποκείμενο έργο CouchDB, συμπεριλαμβανομένης της λειτουργικότητας οριζόντιας κλιμάκωσης του CouchDB 2.0 και της διεπαφής γλώσσας ερωτήματος Mango. Αλλά μην το θεωρήσετε ως απόδειξη ότι οι λειτουργίες Cloudant θα πέσουν αυτόματα στο CouchDB.

Cloudant στο IBM Cloud

Το Cloudant είναι κυρίως μια προσφορά cloud στο IBM Cloud, όπου μπορεί να χρησιμοποιηθεί σε συνδυασμό με άλλα προϊόντα δεδομένων IBM Cloud, όπως dashDB, DataWorks και Watson Analytics.

Cloudant Local

Μια έκδοση του Cloudant πίσω από το τείχος προστασίας, που ονομάζεται Cloudant Local, προσφέρει όλες τις ίδιες λειτουργίες με την προσφορά που φιλοξενείται από το cloud. Το Cloudant Local διατίθεται στις Ubuntu και Red Hat γεύσεις του x86 Linux, καθώς και στο σύστημα z της IBM που εκτελεί το Red Hat ή το Suse. Οι προγραμματιστές μπορούν να κατεβάσουν μια δωρεάν, δοκιμαστική και αποκλειστική έκδοση σε μια εικόνα Docker.