# Système de traitement transactionnel

Le système de traitement transactionnel ou STT (domaine informatique) est un système capable d'exécuter un ensemble d'opérations unitaires dans un contexte transactionnel donné. Le STT doit pouvoir garantir à tout moment les propriétés inhérentes à une transaction informatique pour les données qu'il gère.

## Description

L'expression « traitement transactionnel » est la traduction en français de l'anglais transaction processing (TP). Au Canada, il s'agit d'une recommandation de l'OQLF. Il n'existe pas de recommandation officielle en France. On dit quelquefois familièrement « en TP » pour désigner un traitement qui s'effectue « en transactionnel », c'est-à-dire en temps réel, par opposition à des traitements par lots qui s'effectuent en réponse différée.
Le STT est un système de base qui soutient le niveau des opérations, qui exécutent et enregistrent les transactions quotidiennes et courantes nécessaires aux affaires de l'organisation.
Les STTs rassemblent, stockent, modifient, et recherchent des transactions d'une organisation. Une transaction est un événement qui se produit ou modifie des données qui seront par la suite stocké dans un système d'information.
D'une perspective technique, un système de traitement transactionnel surveille les programmes de transaction, un genre spécial de programmes. L'essence d'un programme de transaction est qu'elle contrôle les données qui doivent être laissées dans un état cohérent. Par exemple. Si un paiement électronique est effectué, la quantité doit être l'une ou l'autre toutes les deux retirées d'un compte et supplémentaires à l'autre, ou aucune. En cas d'échec empêchant l'accomplissement de transaction, la transaction partiellement exécutée doit être 'roulé en arrière' par le STT. Tandis que ce type d'intégrité doit être fourni également pour traitement transactionnel en lots, il est particulièrement important pour le traitement en direct : si par exemple. Un système de réservation de place d'avion est accédé par les opérateurs multiples, après une enquête vide de siège, les données de réservation de siège doit être verrouillé jusqu'à ce que la réservation soit faite, autrement un autre utilisateur peut obtenir l'impression qu'un siège est encore libre tandis qu'il réellement est réservé alors. Sans transaction appropriée surveillant, les doubles réservations peuvent se produire. D'autres fonctions de moniteur de transaction incluent impasse détection et résolution (les impasses peuvent être inévitables dans certains cas de la croix-dépendance à l'égard des données), et transaction notant (en « journaux ») pour « le rétablissement vers l'avant » en cas d'échecs massifs.

## Dispositifs des systèmes de traitement transactionnel
### Réponse rapide

Rapide exécution avec un temps de réponse rapide est critique. Les entreprises ne peuvent pas avoir les moyens d'avoir des clients attendre un STT pour répondre, les délais de l'entrée de la transaction à la production pour le rendement doivent être quelques secondes ou moins.

### Fiabilité

Beaucoup d'organismes se fondent fortement sur leur STT ; une panne perturbera des opérations ou même arrêtera les affaires. Pour qu'un STT soit efficace son taux d'échec doit être très bas. Si un STT échoue, puis vite et le rétablissement précis doit être possible. Ceci rend bien projeté la protection et les procédures de reprise essentielles.

### Inflexibilité

Un STT veut que chaque transaction soit traitée de la même manière indépendamment de l'utilisateur, du client ou du moment pour le jour. Si un STT était flexible, il y aurait trop d'occasions pour des opérations non-standard, par exemple, un film publicitaire, ligne aérienne les besoins d'accepter uniformément des réservations de ligne aérienne d'une gamme des agents de voyage, acceptant des données différentes de transactions de différents agents de voyage seraient un problème.

### Traitement commandé

Le traitement dans un STT doit soutenir les opérations d'une organisation. Par exemple si une organisation assigne des rôles et des responsabilités aux employés particuliers, alors le STT devrait imposer et maintenir cette condition.

## Les Propriétés d'essai ACIDE
### Atomicité

Les changements d'une transaction à l'état sont atomiques : ou tous se produisent ou aucun se produit. Ces changements incluent des changements, des messages, et des actions de base de données sur des capteurs.

