Skip to main content

BASE Modèle de développement de base de données

Zimbabwe's Codeine Cough Syrup Epidemic (Mai 2024)

Zimbabwe's Codeine Cough Syrup Epidemic (Mai 2024)
Anonim

Les bases de données relationnelles sont conçues avec la fiabilité et la cohérence à la base. Les ingénieurs qui les ont développés se sont concentrés sur un modèle transactionnel garantissant la préservation des quatre principes du modèle ACID. Cependant, l’avènement d’un nouveau modèle de base de données non structurée est en train de faire basculer ACID. Le modèle de base de données NoSQL évite le modèle relationnel hautement structuré en faveur d'une approche de magasin clé / valeur flexible. Cette approche non structurée des données nécessite une alternative au modèle ACID: le modèle BASE.

Principes de base du modèle ACID

Il existe quatre principes de base du modèle ACID:

  • le atomicité nombre de transactions garantit que chaque transaction de base de données est une unité unique qui adopte une approche d'exécution "tout ou rien". Si une instruction de la transaction échoue, la totalité de la transaction est annulée.
  • Les bases de données relationnelles assurent également la cohérence de chaque transaction avec les règles commerciales de la base de données. Si un élément d'une transaction atomique perturbe la cohérence de la base de données, la transaction dans son ensemble échoue.
  • Le moteur de base de données applique isolement 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 est uniquement modifiée par la transaction elle-même avant sa conclusion. Aucune transaction ne devrait jamais voir le produit intermédiaire d'une autre transaction.
  • Le principe final d'ACID, durabilité, garantit qu'une fois qu'une transaction est validée dans la base de données, elle est préservée de manière permanente grâce à l'utilisation de sauvegardes et de journaux de transactions. En cas de défaillance, ces mécanismes peuvent être utilisés pour restaurer les transactions validées.

    Principes fondamentaux de BASE

    Les bases de données NoSQL, en revanche, englobent des situations dans lesquelles le modèle ACID est excessif ou entraverait en fait le fonctionnement de la base de données. Au lieu de cela, NoSQL s'appuie sur un modèle plus souple appelé, de manière appropriée, le modèle BASE. Ce modèle prend en charge la flexibilité offerte par NoSQL et des approches similaires en matière de gestion et de curation de données non structurées. BASE repose sur trois principes:

    • Disponibilité de base. L'approche de base de données NoSQL se concentre sur la disponibilité des données même en présence de plusieurs défaillances. Pour ce faire, il utilise une approche hautement distribuée de la gestion de base de données. Au lieu de gérer 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 avec un degré élevé de réplication. Dans l'éventualité peu probable où une panne perturberait l'accès à un segment de données, cela n'entraînerait pas nécessairement une panne complète de la base de données.
    • État mou. Les bases de données BASE abandonnent complètement les exigences de cohérence du modèle ACID. L'un des concepts de base de BASE est que la cohérence des données est le problème du développeur et ne doit pas être gérée par la base de données.
    • Cohérence éventuelle. La seule exigence des bases de données NoSQL en ce qui concerne la cohérence est d'exiger qu'à l'avenir, les données convergent vers un état cohérent. Aucune garantie n'est toutefois donnée quant au moment où cela se produira. Cela constitue un écart total par rapport à l'exigence de cohérence immédiate d'ACID, qui interdit l'exécution d'une transaction jusqu'à la fin de la transaction précédente et la convergence de la base de données vers un état cohérent.

    Le modèle BASE ne convient pas à toutes les situations, mais il constitue sans aucun doute une alternative flexible au modèle ACID pour les bases de données n'exigeant pas le respect strict d'un modèle relationnel.