Revenir au contenu principal

Qu'est-ce que le traitement transactionnel en ligne (OLTP) ?

L'OLTP, ou traitement transactionnel en ligne, est un type de traitement de données qui peut gérer efficacement un grand nombre de transactions courtes et rapides avec une faible latence. Fondamentalement, l'OLTP est conçu pour stocker et récupérer des données rapidement. Il se concentre sur les charges de travail opérationnelles essentielles au quotidien, impliquant généralement des transactions telles que l'insertion, la mise à jour ou la suppression de petites quantités de données. Parmi les exemples, on peut citer l'enregistrement d'un dépôt bancaire, la réservation d'un billet d'avion ou le traitement d'un achat en ligne.

Poursuivez votre exploration

Principales caractéristiques des systèmes OLTP

L'OLTP est optimisé pour la vitesse, la fiabilité et la simultanéité, garantissant que de nombreux utilisateurs peuvent effectuer des transactions simultanément sans erreurs ni conflits de données et que les organisations peuvent accéder aux informations à tout moment.

Ces systèmes doivent garantir l'exactitude et la cohérence des données pour de grands volumes de transactions commerciales en temps réel. Les systèmes OLTP reposent généralement sur des bases de données relationnelles qui appliquent les propriétés ACID (atomicité, cohérence, isolation et durabilité) pour garantir que seules les transactions valides et complètes sont stockées, préservant ainsi l'intégrité des données. Les systèmes OLTP utilisent également des contraintes, des déclencheurs, des contrôles de validation et des règles d'intégrité référentielle pour préserver l'intégrité des données et fournir une base solide pour la prise de décision organisationnelle. Les moteurs OLTP modernes peuvent également utiliser des magasins de paires clé-valeur ou de documents distribués en fonction des besoins.

Le contrôle de la simultanéité — s'assurer que plusieurs utilisateurs peuvent accéder aux données et les modifier en même temps, dans le bon ordre, sans conflit ni anomalie de données — est également essentiel pour l'OLTP. Les systèmes utilisent des algorithmes de verrouillage pour s'assurer que deux utilisateurs ne peuvent pas modifier les mêmes données simultanément et que toutes les transactions sont effectuées dans le bon ordre. Un contrôle efficace de la simultanéité permet aux systèmes OLTP d'offrir une haute disponibilité, une grande réactivité et une grande fiabilité, même en cas de fortes charges transactionnelles.

Les systèmes OLTP doivent fonctionner avec un throughput élevé, ce qui signifie qu'ils sont capables de traiter un volume élevé de transactions rapidement et efficacement. En même temps, ils doivent également avoir une faible latence, ou un délai de traitement minimal, pour éviter les ralentissements lorsque le système traite un volume élevé d'opérations commerciales simultanées en temps réel.

Composants principaux

L'OLTP repose sur un certain nombre de composants qui fonctionnent ensemble pour faciliter un traitement des transactions rapide, précis et évolutif pour les applications métier critiques. selon les besoins :

  • Base de données : l'OLTP repose généralement sur des bases de données relationnelles conçues pour offrir des performances rapides. Elles garantissent la simultanéité et la conformité ACID afin que les données soient précises, toujours disponibles et facilement accessibles. Les bases de données relationnelles organisent les données en tables interdépendantes, chaque information n'étant stockée qu'une seule fois. Cela évite la redondance et permet de traiter efficacement les petites mises à jour fréquentes. Les données peuvent être utilisées par n'importe quelle application, ce qui garantit une source de vérité unique.
  • Moteur de requête : il se situe au-dessus de la base de données et gère l'exécution des opérations conformément aux principes ACID. Il coordonne des tâches telles que la journalisation des transactions, le contrôle de la simultanéité et les opérations de validation (commit) ou d'annulation (rollback).
  • Infrastructure de support : cela inclut les serveurs d'applications, les middlewares, les interfaces réseau et les systèmes de stockage qui facilitent la communication, l'accès aux données et l'optimisation des performances.

Flux de transaction typique

L'OLTP exécute les transactions en plusieurs étapes conçues pour traiter des milliers de transactions par seconde tout en préservant l'intégrité et la confiance des utilisateurs.

  1. Saisie/entrée des données : un utilisateur lance une action, telle qu'un achat, un paiement ou une mise à jour, via une application cliente, générant ainsi une demande de transaction.
  2. Transmission de la demande de transaction : la demande est envoyée au serveur d'applications, qui applique la logique métier pour déterminer les opérations de base de données.
  3. Traitement des transactions : le serveur exécute des opérations (insertion, mise à jour, suppression ou sélection) sur la base de données OLTP.
  4. Commit ou annulation : si toutes les opérations réussissent, le système valide la transaction, enregistrant ainsi les modifications de manière permanente. Si une étape échoue, le système annule toutes les actions pour restaurer l'état précédent de la base de données. Une fois validées, les modifications sont durables.
  5. Sortie et journalisation : le système renvoie une confirmation à l'utilisateur (sous la forme d'un reçu ou d'un message, par exemple) et enregistre la transaction dans des logs.
  6. Traitement des données en aval : les logs et les tables de transactions servent de source aux pipelines de données en aval, tels que les processus d'extraction, de transformation et de chargement (ETL). Ces derniers transfèrent les données du système OLTP vers des plateformes d'analyse ou de traitement, telles que des data warehouse, des data lake et des systèmes de streaming en temps réel pour des applications de reporting, d'analytique ou de machine learning.

