¿Qué es Elasticsearch?

2/16
Recursos
Transcripción

¿Qué es Elastic Search y cómo funciona?

Elastic Search es una poderosa herramienta de búsqueda y análisis en tiempo real que sobresale por su velocidad y eficiencia. Es altamente valorada por su capacidad de gestionar grandes volúmenes de datos y por su naturaleza distribuida que permite escalar sin complicaciones adicionales. Este popular motor de búsqueda y análisis es esencial en el mundo moderno para optimizar la consulta y recuperación de información.

¿Cómo se estructura Elastic Search?

La estructura de Elastic Search se divide en dos niveles: el lógico y el físico.

Nivel lógico

  • Índices y documentos: Dentro de Elastic Search, un documento es la unidad más pequeña de información que se puede almacenar. Estos documentos se agrupan dentro de índices, encargados de almacenarlo eficientemente. A diferencia de las bases de datos tradicionales, Elastic Search no utiliza tablas ni relaciones complejas, simplificando su uso y mantenimiento.

Nivel físico

  • Clúster y nodos: Elastic Search opera a través de un clúster, que es el conjunto de nodos (ordenadores o servidores) que colaboran para procesar las solicitudes de búsqueda y almacenamiento. Los nodos albergan shards, que son fragmentos que dividen los índices para facilitar su gestión.

  • Shards y réplicas: Un shard primario contiene la información original que se guarda, mientras que los shards de réplica actúan como copias de seguridad. Esta organización garantiza la redundancia y el acceso continuo a la información, incluso si un nodo falla.

¿Cuáles son los beneficios de Elastic Search?

Elastic Search se destaca por varios motivos:

  • Rapidez en búsquedas: La velocidad de Elastic Search en recuperar información desde grandes volúmenes de datos lo hace ideal para implementaciones en sitios web y aplicaciones.

  • Interfaz familiar y accesible: Su diseño utiliza una interfaz HTTP y documentos JSON, lo que facilita su adopción por parte de desarrolladores acostumbrados a tecnologías web comunes.

  • Escalabilidad y flexibilidad: La capacidad de funcionar distribuidamente sin configuraciones complicadas permite a Elastic Search expandirse según las necesidades, gestionando eficientemente recursos distribuidos en distintos lugares.

¿Cómo se maneja la replicación en Elastic Search?

Elastic Search, por defecto, realiza la replicación de datos en casi tiempo real. Este detalle es crucial porque, cuando se guarda un documento, es necesario esperar un breve lapso (normalmente un segundo por defecto) para que los datos se repliquen completamente en todos los nodos. Sólo entonces, el documento estará disponible para búsquedas rápidas.

¿Qué usos prácticos tiene Elastic Search?

Elastic Search no sólo se emplea para búsquedas rápidas de información, sino también en otras áreas destacadas:

  • Almacenamiento de datos: Actúa como un motor de almacenamiento robusto para guardar información y obtenerla posteriormente en contextos de negocios.

  • Machine Learning: Elastic Search puede integrarse con algoritmos de aprendizaje automático para extraer información valiosa de grandes cantidades de datos.

  • Datos geoespaciales: Es capaz de procesar y analizar datos relacionados con ubicación geográfica, lo que permite realizar consultas como ubicación de puntos cercanos o lejanos, y operaciones basadas en mapas.

¿Cómo se garantiza la fiabilidad en Elastic Search?

La arquitectura de Elastic Search está diseñada para ofrecer redundancia y confiabilidad, incluso ante posibles fallos:

  • Ubicación de réplicas en nodos separados: Para garantizar que la pérdida de un nodo no afecte al acceso a los datos, las réplicas de los shards no se guardan en el mismo nodo que el shard primario al que respaldan. Esto asegura la recuperación de datos en caso de fallo.

  • Tratamientos de fallos físicos y lógicos: Elastic Search toma en cuenta posibles fallos físicos (como desastres naturales) y lógicos (como corrupción del sistema operativo), proporcionando soluciones de respaldo efectivas.

Elastic Search no sólo constituye una herramienta poderosa para búsquedas y almacenamiento de datos, sino que también se erige como una solución robusta ante potenciales fallos, con una arquitectura diseñada para la eficiencia y la confiabilidad. Su flexibilidad y capacidad para trabajar en múltiples casos de uso la convierten en una opción indispensable en la gestión de datos modernos.

Aportes 14

Preguntas 5

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Distribución de elastic a nivel físico:

La configuración física de elastic se agrupa en un cluster que almacena la configuration física de todos los nodos, entendiendo como nodo cualquier tipo de cómputo que puede correr Elasticsearch. Los nodos agrupan Shards, que son las divisiones que tiene un índice. y operan de manera autónoma.

En un nodo se puede tener un segmento de información principal y las replicas de información de otros segmentos. Algo que es importante tener en cuenta es que las replicas de un segmento en específico no pueden estar almacenadas en el mismo nodo ya que si llega a fallar el nodo, se perdería tambien la replica del mismo.

  • Elastic Search, es una herramienta que te permite realizar búsquedas y analítica en tiempo real.
  • Luego de que el documento es almacenado e indexado se encuentra disponible casi en tiempo real, debido a que es una herramienta distribuida.
  • Utiliza una interfaz HTTP con documentos JSON, para realizar las consultas.
  • El guardado de los documentos es lo más eficiente posible.
  • Búsquedas de información en websites y apps.
  • Motor de almacenamiento para automatización de casos de negocio.
  • Machine Learning, para modelar comportamiento de datos.
  • Como un GIS, ya que puede manejar información geoespacial.
  • Elastic Search(Lógico) esta formado por indices y documentos, un documento es la información más pequeña que se puede guardar y un indice que es donde se almacenan los documentos.
  • Elastic Search(Físico) esta formando por un cluster y el cluster por nodos y los nodos por shards, un shard son las distintas divisiones que tiene un indice, un indice puede estar compuesto por una o varias de estas piezas y estas piezas pueden operar por si solas.
  • Las replicas son los backups de las piezas primarias que se guardan en los nodos donde no se encuentra la pieza primaria.

Hola chicos, les comento que GIS es la abreviatura de Geographic Information System (Sistema de Información Geográfico)

¿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

Se puede implementar Elasticsearch Service on Elastic Cloud desde la nube de Goocle GCLOUD https://console.cloud.google.com/marketplace/product/endpoints/elasticsearch-service.gcpmarketplace.elastic.co
Aprovisiona multiples clousters y los permite administrar desde una sola consola.
Se cobra por uso por transferencia de Gygabites

Para que quede mas claro, ya que a mi tambien me costó un poco entenderlo. El indice es la BD en si, es la estructura y bajo ese indice se guardan documentos que comparten ciertas caracteristicas (que estan descriptos por el indice).
Cuando lo que quiero almacenar son documentos muy grandes que no pueden ser procesados por un solo nodo, se puede dividir el indice (y por lo tanto los documentos) en partes mas chicas llamadas shards. Cuando se haga una consulta, es el cluster en si el que debe resolverla usando los distintos shards para devolver los documentos que necesito…

Un documento es la unidad mínima de información en elasticsearch.

Estimado Kevin

Elasticsearch se puede clasificar como una herramienta big data ?

Definicion

Aquí indica como se almacenan las primarias y sus replicas y el porque lo hacen de esa forma.

Configuración lógica de Elasticsearch: índices y documentos

Configuración física de Elasticsearch

la funcionalidad física sobre la distribución de las replicas tiene un buen sustento. Si falla el nodo el backup estará en otro nodo, así no se perderá la información.

Nivel logico
Indice -> Documento

Nivel Fisico
Se agrupa en un cluster