Explorer le traitement de données transactionnelles

Effectué

Un système de traitement de données transactionnelles est ce que la plupart des gens considèrent comme la principale fonction de l’informatique d’entreprise. Un système transactionnel enregistre les transactions qui encapsulent des événements spécifiques que l’organisation souhaite suivre. Une transaction peut être financière, telle que le déplacement de l’argent entre les comptes d’un système bancaire, ou il peut faire partie d’un système de vente au détail, le suivi des paiements pour les biens et services des clients. Pensez à une transaction comme une petite et discrète unité de travail.

Les systèmes transactionnels traitent souvent de gros volumes et peuvent parfois gérer plusieurs millions de transactions en une seule journée. Les données traitées doivent être accessibles rapidement. Le travail effectué par les systèmes transactionnels est souvent appelé traitement transactionnel en ligne (OLTP, Online Transactional Processing).

Diagramme montrant un utilisateur qui lit et écrit des données dans une base de données.

Les solutions OLTP s’appuient sur un système de base de données dans lequel le stockage de données est optimisé pour les opérations de lecture et d’écriture afin de prendre en charge les charges de travail transactionnelles dans lesquelles les enregistrements de données sont créés, récupérés, mis à jour et supprimés (souvent appelés opérations CRUD ). Ces opérations sont appliquées de manière transactionnelle, d’une façon qui garantit l’intégrité des données stockées dans la base de données.

Pour rendre les propriétés concrètes suivantes, imaginez un transfert bancaire de 40 $ du compte A (à partir du solde de 100 $) au compte B (à partir du solde de 50 $) : le système doit débiter le compte A et le compte de crédit B comme une opération unique et fiable.

Diagramme illustrant une transaction.

Pour ce faire, les systèmes OLTP appliquent des transactions qui prennent en charge la sémantique ACID :

  • Atomicité : chaque transaction est traitée comme une unité unique, qui réussit complètement ou échoue complètement. Par exemple, une transaction qui implique le débit de fonds d’un compte et le crédit du même montant sur un autre compte doit effectuer les deux actions. Si une des deux actions ne peut pas être effectuée, l’autre action doit échouer.

Diagramme expliquant le concept d’atomicité.

  • Cohérence : les transactions peuvent uniquement prendre les données de la base de données d’un état valide à un autre. Pour continuer avec l’exemple de débit et de crédit ci-dessus, l’état terminé de la transaction doit refléter le transfert de fonds d’un compte à l’autre.

Diagramme expliquant le concept de cohérence.

  • Isolation : les transactions simultanées ne peuvent pas interférer entre elles et doivent entraîner un état de base de données cohérent. Par exemple, alors que la transaction pour transférer des fonds d’un compte à un autre est en cours, une autre transaction qui contrôle le solde de ces comptes doit retourner des résultats cohérents : la transaction de vérification de solde ne peut pas récupérer une valeur pour un compte qui reflète le solde avant le transfert et une valeur pour l’autre compte qui reflète le solde après le transfert.

Diagramme expliquant le concept d’isolation.

  • Durabilité : lorsqu’une transaction a été validée, elle reste validée. Une fois la transaction de transfert de compte terminée, les soldes de compte révisés sont conservés afin que même si le système de base de données devait être désactivé, la transaction validée est répercutée lorsqu’elle est à nouveau activée.

Diagramme expliquant le concept de durabilité.

Les systèmes OLTP sont généralement utilisés pour prendre en charge les applications actives qui traitent des données métier, souvent appelées applications métier (LOB).