Considérations sur les performances

La haute performance est cruciale pour que l'OLTP offre la vitesse et la stabilité que les utilisateurs attendent des transactions essentielles. Plusieurs techniques différentes sont utilisées pour optimiser les performances du système OLTP. Ces stratégies incluent :

  • Indexation : cela permet au système de trouver rapidement des enregistrements pour accélérer l'extraction des données.
  • Partitionnement : le partitionnement divise les grandes tables en plus petites parties pour améliorer les performances, la scalabilité et la facilité de gestion.
  • Pooling de connexions : cela améliore l'efficacité en réutilisant les connexions de base de données existantes plutôt qu'en en créant de nouvelles.
  • Mise en cache : dans cette technique, les données fréquemment consultées sont temporairement stockées en mémoire pour accélérer les opérations.
  • Mise à l'échelle : des stratégies telles que la mise à l'échelle verticale (ajout de ressources physiques supplémentaires comme le CPU, la RAM ou un stockage plus rapide) ou la mise à l'échelle horizontale (répartition de la charge de travail sur plusieurs machines) sont utilisées pour gérer l'augmentation des volumes de transactions.

Ces méthodes sont utilisées pour garantir que les bases de données OLTP offrent une fiabilité et des temps de réponse de l'ordre de la milliseconde, même lorsque les volumes de transactions sont élevés. Cela garantit aux utilisateurs des performances rapides et fluides et permet aux organisations de monter en charge en fonction de la demande tout en maîtrisant les coûts.

Exemples concrets d'OLTP

L'OLTP est essentiel pour une multitude de fonctions commerciales clés dans tous les Secteurs d'activité. Quelques exemples :

  • Traitement des commandes e-commerce
  • Transactions bancaires telles que les retraits d'espèces aux distributeurs automatiques et les virements de fonds
  • Traitement des paiements électroniques
  • Services financiers tels que les transactions boursières
  • Réservations en ligne de billets et de places
  • Interactions avec le service client
  • Stockage de session/d'état pour les agents d'IA conversationnelle ou les chatbots
  • Tenue des dossiers de santé
  • Maintenance industrielle
  • Suivi de l'état des appareils ou de l'IoT

L'OLTP dans l'écosystème des données

Les systèmes OLTP constituent la couche de première ligne de l'écosystème de données pour la gestion et la capture des opérations commerciales quotidiennes en temps réel. Les bases de données OLTP stockent des données granulaires actuelles générées par ces transactions. Ces données sont ensuite extraites, transformées et chargées dans des systèmes en aval tels que des lacs de données, des entrepôts de données ou des plateformes analytiques, où elles sont agrégées et analysées pour faciliter la prise de décision.

OLTP vs OLAP

De nombreuses entreprises utilisent l'OLTP en parallèle du traitement analytique en ligne (OLAP). Les deux systèmes sont essentiels pour gérer et analyser de grands volumes de données, mais ils sont conçus pour différents types de tâches et ont des fonctions différentes. Alors que l'OLTP se concentre sur le stockage et la mise à jour efficaces et fiables des données transactionnelles en temps réel pour les opérations en direct, l'OLAP combine et regroupe les données afin qu'elles puissent être analysées sous différentes perspectives pour obtenir des insights sur les données.

Comment OLTP et OLAP se complètent

Les organisations utilisent souvent à la fois le traitement des données OLAP et OLTP pour une Business Intelligence complète. L'OLTP est conçu pour les transactions en direct et les mises à jour en temps réel pour des charges de travail telles que le traitement des commandes, la mise à jour des stocks ou la gestion des comptes clients. L'OLAP prend en charge les insights sur les données historiques ou agrégées, y compris des tâches telles que le reporting, l'identification des tendances et l'analyse de données complexe. Les systèmes OLAP peuvent utiliser des données sources provenant de plusieurs systèmes OLTP pour des analyses plus complexes.

Modèles Workload

L'OLTP est conçu pour les charges de travail lourdes en écriture, se concentrant sur la gestion d'un volume élevé de petites transactions simultanées tout en maintenant la vitesse et l'intégrité des données. En revanche, les systèmes OLAP sont conçus pour les opérations lourdes en lecture, telles que l'agrégation et l'analyse. Ils sont optimisés pour permettre aux utilisateurs d'exécuter rapidement et efficacement des requêtes complexes sur de grands volumes de données plutôt que de modifier les données.

