ACID: Atomique, Cohérent, Isolé et Durable

Classé dans : Articles | 0

Je ne pense pas que ce soit exagéré de dire que les données sont assez importantes. Les données sont particulièrement importantes pour les organisations modernes. En fait, The Economist est allé jusqu’à dire que les données ont dépassé le pétrole en tant que ressource la plus précieuse au monde, et c’était en 2017.

Un des problèmes avec les données des quantités massives de ce que doivent être traités sur une base quotidienne., Il y a tellement de données qui volent à travers le monde ces jours-ci que nous devons trouver un nouveau terme juste pour exprimer combien il y a de données: big data. Bien sûr, ce n’est pas le terme le plus impressionnant, mais le fait demeure.

Avec toutes ces données volumineuses, les organisations cherchent des moyens d’améliorer la façon dont elles gèrent tout cela d’un point de vue pratique, informatique et sécurité. Comme l’a dit un jour l’oncle de Spiderman, Ben: « Avec une grande responsabilité vient une grande responsabilité.” La meilleure méthode que le monde informatique a créée pour naviguer dans les complexités de la gestion des données est l’utilisation de bases de données.,

qu’est Ce qu’une Base de données?

Les bases de données sont des ensembles structurés de données stockées dans des ordinateurs. Souvent, les bases de données sont stockées sur des fermes de serveurs entières remplies d’ordinateurs spécialement conçus pour traiter ces données et les processus nécessaires à leur utilisation.

Les bases de données modernes sont des systèmes si complexes que des systèmes de gestion ont été conçus pour les gérer. Ces systèmes de gestion de base de données (SGBD) cherchent à optimiser et à gérer le stockage et la récupération des données dans les bases de données.,

L’approche ACID est l’une des étoiles qui guident les organisations vers une gestion de base de données réussie.

Qu’est-ce que l’ACIDE?

Dans le contexte de l’informatique, ACID (Atomicité, Cohérence, Isolation, Durabilité) est un ensemble de principes directeurs qui peuvent garantir que les transactions de base de données peuvent être traitées de manière fiable. Une transaction de base de données est une opération effectuée dans une base de données, telle que la création d’un nouvel enregistrement ou la mise à jour de données dans une base de données.

Les modifications apportées dans une base de données doivent être effectuées avec soin pour s’assurer que les données ne sont pas corrompues., Appliquer les propriétés ACID à chaque modification d’une base de données est le meilleur moyen de maintenir la précision et la fiabilité d’une base de données. Regardons chaque composant de l’ACIDE.

Atomicity

Dans le contexte des bases de données, atomicity signifie que vous validez l’intégralité de la transaction en cours ou que vous n’avez aucune transaction., Essentiellement, une transaction atomique garantit que tout commit que vous effectuez termine l’opération entière avec succès ou, en cas de perte de la connexion au milieu d’une opération, la base de données est rétablie à son état avant que le commit ne soit initié.

Ceci est important pour empêcher les pannes ou les pannes de créer des cas où la transaction a été partiellement terminée à un état global inconnu. Si un plantage se produit lors d’une transaction sans atomicité, vous ne pouvez pas savoir exactement à quelle distance se trouvait le processus avant l’interruption de la transaction., En utilisant atomicity, vous vous assurez que la transaction entière est terminée avec succès ou qu’elle ne l’a pas été.

Cohérence

La cohérence fait référence au maintien des contraintes d’intégrité des données. Une transaction cohérente ne violera pas les contraintes d’intégrité imposées aux données par les règles de base de données. L’application de la cohérence garantira que si une base de données entre dans un état illégal (en cas de violation des contraintes d’intégrité des données), le processus sera abandonné et les modifications rétablies dans leur état légal précédent.,

Une autre façon d’assurer la cohérence au sein d’une base de données tout au long de chaque transaction est d’appliquer également les contraintes déclaratives placées sur la base de données. Un exemple de contrainte déclarative pourrait être que tous les comptes clients doivent avoir un solde positif. Si une transaction amènerait un compte client à un solde négatif, cette transaction serait annulée. Cela garantit que les modifications réussissent à maintenir l’intégrité des données ou qu’elles sont complètement annulées.,

Isolation

Les transactions isolées sont considérées comme « sérialisables”, ce qui signifie que chaque transaction se produit dans un ordre distinct sans qu’aucune transaction ne se produise en tandem. Toute lecture ou écriture effectuée sur la base de données ne sera pas affectée par d’autres lectures et écritures de transactions distinctes survenant sur la même base de données. Un ordre global est créé avec chaque transaction en file d’attente pour s’assurer que les transactions se terminent dans leur intégralité avant qu’une autre ne commence.

Cela ne signifie pas que deux opérations ne peuvent pas se produire en même temps., Plusieurs transactions peuvent se produire tant que ces transactions n’ont aucune possibilité d’avoir un impact sur les autres transactions survenant en même temps. Cela peut avoir un impact sur la vitesse d’opérations qu’il peut forcer de nombreuses opérations à attendre avant de pouvoir démarrer. Cependant, ce compromis vaut la sécurité supplémentaire des données fournie par l’isolement.

L’isolement peut être accompli par l’utilisation d’une échelle mobile de permissivité qui va entre ce que l’on appelle les transactions optimistes et les transactions pessimistes., Un schéma de transaction optimiste suppose que d’autres transactions se termineront sans lire ou écrire deux fois au même endroit. Avec le schéma optimiste, les deux transactions seront abandonnées et réessayées dans le cas d’une transaction frappant deux fois le même endroit.

Le schéma de transaction pessimiste offre moins de liberté et verrouille les ressources en supposant que les transactions auront un impact sur les autres. Cela se traduit par moins d’abandons et de nouvelles tentatives, mais signifie également que les transactions sont obligées d’attendre leur tour plus souvent par rapport à l’approche de transaction optimiste., Trouver un sweet spot entre ces deux idéaux est souvent l’endroit où le meilleur résultat global est trouvé.

Durabilité

Le dernier aspect de l’approche ACID de la gestion des bases de données est la durabilité. La durabilité garantit que les modifications apportées à la base de données (transactions) validées avec succès survivront de manière permanente, même en cas de défaillance du système. Cela garantit que les données de la base de données ne seront pas corrompues par des pannes de service, des pannes ou d’autres cas de défaillance., Ceci est réalisé grâce à l’utilisation de changelogs qui sont référencés lorsque les bases de données (ou des parties de la base de données) sont redémarrées.

Lorsque tous les aspects de l’approche ACID sont réunis avec succès, les bases de données sont maintenues avec la plus grande intégrité et sécurité des données pour s’assurer qu’elles peuvent continuer à apporter de la valeur à l’organisation. Une base de données avec des données corrompues peut présenter des problèmes coûteux en raison de l’importance énorme que les organisations accordent à leurs données pour les opérations quotidiennes ainsi que pour l’analyse stratégique.,

L’utilisation des propriétés ACID avec votre base de données garantira que votre base de données continue de fournir des données précieuses tout au long des opérations.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *