Rappels sur les bases de données#
Théoreme CAP#
Trois contraintes#
Cohérence (Consistency)
- Tous les noeuds du système voient les mêmes données au même moment
Disponibilité (Availability)
- Garantie que toutes les requêtes (en lecture ou en écriture) reçoivent une réponse
Tolérence au partitionnement (Partition tolerance)
- Aucune panne moins importante qu'une coupure totale du réseau ne doit empecher le systeme de répondre correctement
- En cas de morcellement en sous-réseaux, chacun doit pouvoir fonctionner de maniere autonome comme un seul système
Énoncé du théorème - et propriétés des BDD#
D'après ce théorème :
- Il est impossible sur un systeme informatique de calcul distribué de garantir en même temps (de manière synchrone) les trois contraintes C-A-P.
- Un système de calcul distribué ne peut garantir que deux de ces contraintes.
Note
En général, les SGBD essayent de compenser la partie qu'elles ne peuvent pas garantir, au moins pour certains cas d'usage.
Propriétés ACID#
Atomicité (Atomic)
- Une transaction est entière : ^S tout ou rien ^T.
Cohérence (Consistent)
- Une transaction amène la base d’un état stable à un autre.
Isolation (Isolated)
- Les transactions n’agissent pas les unes sur les autres.
Durabilité (Durable)
- Une transaction validée provoque des changements permanents.
Les propriétés ACID sont quatre propriétés essentielles d’un sous-système de traitement de transactions d’un système de gestion de base de données
Important
On considère souvent que seuls les SGBD qui respectent ces propriétés sont dignes d’être considérées comme des bases de données