clicko-informatica-programacion-elasticsearch

Hoy en el blog de CLiCKO hablaremos sobre una de las herramientas más populares de los últimos tiempos. Se trata de Elasticsearch.

Fue creada en 2010 con el fin de realizar búsquedas en grandes cantidades de datos.

¿Qué es Elasticsearch?

ElasticSearch es un motor de analítica y análisis distribuido y open source para todos los tipos de datos, incluidos textuales, numéricos, geoespaciales, estructurados y desestructurados.

Basado en Lucene, nos permite realizar búsquedas ágiles por una gran cantidad de datos de un texto específico y permite almacenar documentos (estructurados o no) e indexar todos los campos de estos documentos en casi tiempo real.

Podríamos definir a Elasticsearch como un base de datos NoSQL orientada a documentos JSON, los cuales pueden ser consultados, creados, actualizados o borrados mediante una sencilla API.

Características:

  • Es orientado a documentos: Utiliza JSON
  • No utiliza esquemas, aunque si son necesarios se pueden llegar a definir
  • Distribuido: es un sistema distribuido que escala horizontalmente basado en nodos que a su vez se dividen en clústeres. Implementa alta disponibilidad.
  • Utiliza una potente API: expone prácticamente todas sus funcionalidades a través de una cómoda API REST
  • Permite búsquedas tanto estructuras como no estructuradas
  • El poder de tres: Elasticsearch viene integrado con Kibana, una de las herramientas más populares para la visualización de informes.
  • Rápido: Mediante el uso de índices invertidos distribuidos, encuentra rápidamente las mejores coincidencias para nuestras búsquedas de texto completo, incluso de conjuntos de datos muy grandes.
  • Soporte para nuestros lenguajes de desarrollo favoritos: existe una larga lista de clientes para los desarrolladores que deseen utilizar Elasticsarch, como por ejemplo para Java, PHP, Python, JavaScript, Node.js u otros.

¿Para qué se usa Elasticsearch?

La velocidad y escalabilidad de Elasticsearch y su capacidad de indexar muchos tipos de contenido significan que puede usarse para una variedad de casos de uso:

  • Búsqueda de aplicaciones
  • Búsqueda de sitio web
  • Búsqueda Empresarial
  • Logging y analíticas de log
  • Métricas de infraestructura y monitoreo de contenedores
  • Monitoreo de rendimiento de aplicaciones
  • Análisis y visualización de datos geoespaciales
  • Analítica de Seguridad
  • Analítica de Negocios

Hoy en día empresas muy grandes utilizan Elasticsearch: por ejemplo, la desarrolladora de videojuegos Blizzard para el análisis de los logs o la NASA para procesar en tiempo real los datos que llegan de los satélites que tiene en órbita. También es usado para aplicaciones Big Data, ya que es una solución capaz de manejar grandes cantidades de datos.

En conclusión, Elasticsearch nos ofrece la posibilidad de hacer búsquedas de texto tan complejas como sean nuestras necesidades, visualizar el estado de nuestros nodos y escalar sin demasiadas complicaciones.

Twitter
Visit Us
Follow Me
LinkedIn
Share