2013-07-04 17 views
12

Apache Giraph vs Neo4j: sono gli algoritmi attraversamento attraverso i nodi del tutto diversa nelle tesi due sistemi di elaborazione grafico? Se dovessimo attraversare dire un grafico sociale utilizzando Giraph e Neo4j su dati memorizzati in una singola macchina (non distribuiti), che avrebbe prestazioni migliori e perché?Neo4j vs Apache Giraph nel grafico attraversamento

risposta

22

Mani giù Neo4j. I calcoli del grafico di Giraph funzionano come lavori Hadoop, perché sono pensati per lavorare su grandi grafici distribuiti. Il sovraccarico di gestione di questi lavori è troppo grande per essere efficiente su un grafico su piccola scala eseguito su un cluster di macchine singole pseudo-distribuito.

Non solo, ma la specialità di Neo4j sono i traversali. Un grande motivo per questo è perché Neo4j memorizza effettivamente le relazioni adiacenti in liste doppiamente collegate nel filesystem. Dai un'occhiata a questo blog:

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

Spiega il modo in cui Neo4j ottimizzare il modo in cui memorizzare il grafico, per le operazioni di grafico veloce, come attraversamenti.

+3

Sono d'accordo con questa risposta. Neo4j era pensato per l'analisi dei dati in tempo reale, su un insieme di dati di piccole/medie dimensioni (milioni di nodi/relazioni), mentre giraph/pregel era pensato per lavori distribuiti su larga scala, su traversali di dimensioni Internet. – Nicholas