Abandonner ACID au profit de BASE dans l’ingénierie des bases de données
La fiabilité et la cohérence sont au cœur de la conception des bases de données relationnelles. Les ingénieurs qui les ont développés se sont concentrés sur des modèles de transaction garantissant que les quatre principes du modèle ACID étaient toujours préservés. Cependant, l’émergence de nouveaux modèles de bases de données non structurées subvertit ACID. Le modèle de base de données NoSQL évite un modèle relationnel hautement structuré au profit d’une approche flexible du stockage clé/valeur. Cette approche des données non structurées nécessite une alternative au modèle ACID : le modèle BASE.
artpartner-images/Getty Images
Fondamentaux du modèle ACID
Le modèle ACID repose sur quatre principes de base :
- cette atomicité Les transactions garantissent que chaque transaction de base de données est une seule unité d’exécution utilisant une approche « tout ou rien ». Si une instruction de la transaction échoue, la totalité de la transaction est annulée.
- Les bases de données relationnelles garantissent également que cohérence Chaque transaction est liée aux règles métier de la base de données. Si un élément de la transaction atomique viole la cohérence de la base de données, la transaction entière échouera.
- Le moteur de base de données applique isolation Entre plusieurs transactions se produisant au même moment ou presque. Chaque transaction se produit avant ou après chaque autre transaction, et la vue de la base de données qu’une transaction voit à son début n’est modifiée que par la transaction elle-même jusqu’à la fin de la transaction. Aucune transaction ne doit voir un produit intermédiaire d’une autre transaction.
- Le principe ACID final, durabilité, pour garantir qu’une fois qu’une transaction est validée dans la base de données, elle est conservée de manière permanente grâce à l’utilisation de sauvegardes et de journaux de transactions. Ces mécanismes peuvent être utilisés pour récupérer les transactions validées en cas de panne.
Principes fondamentaux de BASE
D’autre part, les bases de données NoSQL conviennent aux situations où le modèle ACID est exagéré ou entrave réellement le fonctionnement de la base de données. Au lieu de cela, NoSQL s’appuie sur un modèle plus souple appelé le modèle BASE. Ce modèle s’adapte à la flexibilité offerte par NoSQL et des approches similaires de gestion et de gouvernance des données non structurées. BASE se compose de trois principes :
- convivialité de baseL’approche de la base de données NoSQL se concentre sur la disponibilité des données, même en présence de pannes multiples. Pour ce faire, il utilise une approche hautement distribuée de la gestion de base de données. Au lieu de maintenir un seul grand magasin de données et de se concentrer sur la tolérance aux pannes de ce magasin, les bases de données NoSQL répartissent les données sur de nombreux systèmes de stockage hautement répliqués. En cas de panne interrompant l’accès aux segments de données, cela n’entraîne pas nécessairement une indisponibilité complète de la base de données.
- état mouLes bases de données BASE abandonnent presque complètement les exigences de cohérence du modèle ACID. L’un des concepts de base derrière BASE est que la cohérence des données est un problème de développeur et ne doit pas être gérée par la base de données.
- cohérence éventuelleLa seule exigence de cohérence dans les bases de données NoSQL est qu’à un moment donné dans le futur, les données convergeront vers un état cohérent. Cependant, il n’y a aucune garantie quant au moment où cela se produira. Il s’agit d’une dérogation complète à l’exigence de cohérence immédiate d’ACID, qui interdit l’exécution des transactions tant que la transaction précédente n’est pas terminée et que la base de données n’a pas convergé vers un état cohérent.
Dans BASE, la disponibilité de base peut signifier que vous n’avez même pas le contrôle sur la source de données. Par exemple, vous pouvez créer des liens vers des ensembles de données publics pour certains de vos travaux.
cas d’utilisation associés
Le modèle BASE ne convient pas à toutes les situations, mais c’est certainement une alternative flexible au modèle ACID pour les bases de données qui n’ont pas besoin d’adhérer strictement au modèle relationnel.
Les meilleurs cas d’utilisation des bases de données utilisant ACID dépendent de données hautement structurées avec des entrées et des sorties prévisibles. Ainsi, les bases de données de ressources humaines, les bases de données de vente au détail et les dossiers médicaux électroniques bénéficient tous des solides contrôles de cohérence interne fournis par ACID.
Cependant, la solution BASE est mieux adaptée aux sujets ambigus tels que l’analyse des sentiments. Par exemple, un projet structuré en BASE pourrait analyser les flux Twitter à la recherche de mots suggérant un sentiment basé sur certains hashtags. Les flux Twitter sont mal structurés ou non instanciés localement, mais les flux de données fournissent des informations à programmer dans les requêtes, même si la portée et la nature de ces données ne sont pas clairement définies.
Merci de nous en informer!
Recevez chaque jour les dernières actualités technologiques
abonnement
Dites-nous pourquoi !
D’autres ne sont pas assez détaillés pour comprendre