### Uniformité

Une transaction est une transformation correcte de l'état. Les mesures prises en tant que groupe ne violent pas des contraintes l'unes des d'intégrité liées à l'état. Ceci exige que la transaction soit un programme correct.

### Isolement

Quoique les transactions s'exécutent concurremment, il apparaît à chaque transaction T, que d'autres se sont exécutés avant T ou après T, mais pas à toutes les deux.

### Longévité

Une fois qu'une transaction accomplit avec succès (commet), ses changements à l'état survivent des échecs.

### Stockage et recherche

Le stockage et la recherche de l'information d'un STT doivent être efficaces. Les données sont stockées dans les entrepôts ou d'autres bases de données, le système doit être bien projeté pour ses procédures de protection et de reprise.

## Bases de données et dossiers

Le stockage et la récupération des données doivent être précis pendant qu'elle est employée beaucoup de fois tout au long de la journée. À base de données est une collecte des données d'une manière ordonnée organisé, qui stocke la comptabilité et les disques opérationnels dans base de données. Les bases de données sont toujours protectrices de leurs données sensibles, ainsi elles ont habituellement une vue restreinte de certaines données. Les bases de données sont employer conçu hiérarchique, réseau ou structures apparentées ; chaque structure est efficace dans son propre sens.
Les différentes structures sont :
* Hiérarchique : organise des données dans une série de niveaux, par conséquent pourquoi il s'appelle hiérarchique. Son dessus au fond comme la structure se compose nœuds et branches ; chaque nœud d'enfant a des branches et est seulement lié à un nœud de plus haut niveau de parent.
* Réseau : Semblable à hiérarchique, structures de réseau organise également des données en utilisant des nœuds et des branches. Mais, à la différence de hiérarchique, chaque nœud d'enfant peut être lié aux nœuds multiples et plus élevés de parent.
* Apparentée : À la différence du réseau et hiérarchique, une base de données relationnelle organise ses données dans une série de tables relatives. Ceci donne la flexibilité pendant que des rapports entre les tables sont établis.
Les dispositifs suivants sont inclus dans les systèmes en temps réel de traitement transactionnel :
* Bon placement de données : La base de données devrait être conçue pour accéder à des modèles des données de beaucoup d'utilisateurs simultanés.
* Transactions courtes : Les transactions courtes permettent vite le traitement. Ceci évite la simultanéité et mesure les systèmes.
* Protection en temps réel : Protection devrait être programmé entre de bas moments d'activité d'empêcher le retard du serveur.
* Haut normalisation : Ceci abaisse l'information superflue pour augmenter la vitesse et améliorer la simultanéité, ceci améliore également des protections.
* Archivage des données historiques : Des données inhabituellement utilisées sont entrées dans d'autres bases de données ou tables soutenues. Ceci maintien des tables petites et améliore également des périodes de secours.
* Bonne configuration de matériel : Matériel doit pouvoir manipuler beaucoup d'utilisateurs et fournir des temps de réponse rapides.
Dans un STT, il y a 5 types différents de dossiers, le STT emploie les dossiers pour stocker et organiser ses données de transaction :
* Fichier principal : Contient des informations sur la conjoncture économique d'une organisation. La plupart des transactions et bases de données sont stockées dans le fichier principal.
* Fichier mouvements : C'est la collection de disques de transaction. Il aide à mettre à jour le fichier principal et également les servir des vérifications rétrospectives et histoire de transaction.
* Fichier d'édition : Contient les données qui ont été composées pour la présentation à un utilisateur.
* Dossier de travail : fichiers temporaires dans le système utilisé pendant le traitement.
* Dossier de programme : Contient les instructions pour le traitement des données.

## Entrepôt de données

