Définition - Que signifie Transaction?
Une transaction, dans le contexte d'une base de données, est une unité logique qui est exécutée indépendamment pour la récupération ou les mises à jour de données. Les experts parlent d'une transaction de base de données comme d'une «unité de travail» réalisée dans un environnement de conception de base de données.
Dans les bases de données relationnelles, les transactions de base de données doivent être atomiques, cohérentes, isolées et durables - résumées par l'acronyme ACID. Les ingénieurs doivent examiner la construction et l'utilisation d'un système de base de données pour déterminer s'il prend en charge le modèle ACID ou non. Puis, à mesure que de nouveaux types de systèmes de bases de données sont apparus, la question de savoir comment gérer les transactions devient plus complexe.
Definir Tech explique la transaction
Dans la conception de base de données relationnelle traditionnelle, les transactions sont complétées par des instructions SQL COMMIT ou ROLLBACK, qui indiquent le début ou la fin d'une transaction. L'acronyme ACID définit les propriétés d'une transaction de base de données, comme suit:
-
Atomicité: Une transaction doit être entièrement terminée, enregistrée (validée) ou complètement annulée (annulée). Une vente dans une base de données de magasin de détail illustre un scénario qui explique l'atomicité, par exemple, la vente consiste en une réduction des stocks et un enregistrement de l'argent entrant. Les deux se produisent ensemble ou ne se produisent pas - c'est tout ou rien.
-
Cohérence: La transaction doit être entièrement conforme à l'état de la base de données tel qu'il était avant la transaction. En d'autres termes, la transaction ne peut pas rompre les contraintes de la base de données. Par exemple, si la colonne Numéro de téléphone d'une table de base de données ne peut contenir que des chiffres, la cohérence veut que toute transaction tentant de saisir une lettre alphabétique ne soit pas validée.
-
Isolement: Les données de transaction ne doivent pas être disponibles pour d'autres transactions tant que la transaction d'origine n'est pas validée ou annulée.
-
Durabilité: Les modifications des données de transaction doivent être disponibles, même en cas de défaillance de la base de données.
Transactions et terminologie
Pour référence, l'un des moyens les plus simples de décrire une transaction de base de données est qu'il s'agit de tout changement dans une base de données, de toute «transaction» entre les composants de la base de données et les champs de données qu'ils contiennent.
Cependant, la terminologie devient confuse, car dans l’ensemble de l’entreprise, les gens sont tellement habitués à désigner les transactions financières comme de simples «transactions». Cela crée un conflit central entre le langage technique et la terminologie de la personne moyenne.
Une «transaction» de base de données est tout changement qui se produit. Pour parler de la gestion des transactions financières dans des environnements de bases de données, le mot «financières» doit être utilisé explicitement. Sinon, la confusion peut facilement surgir. Les systèmes de base de données auront besoin de fonctionnalités spécifiques, telles que les fonctionnalités de conformité PCI, afin de gérer spécifiquement les transactions financières.
À mesure que les bases de données ont évolué, les systèmes de gestion des transactions ont également évolué. Un nouveau type de base de données appelé NoSQL est celui qui ne dépend pas des relations de données de base de données relationnelles traditionnelles pour fonctionner.
Alors que de nombreux systèmes NoSQL offrent la conformité ACID, d'autres utilisent des processus tels que l'isolement d'instantanés ou peuvent sacrifier une certaine cohérence pour d'autres objectifs. Les experts parlent parfois d'un compromis entre cohérence et disponibilité, ou de scénarios similaires dans lesquels les environnements de base de données modernes peuvent systématiquement être traités différemment. Ce type de question change la manière dont les parties prenantes regardent les systèmes de bases de données, au-delà des paradigmes traditionnels des bases de données relationnelles.
Cette définition a été écrite dans le contexte des bases de données