Neo4j: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m disambiguo link |
m Bot: apostrofo dopo l'articolo indeterminativo e modifiche minori |
||
Riga 4:
==Descrizione==
Il database può essere usato sia in modalità embedded che server. Nella modalità embedded si incorpora il database nell'applicazione (con [[maven]] o includendo i file [[jar]]) e questo viene eseguito all'interno della [[JVM]], quindi nello stesso processo ma accettando vari thread concorrenti. Nella modalità server invece il database è un processo a sé stante a cui si accede tramite [[REST]] facendo delle query e ricevendo i dati in remoto; il server permette l'utilizzo di plugin che filtrano i dati in input e output e offrono servizi aggiuntivi, per esempio il supporto alle [[Geographic information system|query spaziali]]
Neo4j permette la modalità batch, non concorrente, per l'importazione massiva di dati da altri database o da file, ma per l'uso comune si basa sulle transazioni. Una volta aperta una transazione è possibile creare nodi e assegnarvi delle proprietà, ossia dei valori corrispondenti ai [[Tipo di dato|tipi di dato]] elementari di Java (più le String e gli array) e identificati grazie a un nome. Inoltre è possibile unire dei nodi tramite le [[Relazione (matematica)|relazioni]], i cui tipi sono definiti dal programmatore, che possono essere direzionali o meno. Anche le relazioni possono avere delle proprietà come i nodi.
Il grafo è quindi schema-less, il che da un lato permette di definire dati molto eterogenei con il minimo sforzo e dall'altro può creare problemi di consistenza dei dati, che è interamente responsabilità dell'applicazione
Riga 15:
===Sharding e replicazione===
Neo4j non supporta lo sharding dei dati, quindi l'intero grafo deve essere memorizzato in una sola macchina. È possibile invece attivare più istanze di uno stesso database eseguite contemporaneamente su diverse macchine, realizzando un
===Vantaggi===
|