Domanda

V'è una certa hype intorno database del grafico . Mi chiedo perché.

Quali sono i possibili problemi che si possono confrontarsi con in ambiente web di oggi, che può essere risolto utilizzando database del grafico? E sono database grafico adatti per applicazioni classiche, vale a dire si può essere usato come un drop-in sostituzione di un database relazionale? Quindi, in realtà si tratta di due domande in una.

Related: Qualcuno ha usato database del grafico-based (http://neo4j.org/)?

È stato utile?

Soluzione

Molte rappresentazioni relazionali di grafici non sono particolarmente efficienti per tutte le operazioni che si potrebbe desiderare di eseguire.

Ad esempio, se si vuole l'insieme connesso di tutti i nodi in cui i bordi soddisfino un determinato predicato, partendo da un dato nodo, non c'è modo naturale in SQL per esprimere che. Probabilmente potrete sia fare una query per bordi con il predicato, e poi di escludere bordi disconnessi a livello locale, o avere una conversazione molto dettagliato con il server di database in seguito una serie di link a quella successiva nelle query iterate.

I grafici non sono un sostituto generale per database relazionali. RDB si occupa principalmente in due set (tabelle), mentre i grafici sono in primo luogo interessante per la "forma" di interconnessioni. Con DB relazionale seguite anelli di una profondità predeterminata (un numero fisso di join) tra le serie, con risultati progressivamente filtrati e raggruppati, mentre grafici vengono solitamente passare con profondità arbitraria e ricorsivamente definito (cioè non un numero predeterminato di "join") . È possibile abusare sia per corrispondere alle caratteristiche del l'altra, ma avranno diversi punti di forza.

Altri suggerimenti

A mio parere, siti di social networking possono beneficiare di database del grafico perché grafico è un modo naturale di memorizzare le connessioni tra gli utenti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top