Sélection et optimisation des solutions OLTP

Lors de la sélection d'une solution OLTP, les organisations doivent examiner dans quelle mesure le système répond à leurs besoins opérationnels uniques, y compris des aspects tels que le type et le volume des transactions, la structure des données, les exigences de performance, l'évolutivité et les besoins de réactivité en temps réel. La bonne solution s'alignera sur la stratégie de données à long terme, les cas d'usage et les ressources d'une organisation.

Critères d'évaluation

L'un des facteurs clés dans le choix d'une solution OLTP est de choisir entre des bases de données SQL et NoSQL. Les bases de données SQL, telles que Postgres (la principale norme open source pour les bases de données), MySQL ou Oracle, excellent dans la conformité stricte à ACID, ce qui favorise l'intégrité des données. Elles offrent également une fiabilité transactionnelle et des requêtes complexes pour les données structurées. Les bases de données NoSQL offrent une scalabilité, une vitesse et une flexibilité supérieures pour les données non structurées.

D'autres critères d'évaluation clés des solutions OLTP incluent :

  • Scalabilité : le système doit avoir la capacité de monter en charge ou réduire instantanément pour gérer des volumes de transactions variables sous des charges de travail simultanées.
  • Cohérence : la solution doit être capable de maintenir la cohérence sans sacrifier les performances.
  • Adapté aux charges de travail critiques : la solution doit prendre en charge les fonctions essentielles. Par exemple, dans des domaines tels que le commerce électronique, la santé ou les systèmes financiers, l'exactitude transactionnelle et le temps de disponibilité sont essentiels pour les opérations.
  • Sécurité : une sécurité renforcée est essentielle pour protéger les données de transaction sensibles des clients.
  • Coût : les organisations doivent tenir compte du coût total de possession, y compris les licences, l'infrastructure et la gestion.
  • Intégration : dans les architectures traditionnelles, les bases de données opérationnelles et les systèmes analytiques sont complètement cloisonnés. L'architecture Lakebase intègre en mode natif les bases de données OLTP dans le lakehouse pour simplifier les workflows de données opérationnelles.

Conseils d'optimisation

Pour optimiser les systèmes OLTP, les équipes doivent se concentrer sur la maximisation de l'efficacité, de la réactivité et de l'intégrité des données. Plusieurs stratégies peuvent être utilisées pour y parvenir, notamment :

  • Petites transactions : garder les transactions petites et rapides minimise la quantité de données verrouillées à un moment donné et réduit les conflits entre les utilisateurs simultanés.
  • Optimisation des index : des index bien conçus peuvent considérablement accélérer les performances des requêtes.
  • Mise en cache : le stockage en mémoire des données fréquemment consultées peut réduire les temps de réponse aux requêtes.
  • Réplicas en lecture : ils distribuent davantage les charges de requêtes sans ralentir le throughput transactionnel.
  • Équilibrage de la charge : la répartition des charges de travail sur plusieurs serveurs évite les goulots d'étranglement, ce qui permet de traiter rapidement les requêtes.

Conclusion

L'OLTP est l'épine dorsale du traitement des données opérationnelles, facilitant les transactions critiques et capturant les données de ces transactions pour alimenter des analyses et des insights. Comprendre le rôle des systèmes OLTP et leurs fonctionnalités principales est essentiel pour les organisations qui cherchent à optimiser les systèmes pour leurs charges de travail uniques et à tirer le meilleur parti de leurs données.

Intégration de l'OLTP à Databricks

Lakebase est un moteur de base de données OLTP Postgres entièrement managé, intégré directement à la Databricks Data Intelligence Platform. Lakebase apporte l'OLTP au lakehouse avec des fonctionnalités telles que l'autoscaling serverless, le scale-to-zero, le branchement de base de données et la restauration instantanée, tout en maintenant la compatibilité avec les outils Postgres standard et la prise en charge des extensions Postgres. Les cas d'utilisation typiques sont les suivants :

  • Création d'applications autonomes qui nécessitent un stockage opérationnel rapide et fiable
  • Servir des données analytiques depuis le lakehouse directement dans une application sans pipelines supplémentaires
  • Servir des features et des modèles dans une application pour des cas d'usage tels que les recommandations de produits ou la segmentation des clients
  • Maintien de l'état de la session et de l'application pour les chatbots conversationnels et les applications agentiques

L'utilisation d'une base de données OLTP intégrée en mode natif à la Databricks Platform réduit la complexité des applications, simplifie la gestion et étend les capacités d'IA en unifiant les données opérationnelles, l'analytique, l'IA, les applications et la gouvernance sur une seule et même plateforme.

    Retour au glossaire