Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Qu'est-ce que l'ACID ? | Acid
Optimisation SQL et Fonctionnalités de Requête

Qu'est-ce que l'ACID ?

Glissez pour afficher le menu

Nous commencerons notre exploration des sujets avancés en SQL par le concept des principes ACID.

Note
Pour aller plus loin

ACID est un acronyme pour Atomicity, Consistency, Isolation et Durability. Ces quatre propriétés sont des principes fondamentaux de la gestion des bases de données et sont conçues pour garantir la fiabilité des transactions en base de données.

Vous avez peut-être remarqué que nous utilisons le mot transaction dans la définition d’ACID. Vous pourriez penser à une transaction bancaire en entendant ce terme, mais dans le contexte des bases de données, une transaction est définie un peu différemment.

Note
Approfondir

Une transaction désigne une séquence d'une ou plusieurs opérations sur une base de données qui sont traitées comme une seule unité logique de travail.

Imaginez que vous utilisez un site web de shopping en ligne.
Vous ajoutez des articles à votre panier, passez à la caisse et effectuez un paiement. Ce processus entier peut être considéré comme une transaction de base de données. Voici comment cela fonctionne :

  1. Début de la transaction : vous commencez le processus de paiement ;
  2. Opérations :
    • Le système vérifie que les articles dans votre panier sont toujours en stock ;
    • Vos informations de paiement sont traitées ;
    • Le stock est mis à jour pour refléter les articles achetés ;
    • Un enregistrement de commande est créé dans la base de données.
  3. Validation de la transaction : une fois toutes ces étapes terminées avec succès, la transaction est validée, ce qui signifie que toutes les modifications sont enregistrées dans la base de données ;
  4. Annulation (si nécessaire) : si une étape échoue (par exemple, le paiement n'aboutit pas), la transaction est annulée, ce qui signifie qu'aucune modification n'est enregistrée. Cela garantit que la base de données reste dans un état cohérent, comme si la transaction n'avait jamais eu lieu.

Cet exemple montre comment une transaction regroupe plusieurs opérations en un seul processus fiable.

Pourquoi avons-nous besoin d'ACID ?

Les propriétés ACID sont essentielles dans les bases de données pour trois raisons principales :

  • Premièrement, elles garantissent la fiabilité des transactions en traitant celles-ci comme des unités uniques et indivisibles, empêchant les mises à jour partielles et maintenant la cohérence ;
  • Deuxièmement, elles permettent le contrôle de la concurrence en assurant que les transactions sont exécutées indépendamment, évitant les interférences et préservant la cohérence des données dans des environnements multi-utilisateurs ;
  • Enfin, elles assurent la durabilité des données en enregistrant de façon permanente les transactions validées, résistant aux défaillances système et garantissant la récupération des données.
Note
Remarque

Considérons une situation impliquant un compte bancaire :

  1. Transaction 1 (T1) : Vous transférez 100 $ de votre compte d'épargne vers votre compte courant.
  2. En même temps, Transaction 2 (T2) : Vous consultez le solde de votre compte d'épargne en ligne.
  3. Mais ensuite, T1 rencontre une erreur—peut-être à cause d'un problème réseau—et le transfert échoue.
  4. Pendant ce temps, T2 s'achève et affiche le solde de votre compte d'épargne, incluant le transfert de 100 $ qui n'a en réalité pas encore eu lieu.

Cela viole la propriété d'Isolation d'ACID. Même si le transfert n'a pas été finalisé (en raison de l'échec de T1), vous avez déjà vu son effet dans le solde de votre compte. Cette incohérence peut induire les utilisateurs en erreur et conduire à de mauvaises décisions financières.

question mark

Que signifie ACID dans le contexte des transactions de base de données ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 2

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Section 1. Chapitre 2
some-alt