2013-06-24 14 views
60

Qualcuno può fornire o indicare un buon confronto tra Neo4j e Titan? Una cosa che posso vedere è in termini di scala - Titan è scalabile e richiede un datastore scalabile sottostante come cassandra. Neo4j è solo per HA e ha il proprio database incorporato. Qualche altro pro e contro? Eventuali casi specifici. (Titan è attualmente utilizzato ovunque?)qualcuno ha provato neo4j vs titan - pro e contro

Ho anche il seguente link: http://architects.dzone.com/articles/16-graph-databases-compared che fornisce un confronto oggettivo per database di grafici ma non molto su pro e contro tra Neo4j e Titan.

+0

Puoi dare un'occhiata @ [Titan vs Neo4j] (https://groups.google.com/d/msg/aureliusgraphs/vkQkzjN8fo0/9YYgqI4TA0QJ), potrebbe aiutarti .. –

risposta

16

È bello vederti esplorare database di grafici. Parlerò alla parte Neo4j della tua domanda:

Più di 30 Global 2000 ora usano Neo4j in produzione per una vasta gamma di casi d'uso, molti dei quali sorprendenti, anche per noi! (E abbiamo inventato il grafico di proprietà!)

Una lista parziale dei clienti può essere trovata qui sotto: www.neotechnology.com/customers

Neo4j è stato in produzione 24x7 per 10 anni, e mentre il prodotto ha naturalmente evoluto in maniera significativa da allora , è costruito su fondamenta molto solide.

La maggior parte delle aziende che si spostano in database di grafici - parlando per Neo4j, che è quello che so - lo fanno perché a) i loro RDBMS non erano in grado di gestire la scala & dei loro requisiti di query connessi, e/o b) l'immenso vantaggio e la velocità che deriva dai domini di modellazione che rappresentano un grafico (social, network & gestione del data center, frodi, portfolio, identità, ecc.) come un grafico, non come tabelle.

Per i calci, è possibile trovare una serie di colloqui dei clienti qui, dai quattro (presto cinque) conferenze GraphConnect che si sono svolte quest'anno nelle principali città di tutto il mondo:

http://watch.neo4j.org/

Se si' a Londra, l'ultimo si terrà la prossima settimana: http://www.graphconnect.com

Troverai di seguito un sommario di alcune delle tecnologie dietro Neo4j, con alcuni esempi di clienti. Per parlare in modo molto diretto alla domanda sul ridimensionamento: Neo4j ha un'architettura unica progettata per massimizzare la prevedibilità delle query nel tempo di risposta &, consentendo la scalabilità orizzontale in modo tale che ogni istanza possa accedere al grafico senza dover saltare sulla rete. (È necessaria una maggiore velocità di lettura. Basta aggiungere istanze.) Si scopre che questo approccio funziona bene per il 95% dei grafici, compresi alcuni clienti di produzione che hanno più della metà del grafico social di Facebook in un unico cluster Neo4j, supporto di un sito Web "sempre attivo" 24 ore su 24, 7 giorni su 7.

www.neotechnology.com/neo4j-scales-for-the-enterprise/

Uno dei più grandi servizi di consegna postale al mondo fa tutto del loro pacchetto in tempo reale di routing con Neo4j. Le ferrovie stanno costruendo sistemi di routing su Neo4j. Alcuni dei più grandi clienti di tutto il mondo li utilizzano per risorse umane e dei dati di governo, alternativo-percorso di routing, rete dati & gestione del centro, il rilevamento delle frodi in tempo reale, la bioinformatica, ecc

linguaggio di query Cypher di Neo4j è l'unico linguaggio di query dichiarativo costruito espressamente per i grafici di proprietà.Prende tutte le lezioni apprese dalla nostra API Java nativa di 13 anni (che era la base per Blueprints, che alcuni degli altri database di diagrammi hanno adottato) e le registra in una lingua di prossima generazione. Cypher è un ottimo modo per imparare i grafici e sviluppare applicazioni; e c'è sempre l'API Java nativa se si hanno esigenze particolari o valore prestazioni "bare metal" (cioè millisecondi inferiori al millisecondo rispetto a una cifra singola) al di sopra della convenienza. Neo4j è costruito da zero per supportare i grafici e ha un motore di archiviazione grafico che è stato creato per archiviare i grafici; a differenza di alcune delle più recenti aggiunte all'ecosistema di database grafico, che sono state progettate come librerie di grafici su database non grafici e sono soggette ad alcune limitazioni intrinseche. (Ad esempio, FlockDB, poiché è basato su MySQL, sarà comunque molto lento per qualcosa di maggiore di un salto.)

