Qué es Elasticsearch
Qué es Elasticsearch
Shay Banon, CEO de Elasticsearch, dice que las búsquedas es algo que toda aplicación debería de tener, y no le falta razón, ya que, si nos fijamos en aplicaciones como Amazon, eBay o cualquier tienda de retail, nos encontramos con buscadores realmente eficientes y rápidos a la hora de hacer búsquedas.
Elasticsearch se origina en 2004, cuando Shay Banon desarrolla Compass con el objetivo de tener búsquedas integradas en aplicaciones Java de la manera más simple.
A medida que pasa el tiempo se empiezan a dar cuenta de que sistema no es escalable y que puede ser un gran problema de cara al futuro.
En 2010 Shay Banon elimina Compass y crea Elasticsearch con dos objetivos:
-
Que sea un sistema distribuido desde cero, es decir, que desde el primer momento podamos instanciar nodos y que sea escalable hasta N nodos a nivel horizontal.
-
Que sea de fácil uso por cualquier aplicación y que sea accesible desde cualquier cliente, por eso crea un servicio REST con el que comunicarnos por HTTP y por consultas de API REST, tanto para la ingesta como para la devolución de los datos.
Por qué Elasticsearch
Los principales motivos por los que es muy recomendable utilizar Elasticsearch:
- Búsquedas
Actualmente es de los mejores motores de búsquedas que existen y muchas empresas avalan el uso de Elasticsearch para búsquedas de texto completo. Por ejemplo, eBay lo utiliza para más de 800 millones de búsquedas en pocos segundos.
- Almacenar logs
Un uso muy común de Elasticsearch es para guardar y analizar los datos de los logs. Un ejemplo es Blizzard, que lo utiliza para analizar a los jugadores y los eventos de los servidores.
- Almacenar métricas
Elasticsearch permite analizar todo tipo de métricas de datos. La NASA lo utiliza desde para sacar los datos de una CPU hasta para saber en tiempo real el tiempo en Marte
- Business Analytics
Se utiliza para hacer Business Analytics y desarrollar apps personalizadas. Un ejemplo de esto es Tinder, que utiliza Elasticsearch para este tema en su aplicación.
- Analíticas de seguridad
También permite analizar la seguridad y actuar en tiempo real sobre problemas de seguridad en red. En Orange se utiliza para el mantenimiento predictivo de la red interna, detectando anomalías en tiempo real sobre los eventos que soporta su red, lo que permite, en base a lo que va ingestando Elasticsearch, se pueden aplicar reglas y actuar de una forma automatizada.