NoSQL

Famille de systèmes de gestion de bases de données conçus pour stocker et interroger des données non structurées ou semi-structurées (comme du JSON, du XML ou des graphes), avec une forte capacité d’évolution (scalabilité) et une flexibilité de schéma.

Une base de données NoSQL (qui signifie « Not Only SQL », et non « pas de SQL ») est un type de base de données plus souple que les bases relationnelles classiques.

  • Alors qu’une base SQL range les données dans des tableaux bien organisés avec des colonnes fixes (nom, prénom, date…),
  • une base NoSQL accepte des formats variés :
    • des documents (comme des fichiers JSON avec des champs qui changent d’un enregistrement à l’autre),
    • des paires clé-valeur (comme un dictionnaire : « email » → « user@domaine.fr »),
    • des colonnes flexibles (où chaque ligne peut avoir ses propres colonnes),
    • ou des graphes (pour représenter des relations entre personnes, objets, etc.).

Ce modèle est particulièrement utile quand :

  • les données sont très nombreuses (millions ou milliards d’enregistrements),
  • leur structure change souvent,
  • ou quand on a besoin de répartir la charge sur plusieurs serveurs (scalabilité horizontale).

Exemple concret :

Sur un réseau social, chaque utilisateur peut avoir un nombre différent d’amis, de publications, de préférences… Une base NoSQL permet de stocker ces profils sans imposer le même schéma à tout le monde.

Principaux types de bases NoSQL :

TypeDescriptionExemples
DocumentStocke des objets au format JSON/BSONMongoDB, CouchDB
Clé-valeurAssocie une clé unique à une valeur simple ou complexeRedis, Memcached
ColonneOrganise les données par familles de colonnesApache Cassandra, ScyllaDB
GrapheReprésente des entités et leurs relationsNeo4j, Amazon Neptune

Cas d’usage courants :

  • Applications mobiles et web à fort trafic,
  • Internet des objets (IoT) et capteurs,
  • Recommandations personnalisées (ex. : « Vous aimerez aussi… »),
  • Stockage de logs ou d’événements en temps réel.

NoSQL ne remplace pas SQL — les deux modèles sont complémentaires. On choisit NoSQL quand la flexibilité, la montée en charge ou la variété des données est plus importante que les garanties strictes d’intégrité transactionnelle (ACID) offertes par les bases relationnelles.

Les contenus de définition restent publics. Les ressources (outils, grilles, supports) liées à cette fiche sont disponibles dans l’espace membre.