¿Cuáles son algunos casos de uso para usar Elasticsearch versus consultas sql estándar? [cerrado]


125

Recién estoy comenzando con Elasticsearch y uno de los principales casos de uso que he visto es su escalabilidad con búsquedas en grandes conjuntos de datos, pero además de esto, ¿cuándo querría usarlo solo para crear consultas sql con un RDBMS tradicional?


3
Se recomienda editar las preguntas para mejorarlas (por ejemplo, aclaraciones, agregar información adicional, etc.) . Sin embargo, editar una Pregunta para cambiarla en una pregunta diferente, lo que resulta en la invalidación de una o más Respuestas, va en contra de la política de Desbordamiento de pila. Tu edición aquí lo hizo. La política es que otros usuarios con privilegios de edición deberían revertir proactivamente dichos cambios, lo que he hecho aquí. Si su nueva pregunta es sobre el tema, le recomendamos que haga una nueva pregunta , tal vez con un enlace a esta para un contexto adicional.
Makyen

Entendido. Bueno, la intención era correcta, pero no la ejecución.
James Drinkard

Respuestas:


78

Hay dos casos de uso principales de Elasticsearch:

  1. Búsqueda de texto

Desea Elasticsearch cuando realiza muchas búsquedas de texto, donde las bases de datos RDBMS tradicionales no funcionan realmente bien (configuración deficiente, actúa como un recuadro negro, rendimiento deficiente). Elasticsearch es altamente personalizable, ampliable a través de complementos. Puede construir una búsqueda robusta sin mucho conocimiento bastante rápido.

  1. Registro y análisis

Otro caso extremo es que mucha gente usa Elasticsearch para almacenar registros de varias fuentes (para centralizarlos), de modo que puedan analizarlos y darle sentido. En este caso, Kibana se vuelve útil. Le permite conectarse al clúster Elasticsearch y crear visualizaciones de inmediato. Por ejemplo, Loggly está construido con Elasticsearch y Kibana.

Tenga en cuenta que no desea utilizar Elasticsearch como su almacenamiento de datos principal. Razones aquí: qué tan confiable es ElasticSearch como un almacén de datos primario contra factores como la pérdida de escritura, la disponibilidad de datos

Actualizar

Sentí que la segunda parte ya no es nerviosa, en realidad es lo que Elastic como compañía ha estado haciendo realmente bien el año pasado. Con el movimiento actual de DevOps, las canalizaciones de CI / CD y la creciente cantidad de métricas de varias fuentes, ELK se convirtió en una opción de facto para el monitoreo de la infraestructura, ya no es solo un motor de búsqueda de texto RESTful distribuido. Tiene un increíble conjunto de productos:

  • Logstash (toneladas de entradas de datos)
  • Latidos
    • Filebeat
    • Latido métrico
    • Latido del paquete
    • Winlogbeat
  • Kibana
    • Grafico
    • Timelion
  • X-Pack (premium)
    • Alertas
    • Informes
    • Seguridad
    • Aprendizaje automático
    • Métricas cruzadas del centro de datos

Un ecosistema, creado por la comunidad, está creciendo alrededor de la pila ELK que expande las características actuales, algunas de ellas vale la pena mencionar:

  • ElastAlert
  • Guardia de búsqueda

Por qué restringe Elastic Search no se está utilizando como motor de consulta para sistemas estándar, como un pos o erp, ya que no entiendo a las empresas, se ha puesto mucha energía simplemente transformando los datos de sql a búsqueda elástica para análisis.
pannu

En versiones anteriores no se recomendaba, ahora no lo sé.
Evaldas Buinauskas

Usted dijo que, debido a una configuración deficiente, el RDBMS no funciona muy bien. ¿Significa que con una buena configuración puede funcionar tan bien como con EleasticSearch, con respecto a la búsqueda de texto (búsqueda difusa)?
Leyendas

2
@Legends Realmente quise decir malas opciones de configuración. Mi propia experiencia se limita a la búsqueda de texto completo de MSSQL y la cantidad de configuraciones en MSSQL no se puede comparar con Elasticsearch. La búsqueda de texto en RDBMS es una característica, mientras que en Elasticsearch es la esencia.
Evaldas Buinauskas

Estaba buscando mucho en la web, pero no puedo encontrar nada concreto. ¿Cuántos datos (solo un aprox.) Debe tener la aplicación para que podamos pensar en pasar a ElasticSerach ?, porque mantener sistemas distribuidos es complejo. Por ejemplo, buscando en textos de comentarios bien indexados en mongodb. (No estoy hablando de funciones avanzadas de ES, búsqueda de texto puro)
Iván Sánchez

27

Para agregar con la otra respuesta, el registro sigue siendo un caso de uso importante, así como las búsquedas, pero ahora las métricas y los análisis son cada vez más importantes.

Creo que esta publicación resume los cambios en el mercado que están generando nuevos casos de uso para Big Data. Todo lo que realmente necesita saber sobre las bases de datos de código abierto

Con el advenimiento de la Web 2.0, las páginas web estáticas se han vuelto dinámicas y las redes sociales nos rodean. Todos están tuiteando, publicando, blogueando, vlogueando, compartiendo fotos, chateando y comentando. El Internet de las cosas (IoT) está emergiendo: una red de dispositivos conectados que crece e intercambia rápidamente datos, como sensores y dispositivos inteligentes. Hay algunos buenos ejemplos aquí.

En total, esto genera enormes cantidades de datos nuevos que las empresas desean absorber y utilizar para mantenerse a la vanguardia, para proporcionar características tales como recomendaciones de productos y una mejor experiencia del cliente. Los datos se pueden analizar en busca de patrones para aplicaciones tales como detección de fraude y análisis de comportamiento. Gran parte de los datos nuevos no están estructurados, lo que significa que no pueden almacenarse de forma ordenada en una base de datos tabular.

Imagínese tratar de diseñar una base de datos para almacenar datos sobre sus compras de comestibles: lo que le gusta, con qué frecuencia lo compra, si prefiere leche o crema con su café. Se necesitan nuevos tipos de bases de datos para almacenar los nuevos datos, y deben ser no relacionales e idealmente de bajo costo. ¿Suena alguna campana? No es relacional como en NoSQL y de bajo costo como en código abierto.

Uno de los arquitectos de Elasticsearch con los que hablé dijo que el 80% de los datos con los que Elasticsearch trabaja en las empresas no está estructurado, mientras que el 20% está estructurado. Son los datos no estructurados que las empresas están buscando para descubrir patrones de datos raros o inusuales. También están utilizando Elasticsearch para monitorear patrones de datos. Por ejemplo, un minorista importante está haciendo un seguimiento en tiempo real con Elasticsearch para garantizar suministros de dinero adecuados en las tiendas para que las personas puedan cobrar cheques en los días de pago.

En mi propia experiencia con nuestro caso de uso de búsqueda, no solo utilizamos búsquedas difusas, sino que evolucionó a búsquedas rápidas y de autocompletado. Por lo que he visto, una vez que comienza a trabajar con Elasticsearch, comienza a evolucionar hacia otros casos de uso que complementan lo que ya tiene implementado. Ahora que hemos establecido a Elasticsearch como un motor de búsqueda difuso en nuestra empresa, ahora tenemos otros equipos que buscan análisis y métricas para el registro.

Aquí hay algunos recursos adicionales que profundizan en este tema:

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.