Qu’est-ce que la conformité ACID ?
La présence de quatre composants – atomicité, cohérence, isolation et durabilité – peut garantir qu’une transaction de base de données est achevée en temps voulu. Lorsque les bases de données possèdent ces composants, on dit qu’elles sont conformes à la norme ACID. Mais qu’est-ce que la conformité ACID au juste, et pourquoi devriez-vous vous y intéresser ? Jetons un coup d’œil:
Atomicité : Les transactions de base de données, comme les atomes, peuvent être décomposées en parties plus petites. Lorsqu’il s’agit de votre base de données, l’atomicité fait référence à l’intégrité de l’ensemble de la transaction de base de données, et pas seulement d’un composant de celle-ci. En d’autres termes, si une partie d’une transaction ne fonctionne pas comme elle le devrait, l’autre échouera, et vice versa. Par exemple, si vous faites des achats sur un site de commerce électronique, vous devez avoir un article dans votre panier pour pouvoir le payer. Ce que vous ne pouvez pas faire, c’est payer un article qui n’est pas dans votre panier. (Vous pouvez ajouter quelque chose dans votre panier et ne pas le payer, mais cette transaction de base de données ne sera pas complète, et donc pas « atomique », tant que vous ne l’aurez pas payé).
Consistance : Pour qu’une base de données fonctionne comme elle est censée le faire, elle doit suivre les règles de validation des données appropriées. Ainsi, la cohérence signifie que seules les données qui suivent ces règles sont autorisées à être écrites dans la base de données. Si une transaction se produit et donne lieu à des données qui ne respectent pas les règles de la base de données, celle-ci sera ramenée à une itération antérieure d’elle-même (ou « état ») qui respecte les règles. D’autre part, à la suite d’une transaction réussie, de nouvelles données seront ajoutées à la base de données et l’état résultant sera conforme aux règles existantes.
Isolation : On peut dire sans risque de se tromper qu’à tout moment sur Amazon, il y a bien plus d’une transaction en cours sur la plateforme. En fait, une quantité incroyablement énorme de transactions de base de données se produisent simultanément. Pour une base de données, l’isolation fait référence à la capacité de traiter simultanément plusieurs transactions de manière à ce que l’une n’affecte pas l’autre. Imaginez donc que vous et votre voisin essayez tous deux d’acheter quelque chose sur la même plateforme de commerce électronique au même moment. Il y a 10 articles à vendre : votre voisin en veut cinq et vous en voulez six. L’isolement signifie que l’une de ces transactions serait réalisée avant l’autre. En d’autres termes, si votre voisin clique en premier, il obtiendra cinq articles, et il ne restera que cinq articles en stock. Vous ne pourrez donc acheter que cinq articles. Si vous cliquez en premier, vous obtiendrez les six articles que vous voulez, et lui n’en aura que quatre. Ainsi, l’isolement garantit que onze articles ne sont pas vendus alors qu’il n’en existe que dix.
Durabilité : Toute technologie tombe en panne de temps en temps… l’objectif est de rendre ces pannes invisibles pour l’utilisateur final. Dans les bases de données qui possèdent la durabilité, les données sont sauvegardées une fois la transaction terminée, même en cas de panne de courant ou de défaillance du système. Imaginez que vous achetiez des billets de concert très demandés sur un site similaire à Ticketmaster.com. Au moment où les billets sont mis en vente, vous êtes prêt à effectuer votre achat. Après être resté un certain temps dans la salle d’attente numérique, vous pouvez enfin ajouter ces billets à votre panier. Vous effectuez alors l’achat et obtenez votre confirmation. Cependant, si cette base de données manque de durabilité, même après que votre achat de billets a été confirmé, si la base de données subit un incident de défaillance, votre transaction sera toujours perdue ! Comme vous pouvez vous en douter, c’est une très mauvaise chose à arriver pour un site de commerce électronique en ligne, la durabilité des transactions est donc indispensable.
ClustrixDB, une base de données NewSQL en nuage, qui fait maintenant partie de MariaDB vient avec l’avantage supplémentaire de la conformité ACID, critique pour le succès !
.