Traitement des transactions en ligne
Dans le traitement des transactions en ligne ( OLTP ), les systèmes d'information facilitent et gèrent généralement les applications orientées transaction.
Le terme « transaction » peut avoir deux sens différents, qui peuvent tous deux s'appliquer : dans le domaine des ordinateurs ou des transactions de base de données, il désigne un changement d'état atomique, tandis que dans le domaine des affaires ou de la finance, le terme désigne généralement un échange de entités (telles qu'utilisées, par exemple, par le Transaction Processing Performance Council ou les transactions commerciales . [1] ) : 50 OLTP peut utiliser des transactions du premier type pour enregistrer les transactions du second.
OLTP a également été utilisé pour désigner le traitement dans lequel le système répond immédiatement aux demandes des utilisateurs. Un guichet automatique bancaire (ATM) pour une banque est un exemple d'application de traitement de transactions commerciales. Les applications de traitement des transactions en ligne ont un débit élevé et nécessitent de nombreuses insertions ou mises à jour dans la gestion de bases de données. Ces applications sont utilisées simultanément par des centaines d'utilisateurs. Les principaux objectifs des applications OLTP sont la disponibilité, la vitesse, la simultanéité et la capacité de récupération. [2] La réduction des traces papier et les prévisions plus rapides et plus précises des revenus et des dépenses sont deux exemples de la façon dont OLTP simplifie les choses pour les entreprises. Cependant, comme de nombreuses solutions informatiques modernes en ligne, certains systèmes nécessitent une maintenance hors ligne, ce qui affecte davantage l'analyse coûts-avantages d'un système de traitement des transactions en ligne.
OLTP est généralement opposé à OLAP (traitement analytique en ligne), qui se caractérise généralement par des requêtes beaucoup plus complexes, dans un volume plus petit, à des fins de veille économique ou de reporting plutôt que pour traiter des transactions. Alors que les systèmes OLTP traitent toutes sortes de requêtes (lecture, insertion, mise à jour et suppression), OLAP est généralement optimisé pour la lecture seule et peut même ne pas prendre en charge d'autres types de requêtes. OLTP fonctionne également différemment du traitement par lots et de l' informatique en grille . [1] : 15
De plus, OLTP est souvent opposé à OLEP (traitement des événements en ligne), qui est basé sur des journaux d'événements distribués pour offrir une forte cohérence dans les systèmes hétérogènes à grande échelle. [3] Alors que OLTP est associé à des transactions atomiques courtes, OLEP permet des modèles de distribution plus flexibles et une évolutivité plus élevée, mais avec une latence accrue et sans limite supérieure garantie au temps de traitement.
Aperçu
Un système OLTP est un système de traitement de données accessible dans les entreprises d'aujourd'hui. Quelques exemples de systèmes OLTP incluent la saisie des commandes, les ventes au détail et les systèmes de transactions financières. [4] Les systèmes de traitement des transactions en ligne nécessitent de plus en plus la prise en charge des transactions qui s'étendent sur un réseau et peuvent inclure plus d'une entreprise. Pour cette raison, les logiciels modernes de traitement des transactions en ligne utilisent un logiciel de traitement et de courtage client ou serveur qui permet aux transactions de s'exécuter sur différentes plates-formes informatiques d'un réseau.
Dans les grandes applications, un OLTP efficace peut dépendre d'un logiciel de gestion des transactions sophistiqué (tel que CICS ) et/ou de tactiques d'optimisation de base de données pour faciliter le traitement d'un grand nombre de mises à jour simultanées vers une base de données orientée OLTP.
Pour les systèmes de base de données décentralisés encore plus exigeants, les programmes de courtage OLTP peuvent répartir le traitement des transactions entre plusieurs ordinateurs d'un réseau . OLTP est souvent intégré dans une architecture orientée services (SOA) et des services Web .
Le traitement des transactions en ligne (OLTP) implique la collecte d'informations d'entrée, le traitement des données et la mise à jour des données existantes pour refléter les informations collectées et traitées. À ce jour, la plupart des organisations utilisent un système de gestion de base de données pour prendre en charge OLTP. OLTP est transporté dans un système client-serveur.
Le processus de transaction en ligne concerne la concurrence et l'atomicité. Les contrôles de concurrence garantissent que deux utilisateurs accédant aux mêmes données dans le système de base de données ne pourront pas modifier ces données ou que l'utilisateur devra attendre que l'autre utilisateur ait terminé le traitement avant de modifier cette donnée. Les contrôles d'atomicité garantissent que toutes les étapes d'une transaction sont terminées avec succès en tant que groupe. C'est-à-dire que si des étapes entre la transaction échouent, toutes les autres étapes doivent également échouer. [5]
Conception de systèmes
Pour construire un système OLTP, un concepteur doit savoir que le grand nombre d'utilisateurs simultanés n'interfère pas avec les performances du système. Pour augmenter les performances d'un système OLTP, un concepteur doit éviter l'utilisation excessive d'index et de clusters.
Les éléments suivants sont cruciaux pour les performances des systèmes OLTP : [2]
- Segments d'annulation
- Les segments d'annulation sont les parties de la base de données qui enregistrent les actions des transactions dans le cas où une transaction est annulée. Les segments d'annulation assurent la cohérence de lecture, les transactions d'annulation et la récupération de la base de données. [6]
- Groupes
- Un cluster est un schéma qui contient une ou plusieurs tables qui ont une ou plusieurs colonnes en commun. Le regroupement de tables dans une base de données améliore les performances des opérations de jointure . [7]
- Opérations discrètes
- Une transaction discrète reporte toute modification des données jusqu'à ce que la transaction soit validée. Il peut améliorer les performances des transactions courtes et non distribuées. [8]
- Taille de bloc
- La taille du bloc de données doit être un multiple de la taille du bloc du système d'exploitation dans la limite maximale pour éviter les E/S inutiles. [9]
- Taille du cache tampon
- Les instructions SQL doivent être réglées pour utiliser le cache de tampon de la base de données afin d'éviter une consommation inutile de ressources. [dix]
- Allocation dynamique d'espace aux tables et aux segments d'annulation
- Moniteurs de traitement des transactions et serveur multithread
- Un moniteur de traitement des transactions est utilisé pour la coordination des services. C'est comme un système d'exploitation et fait la coordination à un niveau élevé de granularité et peut s'étendre sur plusieurs appareils informatiques. [11]
- Partition (base de données)
- L'utilisation de partitions augmente les performances des sites qui effectuent des transactions régulières tout en maintenant la disponibilité et la sécurité.
- Optimisation de la base de données
- Avec le réglage de la base de données, un système OLTP peut maximiser ses performances aussi efficacement et rapidement que possible.
Les références
- ^ un b Bog, Anja (2013). Benchmarking Transaction and Analytical Processing Systems: La création d'un benchmark de charge de travail mixte et son application . Berlin : Springer Science & Business Media. ISBN 3642380700.
- ^ un b « Caractéristiques des performances des applications et du système » . Oracle.com . Récupéré le 02/05/2018 .
- ^ "Traitement des événements en ligne - File d'attente ACM" . file.acm.org . Récupéré le 2019-05-30 .
- ^ "Base de données VLDB et guide de partitionnement" . Oracle.com . Récupéré le 02/05/2018 .
- ^ « Traitement des transactions en ligne par rapport à l'aide à la décision » . Microsoft.com . Récupéré le 07/05/2018 .
- ^ "Gestion des segments d'annulation" . Oracle.com . Récupéré le 07/05/2018 .
- ^ " Copie archivée " . Archivé de l'original le 2014-05-14 . Récupéré le 14-05-2014 .CS1 maint: copie archivée comme titre ( lien )
- ^ "Modes de transactions" . Oracle.com . Récupéré le 07/05/2018 .
- ^ "Blocs de données, étendues et segments" . Oracle.com . Récupéré le 07/05/2018 .
- ^ "Réglage du cache du tampon de la base de données" . Oracle.com . Récupéré le 07/05/2018 .
- ^ "Moniteur de traitement des transactions" . C2.com . Récupéré le 07/05/2018 .
Liens externes
- Projet H-Store (changements architecturaux et applicatifs affectant les performances OLTP)
- Site officiel IBM CICS
- Conseil de performance du traitement des transactions
- Schéma OLTP
- Traitement des transactions : gestion des concepts et des techniques