Sicuramente non esitate a contattare il team Neo se avete bisogno di qualcosa di più specifico. Saremo più che felici di aiutarti! http://info.neotechnology.com/ContactUs.html

Buona fortuna!

+1

Grazie Philip! Neo4j è sufficiente per le mie esigenze fin da ora e quindi l'ho già fatto. Inoltre, credo che dovrebbe essere in grado di adattarsi bene e scalare nel suo senso. Inoltre ho anche visto che il clustering e il backup di neo4j sono gratuiti per piccole starup (meno di 3 impiegati o $ 100k di entrate), il che è davvero ottimo per me. Inoltre ho realizzato che Neo4j ha un ingombro e una ventola molto più ampi. Stavo passando per Titan e sembra essere davvero adatto per i grafici ultra enormi e così ho tirato fuori questo post. Credo che con grandi organizzazioni come ... – DevD

+1

.... facebook e linkedin con un'architettura scalabile orizzontale corretta sarebbe indispensabile. Ma come ho detto non sono grande come gli altri e ho iniziato a lavorare su Neo4j un paio di mesi fa, quindi non oserei escludere le capacità di Neo4j in termini di ridimensionamento e mi piace molto lavorare su Neo4j. – DevD

24

Abbiamo un grafico social in cui in un giorno aggiungiamo quasi 1 milione di nodi e il doppio di bordi. Abbiamo iniziato con il grafico neo4j perché sì, è molto veloce perché la sua memoria si trova sulla stessa macchina su cui gira il motore grafico. Ma le seguenti sono le esperienze che vorremmo condividere con voi su neo4j.

  1. Non adatto per la query in tempo reale. Abbiamo una struttura sociale come Twitter. Dobbiamo mostrare le ultime 20 attività (e le attività associate) di tutti gli utenti che un utente segue sulla sua cronologia. Abbiamo alcuni utenti che seguono più di 1000 utenti. La query gremlin che abbiamo scritto per questo (se sei interessato a condividere la query di gremlin) ha prodotto così tanto GC che un server con 8 cpu e 48 gb di RAM usati per bloccare e abbiamo dovuto riavviare il server per farlo tornare online .
  2. Si osservano molte partizioni di rete.
  3. Non esiste un indice centrico vertice che è molto richiesto nel database graoh.

In fin dei conti siamo così tanto sbiaditi con le prestazioni del server con query gremlin che abbiamo dovuto modificare il database in Titan.

Su titan stiamo ottenendo prestazioni ragionevoli e anche il ridimensionamento è molto semplice dato che stiamo usando cassandra come memoria di back-end. Ma ti dispiace che ... usando gremlin anche qui non è una buona idea dato che la query multigeta è molto brutta da scrivere e senza multiget la sua query diventa molto lenta.

+2

Ciao. Sarei davvero interessato a saperne di più sulla tua configurazione. Sarebbe bello se potessi scrivere un blog. Se preferisci parlare in privato su sorenbs su twitter o gmail. – sorenbs

+2

Perché Gremlin e non Cipher? E questo era su Neo 1.9 o 2? Solo curioso. –

+0

Ciao, è passato più di un anno da quando lo abbiamo usato. Non era sicuramente 2, né 1,6 né 1,7. Non ricordo esattamente. A quel tempo la cifratura non era così popolare, era ancora in una forma nascente. Il vantaggio principale di titan rispetto a neo4j come lo percepisco ora è la sua capacità di scalare e fornire più di un indice centrico vertice (VCI) che nel nostro caso diventa molto importante perché abbiamo un insieme di bambini generalmente molto grande e senza VCI diventa molto letargico. – user2772346

Problemi correlati