Qu’est-ce que la gestion des transactions ?

5 avril 2024

Auteurs

Josh Schneider

Senior Writer

IBM Blog

Ian Smalley

Senior Editorial Strategist

Qu’est-ce que la gestion des transactions ?

La gestion des transactions fait partie intégrante des systèmes de gestion de bases de données (SGBD) pendant lesquels le logiciel de gestion des transactions supervise, coordonne et exécute toute tentative de transaction donnée.

Le logiciel de gestion des transactions pour l'automatisation des workflows est un élément critique de tout secteur d'activité impliquant le traitement des transactions, y compris le commerce électronique, la finance, l'hôtellerie et toute entreprise nécessitant une gestion précise des bases de données.

Il est essentiel que le logiciel de gestion des transactions s'appuie sur le concept d'atomicité pour définir une transaction singulière comme une série d'opérations qui doivent toutes être achevées, faute de quoi aucune n'est considérée comme terminée. En d'autres termes, pour maintenir la cohérence des données, un système de gestion des transactions garantit qu'une transaction ne peut jamais être partiellement terminée.

Par exemple, lorsqu'une personne tente de retirer de l'argent à un distributeur automatique de billets, le logiciel de gestion des transactions traite les requêtes et les modifications nécessaires dans la base de données afin de vérifier le solde du compte, de déduire le montant demandé, de mettre à jour les données de la banque et de distribuer les billets. Toutes ces étapes sont considérées comme une nouvelle transaction, et le système de gestion des transactions veille à ce que l'ensemble du processus soit mené à bien afin d'éviter toute incohérence dans la base de données de la banque et de préserver l'exactitude du grand livre.

Au cours d'une transaction, l'état de la base de données correspondante fluctue et est considéré comme incohérent. Durant cette période, une transaction peut effectuer un certain nombre d'opérations de lecture et/ou d'écriture, soit en lisant la base de données pour fournir des informations (comme la vérification du solde d'un compte bancaire), soit en écrivant de nouvelles informations dans la base de données (comme la mise à jour d'un solde de compte après un retrait). Ce n'est qu'une fois la transaction terminée que la base de données peut revenir à un nouvel état cohérent.

Design 3D de balles roulant sur une piste

Les dernières actualités et informations en matière d’IA 


La newsletter hebdomadaire Think vous apporte toute l’actualité sur l’IA, le cloud et bien d’autres sujets. 

États des transactions

Le principe d'atomicité permet au logiciel de gestion des transactions de traiter des séries distinctes d'opérations comme des transactions singulières tout en protégeant l'intégrité de la base de données.

L'atomicité permet d'éviter les erreurs qui pourraient résulter de transactions incomplètes ou interrompues. Pour en revenir à l'exemple du distributeur automatique de billets, l'atomicité empêche une transaction de débiter de l'argent du compte bancaire d'un utilisateur avant de distribuer les billets. Si un incident tel qu'une panne du système empêche le distributeur automatique de billets de distribuer l'argent, la transaction entière est interrompue et aucune modification n'est apportée à la base de données ou au compte de l'utilisateur.

Pendant que la transaction est en cours et que la base de données est mise à jour, la transaction peut être décomposée en plusieurs états séquentiels.

Active

Une fois qu'une transaction commence, elle entre dans un état actif pendant lequel des opérations de lecture et d'écriture de base de données peuvent se produire.

Partiellement engagée

Une fois que toutes les étapes nécessaires d'une transaction sont terminées, la transaction est considérée comme partiellement engagée jusqu'à ce que la base de données principale soit mise à jour.

Engagée

Lorsqu'une transaction a été menée à bien, elle est engagée dans la base de données, et son état est engagé, c'est-à-dire validé.

Échec

Lorsqu'une transaction ne parvient pas à exécuter une ou plusieurs de ses opérations ou est abandonnée, elle est considérée comme étant dans un état d'échec. L'échec d'une transaction déclenche une annulation de toutes les modifications associées dans la base de données.

Terminée

État final de toutes les transactions. Une transaction dont l'état est terminé est retirée du système et ne peut plus effectuer aucune opération de base de données.

Toutes les transactions commencent à l'état actif et, en l'absence de problèmes, passent par les états partiellement engagée, engagée puis terminée. Si un problème survient pendant le traitement de la transaction, celle-ci passe à l'état d'échec et toutes les modifications associées sont annulées. La transaction peut alors être rééxécutée ou annulée. Qu'elle soit abandonnée ou engagée, toute transaction finit par entrer dans l'état terminé, libérant ainsi des ressources pour que le SGBD puisse traiter de nouvelles transactions.

Comprendre les propriétés ACID

