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

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

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

Ένα από τα σημαντικότερα σχέδια βάσεων δεδομένων γραφημάτων είναι η ικανότητα εκτέλεσης υπολογιστικών αλγορίθμων γραφημάτων. Αυτά χρησιμοποιούνται για εργασίες που δεν προσφέρονται καλά σε σχεσιακές βάσεις δεδομένων, όπως αναζήτηση γραφημάτων, αναζήτηση διαδρομής, κεντρικότητα, PageRank και εντοπισμός κοινότητας. Οι αλγόριθμοι γραφημάτων υποστηρίζονται ως επί το πλείστον σε αναλυτικές βάσεις δεδομένων γραφημάτων (OLAP και HTAP), αν και ορισμένες βάσεις δεδομένων γραφημάτων συναλλαγών (OLTP) όπως το Neo4j τις υποστηρίζουν.

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

Amazon Neptune

Το Amazon Neptune είναι μια πλήρως διαχειριζόμενη υπηρεσία βάσης δεδομένων συναλλαγών (OLTP) με ιδιότητες ACID και άμεση συνέπεια, η οποία έχει στον πυρήνα της έναν ειδικά κατασκευασμένο, υψηλής απόδοσης μηχανή βάσεων δεδομένων γραφημάτων που είναι βελτιστοποιημένο για την αποθήκευση δισεκατομμυρίων σχέσεων και την αναζήτηση του γραφήματος με χιλιοστά του δευτερολέπτου αφάνεια. Το Neptune υποστηρίζει δύο από τις πιο δημοφιλείς γλώσσες ερωτημάτων ανοιχτού κώδικα, το Apache TinkerPop Gremlin και το W3C SPARQL.

Τα συμπλέγματα βάσεων δεδομένων Neptune μπορούν να έχουν έως και 64 TB αποθηκευτικού χώρου αυτόματης κλιμάκωσης σε έξι αντίγραφα των δεδομένων σας σε τρεις ζώνες διαθεσιμότητας και πολλά περισσότερα αν ενεργοποιήσετε υψηλή διαθεσιμότητα χρησιμοποιώντας αντίγραφα ανάγνωσης σε επιπλέον ζώνες. Το Neptune ανιχνεύει αυτόματα σφάλματα της βάσης δεδομένων και επανεκκινεί - συνήθως σε 30 δευτερόλεπτα ή λιγότερο - χωρίς να χρειάζεται να πραγματοποιήσει ανάκτηση σφαλμάτων ή να αναδημιουργήσει την προσωρινή μνήμη της βάσης δεδομένων, καθώς η προσωρινή μνήμη είναι απομονωμένη από τις διαδικασίες της βάσης δεδομένων και μπορεί να επιβιώσει από την επανεκκίνηση. Εάν αποτύχει ολόκληρη η κύρια παρουσία, το Neptune θα αποτύχει αυτόματα σε μία από τις 15 αντίγραφα ανάγνωσης. Τα αντίγραφα ασφαλείας μεταδίδονται συνεχώς στο Amazon S3.

Μπορείτε να κλιμακώσετε τα συμπλέγματα του Ποσειδώνα πάνω και κάτω είτε τροποποιώντας παρουσίες είτε, για να αποφύγετε τη διακοπή λειτουργίας, προσθέτοντας μια παρουσία του επιθυμητού μεγέθους και τερματίζοντας την παλιά παρουσία μόλις μεταφερθεί ένα αντίγραφο των δεδομένων και έχετε προωθήσει τη νέα παρουσία σε πρωτεύουσα. Τα μεγέθη παρουσίας Neptune VM κυμαίνονται από db.r4.large (δύο vCPUs και 16 GiB RAM) έως db.r4.8xlarge (32 vCPU και 244 GiB RAM), δίνοντας στο Neptune ένα δυναμικό εύρος 16x για εγγραφές και ένα δυναμικό εύρος 256x για διαβάζει (μετρώντας τα αντίγραφα ανάγνωσης).

Διαβάστε την κριτική μου για το Amazon Neptune.

AnzoGraph

