Quali sono alcuni casi d'uso per l'utilizzo di Elasticsearch rispetto alle query sql standard? [chiuso]


125

Ho appena iniziato con Elasticsearch e uno dei principali casi d'uso che ho visto è la sua scalabilità con ricerche su set di dati di grandi dimensioni, ma oltre a questo quando vorresti usarlo per creare query sql con un RDBMS tradizionale?


3
La modifica delle domande per migliorarle (ad esempio chiarimenti, aggiunta di informazioni aggiuntive, ecc.) È incoraggiata . Tuttavia, la modifica di una domanda per trasformarla in una domanda diversa, che risulta nell'invalidare una o più risposte, è contro la politica su Stack Overflow. La tua modifica qui ha fatto così. La politica è che altri utenti con privilegi di modifica dovrebbero annullare in modo proattivo tali modifiche, cosa che ho fatto qui. Se la tua nuova domanda è in argomento, sei incoraggiato a porre una nuova domanda , magari con un collegamento a questa per un contesto aggiuntivo.
Makyen

Inteso. L'intento era giusto, ma non l'esecuzione.
James Drinkard,

Risposte:


78

Esistono due casi d'uso principali di Elasticsearch:

  1. Ricerca di testo

Vuoi Elasticsearch quando esegui molte ricerche di testo, dove i database RDBMS tradizionali non funzionano molto bene (configurazione scadente, funge da scatola nera, prestazioni scadenti). Elasticsearch è altamente personalizzabile, estendibile tramite plugin. Puoi costruire ricerche robuste senza molta conoscenza abbastanza velocemente.

  1. Registrazione e analisi

Un altro caso limite è che molte persone usano Elasticsearch per archiviare i log da varie fonti (per centralizzarli), in modo che possano analizzarli e dargli un senso. In questo caso, Kibana diventa utile. Ti consente di connetterti al cluster Elasticsearch e creare immediatamente visualizzazioni. Per esempio, Loggly è stato creato utilizzando Elasticsearch e Kibana.

Tieni presente che non vorresti utilizzare Elasticsearch come archiviazione dati principale. Ragioni qui: quanto è affidabile ElasticSearch come archivio dati principale contro fattori come la perdita di scrittura e la disponibilità dei dati

Aggiornare

Mi sono sentito come se la seconda parte non fosse più tagliente, in realtà è ciò che Elastic come azienda ha fatto molto bene nell'ultimo anno. Con l'attuale movimento DevOps, le pipeline CI / CD, l'aumento della quantità di metriche da varie fonti, ELK è diventato una scelta di fatto per il monitoraggio dell'infrastruttura, non è più solo un motore di ricerca di testo RESTful distribuito. Ha un fantastico set di prodotti:

  • Logstash (tonnellate di input di dati)
  • Beats
    • Filebeat
    • Metricbeat
    • Packetbeat
    • Winlogbeat
  • Kibana
    • Grafico
    • Timelion
  • X-Pack (premium)
    • avvisi
    • segnalazione
    • Sicurezza
    • Apprendimento automatico
    • Metriche incrociate del data center

Un ecosistema, costruito dalla comunità, sta crescendo attorno allo stack ELK che espande le funzionalità attuali, alcune delle quali degne di nota:

  • ElastAlert
  • Cerca in guardia

Perché restringe Elastic Search non viene utilizzato come motore di query per sistemi standard, come un POS o ERP, poiché non capisco che le aziende abbiano messo molta energia nel trasformare i dati da sql a ricerca elastica per l'analisi.
pannu

Nelle versioni precedenti non era consigliato, ora non lo so.
Evaldas Buinauskas

Hai detto che a causa della scarsa configurazione l'RDBMS non funziona molto bene. Significa che con una buona configurazione è possibile eseguire così come con EleasticSearch, per quanto riguarda la ricerca testuale (fuzzy search)?
Leggende

2
@Legends Intendevo davvero opzioni di configurazione scadenti. La mia esperienza è limitata alla ricerca di testo completo di MSSQL e la quantità di impostazioni in MSSQL non può essere paragonata a Elasticsearch. La ricerca di testo in RDBMS è una funzionalità, mentre in Elasticsearch è l'essenza.
Evaldas Buinauskas

Ho cercato molto sul Web, ma non sono riuscito a trovare nulla di concreto. Quanti dati (solo circa) dovrebbe avere l'applicazione per poter pensare di passare a ElasticSerach ?, perché la manutenzione dei sistemi distribuiti è complessa. Ad esempio, cercare nei commenti testi ben indicizzati in mongodb. (Non sto parlando di funzionalità avanzate di ES, ricerca di testo puro)
Iván Sánchez

27

Per aggiungere l'altra risposta, la registrazione è ancora un caso d'uso importante così come le ricerche, ma ora le metriche e le analisi stanno diventando più importanti.

Credo che questo post riassuma i cambiamenti nel mercato che sta guidando nuovi casi d'uso per i Big Data. Tutto quello che devi sapere sui database Open Source

Con l'avvento del Web 2.0, le pagine web statiche sono diventate dinamiche ei social media sono tutt'intorno a noi. Tutti twittano, pubblicano, scrivono blog, vlogging, condividono foto, chattano e commentano. L'Internet of Things (IoT) sta emergendo, una rete in rapida crescita di dispositivi connessi che raccolgono e scambiano dati, come sensori e dispositivi intelligenti. Ci sono alcuni ottimi esempi qui.

Nel complesso, questo genera enormi quantità di nuovi dati che le aziende desiderano assorbire e utilizzare per stare al passo, per fornire funzionalità come consigli sui prodotti e una migliore esperienza del cliente. I dati possono essere analizzati alla ricerca di modelli per applicazioni come il rilevamento delle frodi e l'analisi del comportamento. Gran parte dei nuovi dati non sono strutturati, il che significa che non possono essere archiviati in modo ordinato in un database tabulare.

Immagina di provare a progettare un database per contenere i dati sulla tua spesa: cosa ti piace, quanto spesso lo acquisti, se preferisci il latte o la panna con il tuo caffè. Nuovi tipi di database sono necessari per archiviare i nuovi dati e devono essere non relazionali e idealmente a basso costo. Suonate le campane? Non relazionale come in NoSQL e basso costo come in open source.

Uno degli architetti di Elasticsearch con cui ho parlato ha affermato che l'80% dei dati con cui Elasticsearch lavora nelle aziende non è strutturato, mentre il 20% è strutturato. Sono i dati non strutturati che le aziende stanno esaminando per scoprire modelli di dati rari o insoliti. Utilizzano anche Elasticsearch per il monitoraggio dei modelli di dati. Ad esempio, un importante rivenditore sta effettuando il monitoraggio in tempo reale con Elasticsearch per garantire forniture di denaro adeguate nei negozi affinché le persone possano incassare gli assegni nei giorni di paga.

Nella mia esperienza con il nostro caso d'uso di ricerca, non solo usiamo ricerche fuzzy, ma si è evoluto in ricerche rapide e con completamento automatico. Da quello che ho visto, una volta che inizi a lavorare con Elasticsearch, inizi ad evolverti in altri casi d'uso che completano ciò che hai già in atto. Ora che abbiamo stabilito Elasticsearch come motore di ricerca fuzzy presso la nostra azienda, ora abbiamo altri team che esaminano analisi e metriche per la registrazione.

Ecco alcune risorse aggiuntive che vanno più in profondità su questo argomento:

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.