Le traitement des transactions en ligne (Online Transaction Processing, OLTP) est un type de traitement des données qui consiste à exécuter un certain nombre de transactions survenant simultanément, par exemple, des opérations bancaires en ligne, des achats, la saisie de commandes ou l'envoi de messages texte. Ces transactions sont généralement des transactions économiques ou financières, enregistrées et sécurisées afin qu'une entreprise puisse accéder aux informations à tout moment à des fins de comptabilité ou de reporting.
Par le passé, OLTP était limité aux interactions réelles entraînant un changement — monnaie, produits, informations, demande de services, etc. Toutefois, la définition de la transaction dans ce contexte a évolué au fil des années, surtout depuis l'avènement d'Internet, pour englober tout type d'interaction numérique ou d'engagement avec une entreprise qui peut être déclenchée de n'importe où dans le monde et via n'importe quel capteur connecté au Web. Elle inclut également tout type d'interaction ou d'action, tel que le téléchargement de fichiers journaux sur une page Web, l'affichage d'une vidéo spécifique, ou des déclencheurs de maintenance automatique ou des commentaires sur les canaux sociaux qui peuvent être essentiels pour qu'une entreprise enregistre des informations afin de mieux servir ses clients.
La définition principale des transactions (économiques ou financières) reste la base de la plupart des systèmes OLTP. Le traitement des transactions en ligne implique donc généralement l'insertion, la mise à jour et/ou la suppression de petites quantités de données dans une banque de données pour collecter, gérer et sécuriser ces transactions. Généralement, une application Web, mobile ou d'entreprise effectue le suivi de toutes ces interactions ou transactions avec les clients, les fournisseurs ou les partenaires et les met à jour dans la base de données OLTP. Ces données de transaction stockées dans la base de données sont essentielles pour les entreprises. Elles sont utilisées pour la génération de rapports ou l'analyse à des fins de prise de décision axée sur les données.
Découvrez comment d'autres entreprises, telles que Retraced, le parc archéologique de Pompéi, Jasci et Siemens, ont réussi à construire leurs workloads de traitement des transactions dans le cloud.
Les entreprises ont généralement deux types de fonctions de traitement des données : OLTP et OLAP.
Bien qu'ils soient en apparence similaires et constituent deux systèmes de traitement de données en ligne, ces concepts divergent considérablement.
OLTP permet l'exécution en temps réel d'un grand nombre de transactions par un grand nombre de personnes, tandis que le traitement analytique en ligne (OLAP) consiste généralement à interroger ces transactions (également appelées enregistrements) dans une base de données à des fins analytiques. L'OLAP aide les sociétés à extraire des informations à partir de leurs données de transaction afin qu'elles puissent les exploiter pour prendre des décisions plus éclairées.
Le tableau ci-dessous compare les systèmes OLTP et OLAP.
Système OLTP |
Systèmes OLAP |
Permet l'exécution en temps réel d'un nombre élevé de transactions de base de données par de nombreux utilisateurs |
Interroge généralement de nombreux enregistrements (voire tous) dans une base de données à des fins d'analyse |
Nécessite un temps de réponse extrêmement court |
Exige des temps de réponse largement plus lents que ceux requis par OLTP |
Modifie fréquemment de petites quantités de données et nécessite généralement un équilibre entre opération de lecture et d'écriture |
Ne modifie pas du tout les données ; les workloads consomment généralement beaucoup de ressources en lecture |
Utilise des données indexées pour améliorer les temps de réponse |
Stocke les données en colonnes pour faciliter l'accès à un grand nombre d'enregistrements |
Requiert des sauvegardes fréquentes ou simultanées de la base de données |
Nécessite des sauvegardes de base de données beaucoup moins fréquentes |
Nécessite relativement peu d'espace de stockage |
Requiert généralement d'importants espaces de stockage pour les grands volumes de données historiques |
Exécute généralement des requêtes simples impliquant un ou plusieurs enregistrements |
Exécute des requêtes complexes impliquant un grand nombre d'enregistrements |
L'OLTP est un système de modification de données en ligne, tandis que l'OLAP est un système de banque de données multidimensionnelle historique en ligne utilisé pour extraire des données volumineuses à des fins d'analyse. L'OLAP fournit généralement des analyses sur les données capturées par un ou plusieurs systèmes d'OLTP.
L'architecture la plus courante d'un système OLTP qui utilise des données transactionnelles est une architecture à trois niveaux qui consiste généralement en un niveau de présentation, un niveau de logique métier et un niveau de banque de données. Le niveau de présentation est le composant de front-end, où les transactions provient d'une interaction humaine ou sont générée automatiquement. Le niveau logique se compose de règles qui vérifient les transactions et s'assurent que toutes les données requises pour terminer les transactions sont disponibles. Le niveau du magasin de données stocke les transactions et toutes les données qui leur sont associées.
Les principales caractéristiques d'un système de traitement des transactions en ligne sont les suivantes :
Les bases de données relationnelles ont été spécialement conçues pour les applications de transaction. Elles contiennent tous les éléments essentiels pour le stockage et le traitement d'importants volumes de transactions, tout en étant continuellement mises à jour avec de nouvelles fonctionnalités permettant d'extraire plus de valeur de ces données de transactions riches. Les bases de données relationnelles sont conçues de A à Z pour fournir la disponibilité et la rapidité les plus élevées. Elles assurent une simultanéité d'accès aux données ainsi que la conformité ACID afin que les données soient précises, disponibles en permanence et facilement accessibles. Elles stockent les données dans des tables après avoir extrait les relations entre les données afin qu'elles puissent être utilisées par n'importe quelle application, avec à la clé une source unique d'informations fiables.
Les transactions se sont complexifiées, elles émanent désormais de nombreuses sources et elles proviennent d'appareils de partout dans le monde. Les bases de données relationnelles traditionnelles ne sont donc plus suffisamment avancées pour répondre aux besoins des flux de travail transactionnels d'aujourd'hui. Il a fallu les faire évoluer pour gérer les transactions modernes, les données hétérogènes et l'échelle mondiale, et surtout pour exécuter des workloads mixtes. Les bases de données relationnelles ont cédé la place aux bases de données multimodales stockant et traitant non seulement des données relationnelles, mais aussi tous les autres types de données, y compris xml, html, JSON, Apache Avro et Parquet ainsi que des documents sous leur forme native, sans aucune transformation importante. Les bases de données relationnelles devaient également ajouter davantage de fonctionnalités, telles que le clustering et le sharding, pour pouvoir être distribuées à l'échelle internationale et s'adapter à l'infini afin de stocker et de traiter des volumes de données de plus en plus importants et d'exploiter un stockage moins cher sur le cloud. Avec d'autres fonctionnalités telles que les analyses avancées en mémoire, la visualisation et les files d'attente d'événements des transactions, ces bases de données peuvent désormais exécuter plusieurs charges de travail, telles que l'exécution d'analyses sur les données de transaction ou le traitement de la transmission en continu, notamment pour l'Internet des objets (IoT) ou l'exécution d'analyses spatiales et de graphes.
Les bases de données relationnelles modernes intégrées dans le cloud automatisent une grande partie des aspects opérationnels et de gestion de la base de données, ce qui les rend plus faciles à provisionner et à utiliser. Elles automatisent le provisionnement, la sécurité, la récupération, la sauvegarde et la mise à l'échelle de sorte que les administrateurs de base de données et les équipes informatiques doivent passer considérablement moins de temps pour leur maintenance. Elles utilisent également de l'intelligence embarquée pour ajuster et indexer automatiquement les données afin que les performances des requêtes restent constantes indépendamment de la quantité de données, du nombre d'utilisateurs simultanés ou de la complexité des requêtes. Ces bases de données cloud incluent également des fonctionnalités en libre-service et des API REST afin que les développeurs et les analystes puissent facilement accéder aux données et les utiliser. Le développement d'applications est simplifié. Les développeurs ont plus de flexibilité et peuvent créer plus facilement de nouvelles fonctionnalités et personnalisations dans leurs applications. Les analyses s'avèrent également plus aisées, ce qui permet aux analystes et aux analystes de données d'utiliser plus facilement les données pour extraire des informations.
Si votre service informatique peine à suivre le rythme de votre entreprise, il est important que, lorsque vous choisissez une base de données opérationnelle, vous preniez en compte vos besoins immédiats en données et vos besoins en données à long terme. Pour stocker des transactions, gérer des systèmes d'enregistrement ou gérer du contenu, vous avez besoin d'une base de données offrant une simultanéité d'accès aux données, un débit élevé, une latence faible et des caractéristiques essentielles comme la haute disponibilité, la protection des données et la récupération après sinistre. Votre charge de travail fluctuera probablement tout au long de la journée, de la semaine ou de l'année. Le redimensionnement automatique de la base de données peut vous aider à réaliser des économies substantielles. Vous devrez également choisir entre une base de données spécialisée ou générique. Si vos besoins concernent un type de données spécifique, une base de données spécialement conçue peut vous être utile, mais assurez-vous de ne pas faire des concessions sur les autres caractéristiques dont vous avez besoin. La création de ces caractéristiques ultérieurement dans la couche d'application se révélera coûteuse et nécessitera de nombreuses ressources. De plus, si vos besoins en données venaient à augmenter et que vous souhaitiez étendre les fonctionnalités de votre application, l'ajout de bases de données à usage unique ou adaptées à l'usage ne fera que cloisonner vos données et qu'amplifier vos problèmes de gestion des données. Vous devez également prendre en compte d'autres fonctionnalités qui peuvent être nécessaires pour vos workloads, par exemple les exigences d'assimilation, les exigences de calcul poussées et la taille maximale.
Sélectionnez un service de base de données cloud pérenne doté de fonctionnalités en libre-service qui automatiseront toute la gestion des données de sorte que les consommateurs de données, développeurs, analystes, ingénieurs de données, experts en données et administrateurs de base de données, puissent en faire plus avec les données et accélérer le développement d'applications.
En savoir plus sur Oracle Autonomous Transaction Processing Database, le service de base de données OLTP sur le cloud. Essayer gratuitement.