transactions acid

Homme souriant avec un ordinateur portable, peut-être en train de s'informer sur les transactions acid

Les systèmes de gestion de bases de données robustes doivent protéger les données qu'ils stockent et traitent contre la corruption. La norme ACID ( atomicité cohérence isolement durabilité ) fournit un ensemble de règles pour préserver l'intégrité des bases de données et des transactions.

Qu'est-ce que l'ACID ?

L'acronyme ACID a été inventé dans les années 1960 et a été mis en œuvre par les systèmes de bases de données relationnelles depuis lors. Les quatre propriétés peuvent être développées comme suit.

atomicité

atomicité applique la règle selon laquelle toutes les modifications d'une transaction sont validées ensemble. Si l'une des modifications de la transaction échoue, c'est toute la transaction qui échoue et toutes les modifications en attente sont annulées. Par exemple, dans le cas d'une transaction bancaire, la première étape consiste à déduire un montant d'un compte d'épargne, suivie d'une deuxième étape consistant à créditer le solde d'un compte courant du même montant. Si l'une des étapes échoue pour une raison quelconque, l'ensemble de la transaction est annulée. De cette manière, les deux comptes conservent leur solde initial. Chaque système de base de données relationnelle effectue par défaut un retour en arrière implicite de toutes les transactions non engagées à chaque démarrage de l'instance de la base de données. Le système de gestion de base de données relationnelles SGBDR) doit procéder ainsi parce qu'il enregistre de manière optimiste les modifications non validées dans les fichiers journaux, qui ne sont considérées comme confirmées que lorsque l'enregistrement validation correspondant est écrit dans le journal.

cohérence

Un système de base de données se protège en validant les données insérées ou mises à jour. Lorsqu'une table est créée ou modifiée, chaque champ ou attribut d'un enregistrement a un type de données fixe. Toute tentative d'insertion de données parasites d'un type de données incorrect est rejetée. Par exemple, un caractère alphabétique n'est pas autorisé dans un champ de type entier.

Les contraintes d'intégrité référentielle constituent un deuxième niveau de contrôle pour les champs de données. Ces règles sont utilisées pour limiter les valeurs d'un champ, par exemple celles qui existent dans une table connexe. Il s'agit alors d'une contrainte de clé étrangère. Par exemple, une table de ventes peut faire référence à des produits qui doivent exister dans la table des produits pour que l'enregistrement ventes soit valide. Ces contraintes d'intégrité référentielle protègent la structure de la base de données même si une application est mal codée.

isolement

L'isolement transactions garantit que chaque transaction est séparée des autres. Si deux transactions veulent modifier le même enregistrement, les mécanismes de verrouillage d'un SGBDR sérialiseront l'accès pour que les transactions fassent la queue pour l'accès à la mise à jour d'un enregistrement. De nombreuses bases de données escaladent les verrous de niveau ligne au niveau de la page ou de la table en cas de forte concurrence pour les verrous de transaction.

Les normes du langage de requête structuré (SQL) pour les niveaux d'isolement sont définies comme READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ et SERIALIZABLE. Les lectures non engagées aident les bases de données dont les modèles de verrouillage sont médiocres, mais elles sont considérées comme des lectures sales dans l'industrie, et donc mal vues. Les lectures répétées, en revanche, sont considérées comme très utiles car elles maintiennent l'intégrité de l'ensemble des résultats, de sorte qu'un ensemble d'enregistrements récupérés par une requête 'additionnera toujours de manière cohérente.

durabilité

Les modifications de données se produisent d'abord dans la mémoire, où le processeur peut les voir. Pour des raisons de durabilité, elles sont ensuite écrites sur un support de sauvegarde, qui est considéré comme un support non volatil. Les fichiers journaux de la base de données enregistrement toutes les modifications afin de protéger le SGBDR contre les défaillances du serveur. La durabilité garantit que les modifications des transactions engagées ne sont pas perdues au démarrage de l'instance de la base de données.

Pourquoi l'ACID est-il important pour les transactions ?

ACID définit un ensemble de règles qui protègent l'intégrité des données et des transactions afin de préserver les données de toute corruption logique. Les fichiers de données ne contiennent que des données validées ; dans le cas contraire, la base de données devient rapidement incohérente, irrécupérable et inutilisable.

Support bases de données relationnelles Actian Support transactions acid

La plateforme de données Actian s'intègre à plusieurs bases de données relationnelles, notamment Actian Analytics Engine pour workloads analytiques à haute vitesse workloads analytiques stockage en colonnes , et Actian Ingres utilisant un stockage en lignes conçu pour les charges de travail transactionnelles.DataConnect offre une plateforme d'intégration intelligente et low-code permettant de répondre à des cas d'utilisation complexes grâce à des intégrations automatisées, intuitives et réutilisables.

La plateforme de données Actian fonctionne sur site et sur plusieurs plateformes cloud, notamment AWS, Azure et Google Cloud, de sorte que vous pouvez exécuter vos analyses là où résident vos données.

FAQ

ACID est l'acronyme de « atomicité, cohérence, isolement et durabilité», un ensemble de quatre propriétés qui garantissent l'intégrité des bases de données et des transactions dans les systèmes de gestion de bases de données relationnelles.

atomicité que toutes les modifications d'une transaction sont validées simultanément ; si l'une d'entre elles échoue, l'ensemble de la transaction est annulé afin de préserver l'intégrité des données.

cohérence les données grâce à l'application des types de données et aux contraintes d'intégrité référentielle, rejetant les données non valides et garantissant que la structure de la base de données reste protégée même en cas d'applications mal codées.

isolement chaque transaction isolement distincte des autres grâce à des mécanismes de verrouillage qui sérialisent l'accès lorsque plusieurs transactions tentent de modifier le même enregistrement.

durabilité que les modifications apportées aux transactions validées sont enregistrées de manière permanente dans une mémoire non volatile via les fichiers journaux de la base de données, protégeant ainsi les données contre toute perte en cas de panne du serveur ou de redémarrage de la base de données.

isolement standard SQL sont READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ et SERIALIZABLE, les lectures répétables étant particulièrement appréciées pour garantir l'intégrité des jeux de résultats.

ACID définit des règles qui protègent l'intégrité des données et des transactions, garantissant ainsi que les fichiers de données ne contiennent que des données validées et empêchant la base de données de devenir incohérente, irrécupérable ou inutilisable.

Oui, les bases de données relationnelles d'Actian, notamment Actian Vector et Actian Ingres, support pleinement support transactions acid , tanttransactions acid les charges de travail analytiques que transactionnelles.