2013-07-04 5 views
12

giraph vs Neo4j: Les algorithmes traversal à travers les nœuds totalement différents dans les thèses de deux systèmes de traitement graphique? Si nous devions parcourir un graphique social en utilisant Giraph et Neo4j sur des données stockées dans une seule machine (non distribué), ce qui serait plus performant et pourquoi?Neo4j vs giraph dans le graphique traversal

Répondre

22

Mains vers le bas Neo4j. Les calculs de graphes de Giraph s'exécutent en tant que travaux Hadoop, car ils sont conçus pour fonctionner avec de grands graphiques distribués. La surcharge de gestion de ces travaux est trop importante pour être efficace sur un graphe à petite échelle exécuté sur un cluster de machine unique pseudo-distribué.

Non seulement cela, mais la spécialité de Neo4j est la traversée. Une grande raison à cela est que Neo4j stocke les relations adjacentes dans des listes doublement chaînées dans le système de fichiers. Consultez cette entrée de blog:

http://digitalstain.blogspot.nl/2010/10/neo4j-internals-file-storage.html

Il explique la manière Neo4j optimiser la façon dont ils stockent le graphique, pour les opérations de graphique rapide telles que traversals.

+3

Je suis d'accord avec cette réponse. Neo4j était destiné à l'analyse en temps réel des données, sur un ensemble de données de taille petite/moyenne (millions de nœuds/relations), alors que giraph/pregel était destiné à un travail distribué à grande échelle, sur des traversées de taille internet. – Nicholas