Zarówno ArangoDB i Neo4j są zdolne do wykonywania pracy masz na myśli. Oba projekty mają niesamowitą dokumentację, a uzyskanie odpowiedzi na którekolwiek z nich jest łatwe. Oba mogą być używane z Java (chociaż Neo4j can be embedded).
Jedną z rzeczy, które mogą pomóc w podejmowaniu decyzji jest rozpoznanie, że wiele baz danych NoSQL rozwiązuje znacznie węższy problem, niż ludzie doceniają.
Sarah Mei napisała epic blog post about MongoDB, korzystając z przykładu z danymi dotyczącymi programów telewizyjnych. Z podsumowania:
Idealny przypadek użycia MongoDB jest jeszcze węższy niż nasze dane telewizyjne. Jedyna rzecz, w której jest dobra, to przechowywanie dowolnych fragmentów JSON.
wierzę, że Neo4j rozwiązuje podobnie wąski problem, o czym świadczy jak powszechne jest stosowanie Neo4j alongsidesome other przechowywania danych.
Nie wiem, czy przechowywanie obrazu lub danych wideo jest świetnym pomysłem w ArangoDB lub Neo4j.Chciałbym go przechowywać na jakimś innym serwerze (takim jak S3) i zapisać adres URL do tego pliku w Neo4j/Arango.
Chociaż prawdą jest, że it is possible to create queries that only a graph database can answer, wydajność bazy danych wykresów na każde zapytanie varies wildly i może dać pewne zaskakujące wyniki. Na przykład, oto a paper from the International Journal of Computer Science and Information Technologies robi porównanie Neo4j vs MySQL, Vertica i VoltDB z zapytaniami będzie można zakładać Neo4j byłoby niesamowite w:
Chodzi o to, że „społecznościowy” nie oznacza automatycznie wyższość, lub nawet wykorzystanie bazy danych wykresów (szczególnie od GraphQL i Falcor).
Aby odpowiedzieć na pytanie dotyczące języków zapytań. Nie ma standardowego języka dla graficznych baz danych.
AQL to język zapytań zapewniający ujednolicony interfejs do pracy z danymi klucza/wartości, dokumentu i wykresu.
Cypher to język zapytań graficznych.
Badwolf Query Language to język inspirowany językiem SPARQL dla wykresów czasowych.
Języki te istnieją, ponieważ dotyczą różnych problemów. Bazy danych, które je obsługują, również rozwiązują różne problemy.
Neo4j ma an example z "wielojęzycznej wytrwałość" na swojej stronie internetowej:
myślę że jest problem, że ArangoDB i AQL jest się rozwiązać, hipoteza jest, że to jest możliwe, aby rozwiązać że nie jest gorszy od specjalistów takich jak Neo4j. Do tej pory wygląda na to, że są might be right.
Cypher staje się otwartym wysiłkiem, zobacz opencypher.org –