En aquest tema, explorarem els conceptes fonamentals d'Elasticsearch: nodes, clústers i índexs. Aquests conceptes són essencials per comprendre com funciona Elasticsearch i com es gestionen les dades dins del sistema.
Nodes
Què és un Node?
Un node és una instància d'Elasticsearch que forma part d'un clúster. Cada node és un servidor que emmagatzema dades i participa en les operacions de cerca i indexació.
Tipus de Nodes
- Master Node: Responsable de les operacions administratives, com la creació o eliminació d'índexs i la gestió de l'estat del clúster.
- Data Node: Emmagatzema les dades i executa operacions de cerca i agregació.
- Ingest Node: Processa les dades abans de la indexació, aplicant transformacions com enriquiment de dades.
- Coordinating Node: Gestiona les peticions de cerca i distribueix les sol·licituds als nodes de dades.
Configuració d'un Node
Clústers
Què és un Clúster?
Un clúster és un conjunt de nodes que treballen junts per emmagatzemar dades i proporcionar capacitats de cerca. Cada clúster té un nom únic que s'utilitza per identificar-lo.
Components d'un Clúster
- Nodes: Com hem vist, els nodes són les instàncies individuals que formen el clúster.
- Índexs: Un clúster pot contenir múltiples índexs, cadascun dels quals emmagatzema un conjunt de documents relacionats.
- Shards: Els índexs es divideixen en fragments (shards) per distribuir les dades i les càrregues de treball entre els nodes.
Configuració d'un Clúster
Índexs
Què és un Índex?
Un índex és una col·lecció de documents que tenen característiques similars. En termes de bases de dades tradicionals, un índex és similar a una taula.
Estructura d'un Índex
- Documents: La unitat bàsica d'informació que es pot indexar. Cada document és un objecte JSON.
- Tipus: En versions anteriors d'Elasticsearch, els índexs podien tenir múltiples tipus. A partir de la versió 6.x, es recomana utilitzar un sol tipus per índex.
- Shards i Replicació: Els índexs es divideixen en fragments (shards) per distribuir les dades. Cada fragment pot tenir rèpliques per garantir la disponibilitat i la tolerància a fallades.
Creació d'un Índex
Indexació d'un Document
POST /my-index/_doc/1 { "title": "Elasticsearch Basics", "content": "Understanding nodes, clusters, and indices." }
Cerca en un Índex
Resum
En aquest tema, hem après els conceptes bàsics d'Elasticsearch: nodes, clústers i índexs. Hem vist com es configuren els nodes i els clústers, i com es creen i gestionen els índexs. Aquests conceptes són fonamentals per treballar amb Elasticsearch i comprendre com es gestionen les dades dins del sistema.
En el proper tema, explorarem com indexar dades a Elasticsearch, incloent-hi exemples pràctics i exercicis per reforçar els conceptes apresos.
Curs d'Elasticsearch
Mòdul 1: Introducció a Elasticsearch
- Què és Elasticsearch?
- Instal·lant Elasticsearch
- Conceptes Bàsics: Nodes, Clústers i Índexs
- Arquitectura d'Elasticsearch
Mòdul 2: Començant amb Elasticsearch
Mòdul 3: Tècniques Avançades de Cerca
Mòdul 4: Modelatge de Dades i Gestió d'Índexs
Mòdul 5: Rendiment i Escalabilitat
- Optimitzant el Rendiment de la Cerca
- Escalant Elasticsearch
- Monitorització i Manteniment
- Còpia de Seguretat i Restauració
Mòdul 6: Seguretat i Control d'Accés
- Assegurant Elasticsearch
- Autenticació i Autorització d'Usuaris
- Control d'Accés Basat en Rols
- Auditoria i Compliment
Mòdul 7: Integracions i Ecosistema
- Elasticsearch amb Logstash
- Elasticsearch amb Kibana
- Elasticsearch amb Beats
- Elasticsearch amb Altres Eines