Atomicité cohérence isolation durabilité (acide)

Définition - Que signifie la durabilité d'isolement de la cohérence de l'atomicité (ACID)?

La durabilité de l'isolation de la cohérence de l'atomicité (ACID) est un concept des systèmes de gestion de base de données (SGBD) qui identifie un ensemble de propriétés standard utilisées pour garantir la fiabilité d'une base de données donnée.

ACID fait référence aux quatre propriétés de transaction d'un système de base de données: atomicité, cohérence, isolation et durabilité. Une transaction est une séquence d'opérations qui satisfait ces propriétés.

Les propriétés ACID garantissent que toutes les transactions de base de données restent exactes et cohérentes, et prennent en charge la reprise après des échecs pouvant survenir lors des opérations de traitement. Il est implémenté par presque toutes les bases de données relationnelles.

Definir Tech explique la durabilité de l'isolation de la cohérence de l'atomicité (ACID)

Une base de données garantit les quatre propriétés suivantes pour garantir la fiabilité de la base de données, comme suit:

Atomicité

L'atomicité est une propriété qui garantit qu'une base de données respecte la règle du tout ou rien. En d'autres termes, la base de données considère toutes les opérations de transaction comme une unité ou un atome entier.

Ainsi, lorsqu'une base de données traite une transaction, celle-ci est soit complètement terminée, soit pas exécutée du tout. Si une seule partie de la transaction échoue, la transaction entière échouera.

Par exemple, l'utilisateur A souhaite retirer 50 $ de son compte, puis le transférer sur le compte de l'utilisateur B. Chaque transaction (retirer 50 $ du compte A et transférer 50 $ sur le compte B) est comptée séparément. Si la première transaction (retrait de 50 $) échoue parce que (disons) le serveur plante pendant la transaction, l'utilisateur A ne peut pas transférer l'argent à l'utilisateur B.

L'atomicité est particulièrement importante pour atténuer les dommages en cas de panne du serveur de base de données. Si une base de données non volatile tombe en panne au milieu d'une transaction, toutes les modifications effectuées seront supprimées ou annulées pour éviter d'envoyer des résultats partiels à la base de données de production.

Cohérence

La cohérence est une propriété garantissant que seules les données valides respectant toutes les règles et contraintes sont écrites dans la base de données. Lorsqu'une transaction entraîne des données non valides, la base de données revient à son état précédent, qui respecte toutes les règles et contraintes habituelles.

La cohérence est essentielle pour maintenir l'intégrité des données. Toutes les données incohérentes sont supprimées et toutes les transactions susceptibles de provoquer une incohérence sont abandonnées et une erreur est créée ou transcrite dans un journal des erreurs.

Par exemple, si l'utilisateur A souhaite retirer 1,000 500 $ de son compte, mais n'a qu'un solde de XNUMX $, la cohérence l'empêchera de retirer de l'argent et la transaction sera annulée.

Isolement

L'isolement est une propriété qui garantit l'individualité de chaque transaction et les empêche d'être affectées par d'autres transactions. Il garantit que les transactions sont traitées de manière sécurisée et indépendante en même temps sans interférence, mais il ne garantit pas l'ordre des transactions.

Par exemple, l'utilisateur A retire 100 $ et l'utilisateur B retire 250 $ du compte de l'utilisateur Z, qui a un solde de 1,000 XNUMX $. Puisque A et B tirent tous les deux du compte de Z, l'un des utilisateurs doit attendre que l'autre transaction utilisateur soit terminée, évitant ainsi les données incohérentes.

Si B doit attendre, B doit attendre que la transaction de A soit terminée et le solde du compte de Z passe à 900 $. Maintenant, B peut retirer 250 $ de ce solde de 900 $.

Durabilité

La durabilité est une propriété qui applique les transactions terminées, garantissant qu'une fois chacune d'elles validée, elle restera dans le système même en cas d'échecs ultérieurs.

Si une transaction réussit, toutes les modifications générées par celle-ci sont stockées en permanence.

Dans l'exemple ci-dessus, l'utilisateur B peut retirer 100 $ seulement après que la transaction de l'utilisateur A est terminée et mise à jour dans la base de données. Si le système échoue avant que la transaction de A ne soit enregistrée dans la base de données, A ne peut pas retirer d'argent et le compte de Z revient à son état cohérent précédent.

Cette définition a été écrite dans le contexte du système de gestion de base de données