Non trovo alcuna spiegazione approfondita sul web su un confronto tra ElasticSearch e i database dei grafici.
Entrambi sono ottimizzati per attraversare i dati.
ElasticSearch sembra essere ottimizzato per l'analisi.
Tuttavia Neo4j si basa anche su Lucene per gestire gli indici e alcune funzionalità full-text.
Perché dovrei usare ElasticSearch se utilizzo già un database grafico?
Nel mio caso, sto usando Neo4j per costruire un social network.
Quale reale vantaggio può apportare ElasticSearch?
AGGIORNARE ----------
Ho appena trovato questo paragrafo:
Ci sono una miriade di casi in cui elasticsearch è utile. Alcuni casi d'uso lo richiedono più chiaramente di altri. Di seguito sono elencati alcuni compiti per i quali elasticsearch è particolarmente adatto.
- Cercare un gran numero di descrizioni dei prodotti per la migliore corrispondenza per una frase specifica (dire "coltello da chef") e restituire i migliori risultati
- Dato l'esempio precedente, scomporre i vari reparti in cui appare il "coltello da chef" (vedi Sfaccettatura più avanti in questo libro)
- Ricerca nel testo di parole che suonano come "stagione"
- Completamento automatico di una casella di ricerca basata su parole parzialmente digitate basate su ricerche precedentemente emesse tenendo conto di errori di ortografia
- Archiviazione di una grande quantità di dati semi-strutturati (JSON) in modo distribuito, con un livello di ridondanza specificato su un cluster di macchine
Va notato, tuttavia, che mentre elasticsearch è eccezionale nel risolvere i suddetti problemi, non è la scelta migliore per gli altri. È particolarmente dannoso nel risolvere i problemi per i quali sono ottimizzati i database relazionali. Problemi come quelli elencati di seguito.
- Calcolo del numero di articoli rimasti nell'inventario
- Individuare la somma di tutti gli elementi pubblicitari su tutte le fatture inviate in un determinato mese
- Esecuzione di due operazioni in modo transazionale con supporto di rollback
- Creazione di record che sono garantiti come unici in più termini, ad esempio un numero di telefono e un interno
- Elasticsearch è generalmente fantastico nel fornire risposte approssimative dai dati, come il punteggio dei risultati per qualità. Mentre elasticsearch può eseguire corrispondenze esatte e calcoli statistici, il suo compito principale di ricerca è un compito intrinsecamente approssimativo.
- Trovare risposte approssimative è una proprietà che separa elasticsearch da database più tradizionali. Detto questo, i database relazionali tradizionali eccellono per precisione e integrità dei dati, per i quali elasticsearch e Lucene hanno poche disposizioni.
Posso affermare che se non avessi bisogno di risposte approssimative, allora ElasticSearch sarebbe inutile rispetto a un database grafico già utilizzato?