Je recherche la bonne base de données graphique pour un projet. J'ai testé Neo4j et j'ai vraiment aimé. Mais les problèmes de licence AGPL m'ont un peu découragé ( vous pouvez le lire ici ).
J'ai ensuite trouvé quelques articles affirmant qu'OrientDB est en fait beaucoup plus rapide. Mais ils ne sont pas vraiment à jour. Vous les trouvez ici et ici . Et il est sous licence Apache 2, ce qui est bien.
Je veux donc simplement demander votre avis aux gens formidables de stackoverflow.
Merci pour vos commentaires!
Remarque: je fais partie de l'équipe OrientDB, mon opinion est définitivement biaisée. Je réponds également sur un ton résolument décontracté.
Sur vos points:
1) Sur le sujet du déploiement en cluster, actuellement ce n'est même pas une comparaison. Neo4j est une réplication maître-esclave, ils déclarent qu'il n'est généralement adapté qu'aux déploiements de nœuds à un chiffre et que le graphique entier doit appartenir à une seule machine. Écoutez-les directement: http://www.infoq.com/interviews/ian-robinson-neo4j?utm_source=infoq&utm_medium=videos_homepage&utm_campaign=videos_row1
OrientDB a une capacité complète de réplication multimaître (chaque nœud peut accepter les lectures et les écritures), a la capacité de partager des données, de distribuer intelligemment les données à l'aide de clusters et d'automatiser les requêtes et les transactions distribuées. Notre PDG a récemment organisé un excellent webinaire pour Hazelcast montrant notre configuration dans ce domaine: http://hazelcast.com/resources/orientdb-hazelcast-memory-distributed-graph-database/
2) Apache 2.0 est notre licence communautaire, c'est extrêmement libéral. Vous pouvez même intégrer l'édition communautaire OrientDB sans frais. (A) GPL s'inquiète pour certains que leur code source fermé soit pollué. Cela peut ou non être une menace, mais c'est parfois difficile à déterminer. Notre licence communautaire est très riche en fonctionnalités, y compris la réplication et le partitionnement multi-maîtres entièrement distribués.
3) Traverser les relations est en quelque sorte le but des bases de données graphiques. Donc, Neo4j ou OrientDB vous conviendront très bien ici ... passez 2000 niveaux en profondeur et ce sera toujours aussi performant.
4) Les capacités de graphique de document sont excellentes, mais vous saviez que je dirais cela. Le produit que nous avons construit est un système de qualité de production conçu pour être une base de données complète et non une base de données latérale utilisée en complément d'un SGBDR ou d'une autre banque de données.
Je m'en vais fort ici. Mais j'ai de bonnes raisons. Au cours des 3 dernières semaines, une équipe complète de développeurs d'une entreprise technologique de premier plan a testé OrientDB contre Neo4j. Pour leur cas d'utilisation très exigeant, nous étions le meilleur choix pour diverses raisons. L'argent n'était pas le problème, nous avons gagné l'entreprise avec notre technologie.
Prenez-le pour ce qu'il vaut, j'ai déclaré mon parti pris à l'avance. D'après mon expérience, une fois que vous travaillerez avec OrientDB, il n'y aura plus de retour en arrière. Faites-nous savoir si vous avez besoin d'aide!