Architecture générale
Définition : Noeud
Correspond à un processus d'Elasticsearch en cours d’exécution.
Définition : Cluster
Un cluster est composé d'un à plusieurs nœuds. Un nœud maître est choisi, il sera remplacé en cas de défaillance.
Définition : Index
Un index est un espace logique de stockage de documents de même type, découpé sur un à plusieurs Primary Shards.
Un index peut être répliqué sur zéro ou plusieurs Secondary Shards.
Définition : Primary Shards
C'est une partition de l'index. Par défaut, l'index est découpé en 5 Shards Primary. Il n'est pas possible de changer le nombre de Shards après sa création.
Définition : Secondary Shards
Il s'agit de de copies de Primary Shards. Il peut y en avoir zéro à plusieurs par Primary Shard. Ce comportement est adopté à des fin de performance et de sécurisation des données.
Définition : Document
Document : Un simple enregistrement dans un shard Elasticsearch. Un document est structuré comme un objet JSON et doit appartenir à un type (qui défini sa structure).
Exemple : Exemple d'un document de type Ville
{
"nom": "Paris",
"codePostal":"75000",
"url": "http://www.paris.fr/",
"monuments": [
{
"nom": "Arc de Triomphe"
},
{
"nom": "Tour Eiffel"
}
]
}
Conseil : Similarité avec une base de données relationnelle
De manière très incomplète, on peut rapprocher ces notions des bases de données relationnelles :
SGBDR | Elasticsearch |
Base de donnée | Index |
Table | Type |
Ligne | Document |
Colonne | Champ ou propriété |
Fondamental : En résumé ...
Un cluster Elasticsearch peut contenir plusieurs index (bases de données) qui, à leur tour, contiennent plusieurs types (tables). Ces types contiennent plusieurs documents (lignes) et chaque document possède des propriétés (colonnes).