Introduction

Positionnement d'Elasticsearch face aux bases relationnelles et principaux cas d'usage.

Créé le 24 mars 2026·Mis à jour le 24 mars 2026

Introduction


Elasticsearch est un moteur de recherche et d'analyse distribué, basé sur la bibliothèque Apache Lucene. Contrairement à une base de données relationnelle, il n'est pas conçu pour stocker des données transactionnelles et en garantir la cohérence : il est conçu pour les retrouver rapidement, les analyser en temps quasi-réel, et les rendre accessibles à une recherche efficace.

ℹ️ Elasticsearch : Moteur de recherche distribué open source développé par Elastic. Il stocke les données au format JSON et les expose via une API HTTP RESTful.

Les données sont stockées sous forme de documents JSON dans des structures appelées index. Chaque document peut être récupéré en quelques millisecondes, et des recherches full-text peuvent porter sur des millions de documents en une fraction de seconde.

Elasticsearch vs SQL


Si vous venez du monde des bases de données relationnelles, voici comment se positionnent les concepts l'un par rapport à l'autre.

SQLElasticsearchDescription
Base de donnéesClusterL'ensemble du système
TableIndexUn ensemble de documents de même nature
LigneDocumentUne entrée, au format JSON
ColonneChamp (field)Une propriété du document
SchémaMappingLa définition des types de champs

Ces correspondances sont utiles pour s'orienter, mais elles s'arrêtent là. Elasticsearch ne fonctionne pas comme une base de données relationnelle et plusieurs différences fondamentales s'imposent :

Pas de JOIN : Elasticsearch ne permet pas de joindre deux index à la volée comme SQL joint deux tables. Les relations doivent être résolues au moment de l'indexation, pas de la requête.

Pas de transactions : il n'y a pas de mécanisme ACID. Si vous indexez plusieurs documents, l'un peut réussir et l'autre échouer sans rollback automatique.

Near real-time : un document indexé devient visible dans les recherches après un délai de l'ordre d'une seconde (le cycle de rafraîchissement de l'index). Ce n'est pas de l'instantané.

Optimisé pour la lecture : l'écriture est plus coûteuse que dans une base relationnelle. Elasticsearch est taillé pour être massivement interrogé, pas mis à jour en continu ligne par ligne.

Cas d'usage


Elasticsearch répond à des besoins qui dépassent les capacités naturelles d'une base de données relationnelle.

Recherche full-text : retrouver des documents en langage naturel, avec tolérance aux variations de casse, synonymes, et classement par pertinence. C'est le cas d'usage fondateur d'Elasticsearch.

Autocomplétion et suggestions : proposer des résultats en cours de saisie, avec une latence de quelques millisecondes même sur un corpus volumineux.

Analytics et tableaux de bord : agréger des millions de documents pour produire des statistiques, des histogrammes, des classements. Kibana (de la suite Elastic) est entièrement bâti sur cette capacité.

Centralisation de logs : la stack ELK (Elasticsearch, Logstash, Kibana) est l'une des solutions les plus répandues pour ingérer et analyser des logs applicatifs en temps réel.