2012-02-07 20 views
7

Quale database grafico dovrei usare quando si tratta di un paio di migliaia di nodi e un paio di migliaia di relazioni? Sono questi grandi numeri per qualsiasi database o no? Quale database grafico è il più veloce in operazioni di lettura (assumendo che tutti i dati vengano caricati una volta all'inizio). Ho dato un'occhiata a neo4j e al suo strumento di visualizzazione. Sarò in grado di avere un tale strumento di visualizzazione nella mia applicazione?Quale database grafico

risposta

12

Le domande che è necessario chiedere e rispondere per un database grafico sono simili a qualsiasi altro database. Quanti dati? In memoria o persistente? Come ci si interfaccia con esso? Incorporato o un processo del server? Distribuito o localizzato? Licensing?

Un paio di migliaia di nodi e relazioni sono piccoli per un database grafico e la maggior parte delle soluzioni di database grafico funzionerà. Per molte persone Neo4j è una buona scelta, ma ci sono alcuni avvertimenti. Innanzitutto, le licenze di Neo4j possono essere problematiche in molte situazioni. In secondo luogo, il visualizzatore fa parte del processo del server Neo4j, il che significa che verrà eseguito un altro processo del server. Se sei preoccupato per le licenze, ti consigliamo di dare un'occhiata a OrientDB, che è sotto la licenza Apache, e quindi molto flessibile.

Dai suoni di esso, si ha un abbastanza piccolo sistema e può essere in grado di cavarsela con l'utilizzo di TinkerGraph, un database in memoria grafico da Marko Rodriguez e le Tinkerpop hacker. Ha la possibilità di mantenere i tuoi dati su un file, se necessario, è incredibilmente leggero e, come Neo4j e OrientDB, supporta tutti gli strumenti grafici dallo stack Tinkerpop, incluso lo Jung Ouplemntation, che può darti le visualizzazioni che desideri.

+1

Ragazzi, stiamo esaminando una licenza di avvio più flessibile, contattatemi (faccio parte del team di Neo4j) se avete bisogno di iniziare il Neo4j. Inoltre, Tinkerpop è incluso e compatibile con Neo4j, e il visualizzatore nel componente Neo4j Server è solo una visualizzazione predefinita basata su Arbor.js che viene eseguita contro l'API REST ed è gestita dai thread del browser (non in elaborazione con il server). Per i piccoli grafici, penso che un modello in memoria come Tinkergraph sia perfetto. –

+0

@Pridkett Informazioni sulla licenza di Neo4j: ho visto che Neo4j viene fornito con licenza GPL e AGPL. Quali problemi comporta la licenza Apache? ... darò un'occhiata a TinkerGraph .. La quantità di dati è come ho detto alcune migliaia di nodi con poche proprietà e poche migliaia di relazioni. Sarà un processo server localizzato con un'interfaccia web front-end. Non so se sarà in memoria o persistente. Quali sono i pro e i contro? La dimensione del db dovrebbe determinare questo? – user579674

+0

@PeterNeubauer Ho bisogno di aiuto per decidere se neo4j può fare ciò che ho in mente. C'è un modo per contattarti in privato? Le mie domande sono fondamentalmente correlate su come iniziare a usare neo4j come database di back-end in una pagina web. – user579674

Problemi correlati