Concept - C’est quoi un modèle de transactions BASE ?

Concept - C’est quoi un modèle de transactions BASE ?

Date de sortie
July 3, 2024
Auteur
Bertrand Fabre

Aujourd’hui, je vous explique ce que sont les propriétés BASE d’une base de données.

Le modèle BASE est une alternative au modèle ACID, conçu pour les systèmes de base de données distribués qui nécessitent une grande scalabilité et flexibilité (comme des bases NoSQL).

BASE énumère 3 propriétés.

1️⃣ Basically Available ou Fondamentalement Disponible ;

2️⃣ Soft state ou Etat souple ;

3️⃣ Eventual consistency ou Finalement cohérent.

Voici plus de détails pour chaque propriété.

Basically Available

Cette propriété signifie que le système garantit une réponse, même s’il ne garantit pas que cette réponse sera la plus récente ou correcte. Cela implique que le système est toujours en mesure de répondre à une requête, même en cas de défaillance partielle.

💡
Par exemple, dans un système de messagerie distribué, si un utilisateur envoie un message, le système doit assurer que ce message est reçu et affiché, même si certains serveurs de messagerie sont en panne. Le message pourrait être affiché avec un léger retard ou depuis une copie temporaire.

Soft state

Pour cette propriété, c’est l’état du système qui peut changer avec le temps, même sans nouvelle entrée. Cela se produit parce que les systèmes BASE permettent une certaine souplesse dans la synchronisation des données, autorisant des mises à jour plus fréquentes et moins rigides.

💡
Par exemple, dans un système de réseau social, les statuts et les commentaires des utilisateurs peuvent apparaître immédiatement, mais leur position exacte dans le flux peut changer à mesure que les serveurs se synchronisent et finalisent l’ordre des messages.

Eventual consistency

Cette propriété explique que même si le système peut ne pas être immédiatement cohérent, il finira par l’être. Les mises à jour se propagent de manière asynchrone à travers le système, et toutes les répliques de données deviendront cohérentes après un certain temps.

💡
Par exemple, dans un service de commerce en ligne, si un produit est acheté, l’inventaire pourrait ne pas être immédiatement mis à jour dans toutes les bases de données. Cependant, après un court laps de temps, toutes les copies de la base de données refléteront l’achat et afficheront le stock mis à jour.

Merci de votre lecture !