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?
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?
Risposte:
Esistono due casi d'uso principali di Elasticsearch:
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.
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
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:
Un ecosistema, costruito dalla comunità, sta crescendo attorno allo stack ELK che espande le funzionalità attuali, alcune delle quali degne di nota:
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: