Neo4j против Apache Giraph в обходе графа

Apache Giraph и Neo4j: полностью ли отличаются алгоритмы обхода между узлами в этих двух системах обработки графов? Если бы мы должны были пройти, скажем, социальный граф, используя Giraph и Neo4j по данным, хранящимся на одной машине (не распределенной), что будет работать лучше и почему?


person Ranjith    schedule 04.07.2013    source источник


Ответы (1)


Руки вниз Neo4j. Вычисления графов Giraph выполняются как задания Hadoop, поскольку они предназначены для работы с большими распределенными графами. Накладные расходы на управление этими заданиями слишком велики, чтобы быть эффективными на небольшом графе, работающем на псевдораспределенном кластере из одной машины.

Не только это, но и специализация Neo4j — обходы. Основная причина этого в том, что Neo4j фактически хранит смежные отношения в двусвязных списках в файловой системе. Посмотрите эту запись в блоге:

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

Это объясняет, как Neo4j оптимизировал способ хранения графа для быстрых графических операций, таких как обходы.

person Pieter-Jan    schedule 05.07.2013
comment
Я согласен с этим ответом. Neo4j предназначался для анализа данных в режиме реального времени в наборе данных небольшого/среднего размера (миллионы узлов/отношений), тогда как giraph/pregel предназначался для крупномасштабной распределенной работы с обходами размера Интернета. - person Nicholas; 05.07.2013