En esta sección, aprenderemos sobre los conceptos fundamentales de Elasticsearch: nodos, clústeres e índices. Estos conceptos son esenciales para entender cómo funciona Elasticsearch y cómo se organiza la información dentro de él.

Nodos

¿Qué es un Nodo?

Un nodo es una instancia de Elasticsearch que almacena datos y participa en las operaciones de indexación y búsqueda. Cada nodo es una parte del clúster y puede ser configurado para cumplir diferentes roles.

Tipos de Nodos

  1. Nodo Maestro (Master Node):

    • Responsable de las tareas administrativas del clúster, como la creación y eliminación de índices y la gestión de los nodos.
    • Un clúster puede tener múltiples nodos maestros, pero solo uno es el nodo maestro activo en un momento dado.
  2. Nodo de Datos (Data Node):

    • Almacena los datos y realiza operaciones relacionadas con ellos, como búsquedas y agregaciones.
    • Es el tipo de nodo más común y puede haber muchos en un clúster.
  3. Nodo Coordinador (Coordinating Node):

    • No almacena datos ni actúa como nodo maestro.
    • Distribuye las solicitudes de búsqueda y agregación a los nodos de datos y combina los resultados.
  4. Nodo de Ingesta (Ingest Node):

    • Realiza operaciones de preprocesamiento en los documentos antes de que sean indexados, como el enriquecimiento de datos.

Ejemplo de Configuración de Nodo

# Configuración básica de un nodo en elasticsearch.yml
node.name: "node-1"
node.master: true
node.data: true
node.ingest: true

Clústeres

¿Qué es un Clúster?

Un clúster es un conjunto de uno o más nodos que trabajan juntos para almacenar datos y proporcionar capacidades de búsqueda. Un clúster se identifica por un nombre único, y todos los nodos que pertenecen al mismo clúster deben compartir este nombre.

Ventajas de un Clúster

  • Alta Disponibilidad: Si un nodo falla, otros nodos pueden tomar su lugar.
  • Escalabilidad: Se pueden añadir más nodos para manejar mayores volúmenes de datos y cargas de trabajo.

Ejemplo de Configuración de Clúster

# Configuración básica de un clúster en elasticsearch.yml
cluster.name: "my-cluster"
node.name: "node-1"

Índices

¿Qué es un Índice?

Un índice es una colección de documentos que comparten características similares. En Elasticsearch, un índice es similar a una base de datos en un sistema de gestión de bases de datos relacionales.

Componentes de un Índice

  1. Documentos:

    • La unidad básica de información que puede ser indexada. Cada documento es un objeto JSON.
    • Ejemplo de documento:
      {
        "user": "john_doe",
        "message": "Elasticsearch es genial",
        "timestamp": "2023-10-01T12:00:00"
      }
      
  2. Tipos (Types):

    • En versiones anteriores de Elasticsearch, los documentos dentro de un índice podían ser categorizados en tipos. Sin embargo, esta característica ha sido eliminada en versiones recientes.
  3. Shards y Réplicas:

    • Shards: Un índice puede ser dividido en múltiples shards (fragmentos). Cada shard es un índice completo y puede ser almacenado en cualquier nodo del clúster.
    • Réplicas: Copias de los shards primarios que proporcionan redundancia y alta disponibilidad.

Ejemplo de Creación de Índice

# Crear un índice llamado "my-index" con 3 shards y 2 réplicas
PUT /my-index
{
  "settings": {
    "number_of_shards": 3,
    "number_of_replicas": 2
  }
}

Resumen

En esta sección, hemos cubierto los conceptos básicos de Elasticsearch: nodos, clústeres e índices. Estos elementos son fundamentales para entender cómo Elasticsearch organiza y maneja los datos. A continuación, exploraremos cómo indexar datos en Elasticsearch.

Puntos Clave:

  • Nodos: Instancias de Elasticsearch que pueden tener diferentes roles (maestro, datos, coordinador, ingesta).
  • Clústeres: Conjunto de nodos que trabajan juntos para almacenar y buscar datos.
  • Índices: Colecciones de documentos que pueden ser divididas en shards y réplicas para mejorar la escalabilidad y la disponibilidad.

Con estos conceptos en mente, estamos listos para avanzar al siguiente tema: Indexando Datos.

© Copyright 2024. Todos los derechos reservados