# NoSQL et théorème CAP en entreprise

Informatique de gestion · Master 1

> Familles NoSQL, théorème CAP et cohérence à terme pour des bases distribuées.

## Introduction

Les bases relationnelles restent centrales pour les données transactionnelles, mais certains besoins - volumes massifs, schémas changeants, très faible latence, relations complexes - ont suscité des bases NoSQL variées.

Ces systèmes sont souvent distribués : les données sont réparties et répliquées. Le théorème CAP rappelle alors un compromis inévitable lors d'une partition réseau entre cohérence et disponibilité.

Ce deck présente les quatre familles, le sens exact du théorème CAP, la cohérence à terme et des critères pour choisir une technologie selon un cas d'usage de gestion.

## Objectifs d'apprentissage

- Distinguer les quatre familles NoSQL et leurs usages
- Énoncer correctement le théorème CAP
- Expliquer cohérence forte et cohérence à terme
- Choisir une famille selon un besoin métier

## Concepts clés

- **Familles NoSQL** : Clé-valeur (cache, sessions), documents (catalogues, profils), colonnes larges (séries, journaux), graphes (relations, fraude).
- **Théorème CAP** : En cas de partition réseau, un système distribué doit choisir entre cohérence et disponibilité ; la tolérance aux partitions n'est pas optionnelle.
- **Cohérence à terme** : Les répliques peuvent diverger brièvement, puis convergent si les écritures cessent ; acceptable pour un compteur de likes, pas pour un solde bancaire.
- **Partitionnement** : Découpage horizontal des données (sharding) pour répartir volume et charge.
- **Choix pragmatique** : Le relationnel reste le défaut pour les transactions ; on ajoute du NoSQL pour un besoin précis, pas par effet de mode.

## Conclusion

Le NoSQL n'est ni une panacée ni une mode : c'est un ensemble d'outils adaptés à des besoins précis. CAP rappelle que la distribution impose des compromis, et la cohérence à terme n'est acceptable que si l'erreur temporaire est sans conséquence.

À l'examen, associez un cas d'usage à une famille de base et justifiez le niveau de cohérence.

## Cartes

### Quand choisir une base clé-valeur ?

Pour des accès très rapides par clé : cache, sessions, paniers.

### Quand choisir une base documents ?

Pour des objets à structure variable, comme catalogues ou profils.

### Quand choisir une base graphe ?

Pour exploiter des relations : recommandation, réseaux, détection de fraude.

### Que dit le théorème CAP ?

Lors d'une partition réseau, il faut choisir entre cohérence et disponibilité.

### Pourquoi dit-on que P n'est pas optionnel ?

Les pannes réseau arrivent dans tout système distribué, donc la tolérance aux partitions est requise.

### Qu'est-ce que la cohérence à terme ?

Les répliques convergent vers le même état après un délai, si les écritures cessent.

### Où la cohérence forte est-elle indispensable ?

Pour des opérations comme un virement ou un stock critique.

### Qu'est-ce que le sharding ?

Répartir les données sur plusieurs noeuds selon une clé de partition.

### Que sacrifie-t-on souvent en NoSQL ?

Les jointures riches et les transactions multi-objets, selon le produit.

## Glossaire

- **NoSQL** : Ensemble de bases non relationnelles pour des besoins de volume, de souplesse ou de relations.
- **Théorème CAP** : Compromis cohérence-disponibilité sous partition réseau.
- **Cohérence à terme** : Convergence différée des répliques.
- **Sharding** : Découpage horizontal des données entre noeuds.
- **Base graphe** : Base modélisant noeuds et relations.
- **Réplication** : Copie des données sur plusieurs noeuds pour la disponibilité.

https://ruvy.ch/decks/-P5CwAf73xSm0RIALH3c