Un entrepôt de données est une base de données, ce qui rassemble l'information de différentes sources. Quand il a recueilli dans des transactions en temps réel il peut être employé pour l'analyse efficacement s'il entreposé dans un entrepôt de données. Il fournit les données qui sont consolidées, sujet-orientées, historiques et inaltérables :
* Consolidé : Des données sont organisées avec à conventions, à mesures, à attributs et à sémantique de appellation conformés. Il permet à des données d'un entrepôt de données de l'autre côté de l'organisation d'être efficacement employées d'une façon cohérente.
* Sujet-orienté : De grandes quantités de données sont stockées à travers une organisation, quelques données pourraient être non pertinentes pour des rapports et des marques question les données difficiles. Il organise seulement l'information principale d'affaires des sources opérationnelles de sorte qu'il soit disponible pour l'analyse.
* Historique : STT en temps réel représente la valeur courante à tout moment, un exemple pourrait être les niveaux courants. Si après des données sont gardés, question la base de données a pu renvoyer une réponse différente. Il stocke la série d'instantanés pour les données opérationnelles d'une organisation produites sur une certaine période de temps.
* Inaltérable : Une fois que des données sont entrées dans un entrepôt de données, elles deviennent inaltérables, à moins qu'elles aient été incorrectes. Puisqu'il représente un instantané d'un certain temps, il doit ne jamais être mis à jour. Seulement les opérations qui se produisent dans des données entreposent sont chargement et question données.

## Procédures de secours

Puisque les organismes d'affaires sont devenus très dépendants de STTs, une panne dans leur STT peut arrêter les routines régulières des affaires et arrêter de ce fait son opération pour une certaine quantité de temps. Afin d'empêcher la perte de données et réduire au minimum des ruptures quand un STT décompose un bien projeté protection et la procédure de reprise est mise dans l'utilisation. Le processus de rétablissement peut reconstruire le système quand il descend.

### Processus de rétablissement

Un STT peut échouer pour beaucoup de raisons. Ces raisons ont pu inclure un échec de système, erreurs humaines, matériel données d'échec, incorrectes ou inadmissibles, virus d'ordinateur, logiciel erreurs d'application ou désastres normaux. Ainsi il est logique de supposer qu'il n'est pas possible de garder un STT de ne jamais échouer, cependant parce qu'il peut échouer l'heure de chronométrer, il doit pouvoir faire face aux échecs. Le STT doit pouvoir détecter et corriger des erreurs quand elles se produisent. Un STT passera par un rétablissement de base de données pour faire face quand le système échoue, il implique protection, journal, point de contrôle et directeur de rétablissement :
* Journal : Un journal maintient une vérification rétrospective des transactions et des changements de base de données. Des notations de transaction et des notations du changement de base de données sont employés, des disques d'une notation de transaction toutes données essentielles pour le chaque des transactions, y compris des valeurs de données, la période de la transaction et le nombre de borne. Une notation de changement de base de données contient avant qu'et après que des copies des disques qui ont été modifiés par des transactions.
* Point de contrôle : Un point de reprise contient l'information nécessaire pour remettre en marche le système. Ceux-ci devraient être pris fréquemment, comme plusieurs fois par heure. Il est possible de reprendre traiter du point de contrôle le plus récent quand un échec se produit avec seulement quelque compte rendu de traiter le travail qui doit être répété.
* Directeur de rétablissement : Un directeur de rétablissement est un programme qui reconstitue la base de données à un état correct qui peut remettre en marche le traitement transactionnel.
Selon la façon dont le système a échoué, il peut y avoir les deux procédures de reprise différentes utilisées. Généralement, les procédures implique la reconstitution des données qui ont été rassemblées d'un dispositif de secours et puis de courir le traitement transactionnel encore. Deux types de rétablissement son retour à l'état antérieur et rétablissement vers l'avant:
* Retour à l'état antérieur : utilisé à défaites changements non désirés à la base de données. Il renverse les changements faits par les transactions qui ont avorté. Il implique la logique de retraiter chaque transaction - qui prend très du temps.
* Rétablissement vers l'avant : il commence par a protection copie de la base de données. La transaction retraitera alors selon le journal de transaction qui s'est produit entre le moment où la protection a été faite et l'époque actuelle. Il est beaucoup plus rapide et plus précis.