Το AnzoGraph είναι μια μαζικά παράλληλη βάση δεδομένων OLAP στη μνήμη που λειτουργεί με εταιρικές πηγές δεδομένων και πραγματοποιεί παράλληλες φορτώσεις δεδομένων σε μορφές RDF και CSV. Το AnzoGraph μπορεί να αναπτυχθεί σε κουτιά άμμου ενός κόμβου ή σε ομάδες με όσους κόμβους χρειάζονται για παραγωγή. Το AnzoGraph έχει ιδιότητες συναλλαγής ACID.

Το AnzoGraph χρησιμοποιεί τυπικά και τετραπλά δεδομένα RDF W3C-standard και ερωτήματα SPARQL 1.1. Υποστηρίζει επισημασμένα γραφήματα ιδιοτήτων ως μέρος του καταστήματος RDF, σύμφωνα με τα προτεινόμενα πρότυπα RDF * και SPARQL * και έχει επεκτάσεις στο SPARQL για υποστήριξη αλγορίθμων γραφημάτων, συμπερασμάτων, συγκεντρωτικών παραθύρων, συναρτήσεων BI και ονομαστικών προβολών. Έχει προγραμματιστεί υποστήριξη για τη γλώσσα OpenCypher που είναι συμβατή με το Neo4j και το Bolt πρωτοκόλλου Neo4j.

Το AnzoGraph διαθέτει εκτέλεση εκτέλεσης ερωτημάτων γραφήματος υψηλής απόδοσης και δυνατότητα κλιμάκωσης σε δισεκατομμύρια ακόμη και τρισεκατομμύρια τριπλάσια, καθώς και γρήγορες παράλληλες φορτώσεις δεδομένων που δεν απαιτούν τη λήψη της βάσης δεδομένων εκτός σύνδεσης. Οι συστάδες AnzoGraph μπορούν να αναπτυχθούν σε CentOS, Kubernetes και AWS. Οι αναπτύξεις του Google Cloud Platform και Azure του AnzoGraph αντιμετωπίζονται συνήθως ως αναπτύξεις Kubernetes. Το AnzoGraph έχει δείξει επεκτασιμότητα σε 40 κόμβους σε συνθετικό σημείο αναφοράς.

Διαβάστε την κριτική μου για το AnzoGraph.

Neo4j

Το Neo4j είναι μια επεκτάσιμη βάση δεδομένων γραφημάτων OLTP με ορισμένες δυνατότητες OLAP. Το Neo4j ήταν η αρχική βάση δεδομένων γραφημάτων, που δημιουργήθηκε για πρώτη φορά το 1999 και συνεχίζει να είναι ηγέτης της αγοράς.

Ενώ το Open Source Neo4j Community Edition περιορίζεται σε έναν μόνο διακομιστή, το Neo4j Enterprise Edition σάς επιτρέπει να προσθέσετε όσους κόμβους σε ένα σύμπλεγμα χρειάζεστε για σκοπούς απόδοσης.

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

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

Διαβάστε την κριτική μου για το Neo4j.

TigerGraph

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

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

Ενώ πολλές γλώσσες ερωτήματος γραφημάτων ανοιχτού κώδικα έχουν υιοθετηθεί ευρέως, όπως Cypher, Gremlin και SPARQL, το TigerGraph έχει μια νέα γλώσσα ερωτήματος, GSQL. Η GSQL συνδυάζει σύνταξη ερωτήματος τύπου SQL με πλοήγηση γραφήματος τύπου Cypher, συν διαδικαστικό προγραμματισμό και λειτουργίες που καθορίζονται από το χρήστη. Το TigerGraph μπορεί να μετατρέψει το Cypher σε GSQL για άτομα που μετακινούνται από μια βάση δεδομένων Neo4j.

Το TigerGraph διαθέτει μια διαχειριζόμενη προσφορά cloud που βρίσκεται επί του παρόντος σε περιορισμένη προεπισκόπηση. Η TigerGraph έχει επιδείξει ταχύτητα 6,7x όταν εκτελεί ένα σύμπλεγμα ανάγνωσης-εγγραφής με οκτώ μηχανήματα, αλλά δεν έχει πει τίποτα για αντίγραφα ανάγνωσης ή γεωγραφική κατανομή.

Διαβάστε την κριτική μου για το TigerGraph.

$config[zx-auto] not found$config[zx-overlay] not found