J'ai besoin de la base de données graphique pour mon projet. Je veux effectuer une opération de chemin la plus courte sur le graphique. J'ai cherché Google et a trouvé Neo4j, Infogrid et Sones. Je ne suis pas sûr que l'on effectue le meilleur. P>
Neo4J insiste également sur la transaction pour lire les requêtes, donc je suis inquiet, cela entraînera des retards. Je veux un moteur de base de données graphique haute performance. Il sera génial s'il peut également supporter le chemin le plus court. P>
7 Réponses :
Pourquoi ne pas tester les trois et appliquer une référence pour vos données particulières? Sinon, il est difficile de dire lequel exécuterait le plus rapide. P>
Je pense que vous pouvez faire attention à flockdb aussi. P>
FYI FLOCKDB a été utilisé par Twitter et a ensuite donné une communauté open source. Une autre bonne chose est qu'elle est basée sur scala .....
Je suis d'accord avec @reinderien , vous devez bencher ces produits. Mais j'ajouterais également orientdb dans le mélange. Citant son auteur dans Ce commentaire :
Je travaille à Oriendb. C'est un nosql DBMS documentaire hybride avec Opérateurs spéciaux pour graphique Opérations. La principale différence est que vous pouvez l'interroger en utilisant SQL langue avec une certaine prolongation comme: p>
select from People where friends TRAVERSE(1,7) (name = 'Ayende' and surname = 'Rahien')
de la version 1.1 Vous pouvez lire des données sans utiliser de transaction dans Neo4J. Si vous souhaitez lire des données non engagées, vous ne pouvez le faire que de l'intérieur de la même transaction (et avez-vous évidemment besoin d'une transaction en premier lieu). Plus d'informations sur les transactions se trouvent dans le Neo4j Wiki . P>
Heureusement, il existe une interface commune pour la plupart d'entre eux: Blueprints . De plus, il y a beaucoup de technologies telles que la langue de Gremlin et le reste à l'accès au graphique. Visitez Tinkerpop pour en savoir plus. P>
À propos des repères Il existe un projet de travail en cours appelé GraphDB-Bench (toujours par Tinkerpop), mais Afaik est en développement. P>
Je vous recommanderais de jeter un coup d'œil à AgensGraph et à sa performance. AgensGraph prend également en charge le "chemin le plus court" et vous pouvez l'utiliser facilement. p> https://bitnine.net/agensgraph/ code> p>
Le graphique de la nébuleuse (0) est Morden, open source (1), évolutif (à une échelle énorme), performant, vous pouvez choisir entre 3 réplicas et 1 réplique.
Il prend en charge (0) HTTPS: // github.com/vesoft-inc/nebula p> (1) https://github.com/vesoft-inc/nebula#licensing p> (2) https://docs.nebula-graph.io/2.5.1/3kql-guide /16.Subgraph-and-Path/2.Find-Path/ P> Trouver chemin code> (2)
nebula> FIND SHORTEST PATH FROM "player102" TO "team204" OVER *;
+--------------------------------------------+
| path |
+--------------------------------------------+
| <("player102")-[:serve@0 {}]->("team204")> |
+--------------------------------------------+