Dans le domaine de la gestion de bases de données, l'atomicité n'est que l'une des quatre propriétés cruciales nécessaires au maintien de l'intégrité de la base de données. Désignées par l'acronyme ACID, ces quatre propriétés sont l'atomicité, la cohérence, l'isolation et la durabilité :

  • Atomicité : chaque transaction est traitée comme s'il s'agissait d'une seule opération qui peut s'exécuter entièrement ou ne pas s'exécuter du tout, sans jamais passer par des états intermédiaires qui seraient ensuite validés dans la base de données principale.
  • Cohérence : une base de données doit rester dans un état cohérent afin que chaque utilisateur qui y accède ait accès aux informations les plus récentes et les plus précises.
  • Isolation : les transactions doivent être traitées indépendamment les unes des autres. Lorsque les informations d’une transaction sont pertinentes pour une autre transaction effectuée en parallèle, des niveaux d’isolation des transactions peuvent être mis en œuvre pour faciliter leur exécution. Les niveaux d'isolation courants incluent la lecture non validée, la lecture validée, la lecture reproductible et la sérialisable.
  • Durabilité : les transactions doivent être durables dans le sens où toutes les transactions terminées sont conservées par le SGBD et ne seront pas perdues en cas de défaillance du système.

Technologies de gestion des transactions

En tant que facette des SGBD, les systèmes de gestion des transactions s'appuient sur un certain nombre de technologies et de logiciels de base de données offrant divers degrés d'optimisation, tels que des automatismes, des modèles et des listes de contrôle. Des fournisseurs comme IBM, Microsoft et Oracle proposent une gamme de solutions de gestion des transactions à des prix compétitifs. Les technologies de gestion des transactions les plus répandues sont les suivantes :

Langage de requête structuré (SQL)

SQL est le langage de programmation standard pour le stockage et le traitement des informations dans une base de données relationnelle. Les commandes SQL typiques incluent BEGIN TRANSACTION (commencer la transaction), COMMIT (valider) et ROLLBACK (annuler).

Java Transaction API (JTA)

JTA est l'interface de programmation d'application (API) standard pour les applications d'entreprise. Elle permet aux applications de gestion des transactions de communiquer avec d'autres types d'applications, y compris les bases de données et les systèmes de messagerie, tout en garantissant l'atomicité et la cohérence.

Avantages et cas d’utilisation de la gestion des transactions

De nombreux secteurs d'activité dépendent de la gestion des transactions pour gérer efficacement les bases de données relationnelles et les importantes ressources opérationnelles qu'elles représentent, qu'elles soient physiques (stock) ou éphémères (informations).

Voici une brève liste des cas d'utilisation courants de la gestion des transactions :

Finances

Les services financiers, y compris les sociétés de courtage et les institutions bancaires, dépendent de la gestion des transactions non seulement pour leurs opérations quotidiennes, mais aussi pour leurs activités commerciales se déroulant à la microseconde près. Sans la gestion des transactions, des produits classiques comme les comptes courants modernes et les plateformes de négociation d'actions ne pourraient pas fonctionner.

Commerce électronique

Pour les plateformes de vente en ligne, la gestion des transactions facilite le traitement des commandes, les paiements et la gestion des stocks afin d'honorer efficacement les commandes de commerce électronique.

Immobilier

Dans le monde complexe de l’immobilier, les coordinateurs de transactions immobilières s’appuient sur des logiciels de gestion des transactions pour rationaliser l’achat, la vente et la location de biens.

Gestion de la relation client (CRM)

Les systèmes CRM tels que Salesforce sont essentiels pour les grandes organisations afin de suivre et de gérer les prospects, les interactions avec les clients, les commandes et un large éventail d'autres points de contact rendus accessibles par les SGBD et la gestion des transactions.

Les défis de la gestion des transactions

La gestion des transactions est indispensable à de nombreuses opérations commerciales modernes. Cependant, une gestion fiable des transactions doit être capable de relever certains défis critiques :

  • Gestion des dépendances : les systèmes de gestion des transactions doivent être équipés pour gérer les dépendances entre les transactions afin d'éviter les situations de blocage dans lesquelles une ou plusieurs transactions individuelles restent bloquées en attendant la libération d'informations provenant d'une autre transaction.
  • Reprise sur panne : en cas de panne, les systèmes de gestion des transactions doivent être suffisamment durables pour restaurer la base de données à un état cohérent.
  • Traitement en temps réel : dans le cas des transactions dépendantes du temps réel, telles que les transactions boursières et les moteurs de tarification, les systèmes de traitement des transactions doivent être capables de gérer efficacement des volumes importants de transactions avec une faible latence.
Solutions connexes
Logiciel transactionnel pour IBM Z

Les logiciels transactionnels jouent un rôle essentiel pour les serveurs mainframe en gérant efficacement plusieurs transactions simultanément.

Découvrir CICS sur IBM z/OS
Solutions de modernisation des applications mainframe

Tirez parti de l’IA générative pour accélérer et simplifier la modernisation des applications de mainframe.

Découvrir la modernisation du mainframe
Solutions pour les opérations métier

Construisez une entreprise plus résiliente grâce à des solutions alimentées par l’IA pour la gestion intelligente des actifs et de la chaîne d’approvisionnement.

Découvrir les solutions pour les opérations métier
Passez à l’étape suivante

Les logiciels transactionnels jouent un rôle essentiel pour les serveurs mainframe en gérant efficacement plusieurs transactions simultanément.

Découvrir CICS sur IBM z/OS Obtenir plus d'informations