OLTP est un traitement de données centré sur les transactions qui suit une architecture à trois niveaux.
Chaque jour, les entreprises du monde entier effectuent des millions de transactions financières. Ce fait rappelle le personnel en contact avec les clients, comme les caissiers de banque et les caissiers de supermarchés, tapant sur les claviers et les caisses enregistreuses, et pour cause. Selon ACI dans le monde, une société de systèmes de paiement, les volumes mondiaux de transactions en temps réel ont connu une croissance de 42.2 % en 2023, s'élevant à 266.2 milliards de transactions.
Cependant, les entreprises extérieures aux secteurs financier et de vente au détail génèrent également quotidiennement de nombreuses transactions. Et chacune de ces transactions nécessite un stockage sécurisé pour une révision, une utilisation et d'autres applications futures.
Le traitement des transactions en ligne (OLTP) est conçu pour stocker ces grands volumes de données transactionnelles dans un entrepôt de données, et ce blog en parle en détail. Commençons.
OLTP se distingue par les deux facteurs suivants :
- Sa conception dédiée, qui prend en charge l'exécution et l'enregistrement de centaines (ou plus) de transactions simultanées.
- Le composant « en ligne » dans son nom, qui fait référence à la manière dont il exploite Internet pour gérer les transactions en temps réel.
- Distributeurs automatiques de billets et processus bancaires en ligne
- Plateformes de billetterie, de réservation et de réservation
- Systèmes de traitement des paiements par carte de crédit
- La saisie des commandes
- Archivage
OLTP et. OLAP
OLTP et traitement analytique en ligne (OLAP) sont deux différents types of ptraitement les systèmes tles entreprises de chapeaux utilisent conjointement les unes avec les autres.
Bien qu'OLTP soit principalement conçu pour enregistrer des transactions, OLAP les bases de données sont conçues pour aider les équipes de données à les interroger et à les analyser.
Voici une comparaison entre les deux :
OLTP | OLAP |
Conçu pour stocker rapidement de vastes volumes de transactions en ligne. | Conçu pour collecter des données provenant de différentes sources afin de permettre l'analyse des données. |
Conçu pour enregistrer les transactions et opérations commerciales en temps réel. | Conçu pour analyser toutes sortes de données commerciales historiques. |
Les requêtes OLTP sont simples. | Les requêtes OLAP sont complexes. |
La taille standard varie de 100 Mo à 10 Go. | Plus grand que les systèmes OLTP. Leur taille typique varie de 1 To à 100 Pb. |
Modifie souvent les données et comporte une combinaison de tâches de lecture et d’écriture. | Ne modifie pas les données et comporte des charges de travail en lecture seule. |
Nécessite des sauvegardes fréquentes et un mécanisme de récupération complet en place. | Peut être sauvegardé rarement sans problème. |
Caractéristiques des systèmes OLTP
- Réponses rapides : Les systèmes OLTP offrent des réponses rapides pour faciliter les opérations en temps réel. Le temps de réponse est généralement mesuré en millisecondes.
- Ensembles de données indexés : Ces systèmes comportent des ensembles de données indexés pour aider les utilisateurs à rechercher, interroger et récupérer rapidement des données.
- La haute disponibilité: Compte tenu de l'importance d'un système OLTP dans les applications en temps réel, garantir une haute disponibilité minimise les temps d'arrêt.
- Opérations plus simples : Les opérations courantes incluent les insertions, les suppressions et les mises à jour de données. Ce sont toutes des opérations plus simples puisque ces systèmes ne répondent pas à des exigences analytiques complexes.
Pour quelles bases de données sont utilisées OLTP Des charges de travail ?
Les charges de travail OLTP nécessitent des systèmes de gestion de bases de données relationnelles (SGBDR) pour le stockage et la modification des données, car les bases de données relationnelles sont spécialement conçues pour les applications de transaction.
Voici quelques exemples:
1. PostgreSQL/Postgres
La personnalisation et la flexibilité de PostgreSQL le rendent idéal pour OLTP.
En particulier, le contrôle de concurrence multiversion (MVCC) de Postgres permet un accès simultané aux données pour plusieurs transactions tout en empêchant une transaction d'en bloquer une autre. Cela améliore les performances et l’efficacité.
2. Base de données Oracle
Oracle Database est un SGBDR complet qui prend en charge différents cas d'utilisation. Outre OLTP, Oracle Database est utilisé pour l'entreposage de données et les applications mixtes (OLTP et entreposage de données).
3. Serveur Microsoft SQL
Un peu comme la base de données Oracle, Microsoft SQL Server prend également en charge les tâches liées à l'entreposage de données et à la business intelligence en plus des charges de travail OLTP.
4. MySQL
MySQL est largement utilisé comme tous les deux une source ouverte et commercial RDBMS. Elle enlève évolutivité, facilité d'utilisation, disponibilité et capacités transactionnelles faites-en un super option pour les charges de travail OLTP.
5.MongoDB
MongoDB est flexible, évolutif et convient aux entreprises recherchant une option NoSQL pour traiter leurs charges de travail OLTP. Les systèmes de paiement font partie des cas d'utilisation courants de MongoDB, et il dispose d'un modèle flexible centré sur les documents qui fonctionne bien pour les tâches OLTP.
Les avantages et les défis de l'utilisation des charges de travail OLTP
Les systèmes OLTP présentent à la fois leurs avantages et leurs défis, soulignés ci-dessous :
Avantages :
Les deux principaux avantages d'un système OLTP sont la concurrence et la conformité ACID (atomicité, cohérence, isolation et durabilité).
Concurrency permet à un système OLTP de s'adresser efficacement et simultanément à plusieurs utilisateurs. Deux utilisateurs ou plus peuvent effectuer librement des transactions dans un système, car sa simultanéité empêchera ces transactions d'entrer en conflit ou de se chevaucher.
La conformité ACID comprend les éléments suivants :
Atomicité: décompose les transactions de base de données en composants plus petits pour garantir l’intégrité de la transaction dans son ensemble.
Cohérence: les transactions de base de données sont soumises à certaines règles de validation des données et seules les données qui correspondent à ces règles sont écrites dans la base de données.
Isolement: les transactions de base de données sont traitées simultanément sans aucun conflit.
Durabilité: garantit qu'une fois la transaction terminée, les modifications des données qui en résultent sont écrites dans la base de données. Cela maintient les modifications des données malgré les défauts techniques.
La conformité ACID permet aux bases de données OLTP de gérer les transactions du début à la fin. Il garantit la fonctionnalité d'une transaction en décomposant chaque transaction en composants plus petits, en appliquant des règles de validité des données, en les traitant simultanément, puis en enregistrant les données.
Outre la concurrence et la conformité ACID, les autres avantages d'un système OLTP incluent :
- Données normalisées : Les systèmes OLTP utilisent généralement des structures de données normalisées. Cela minimise la redondance, permet un stockage optimisé et évite les anomalies de données.
- Annulation des transactions : La capacité d'annulation des transactions d'un système OLTP permet aux utilisateurs d'annuler des transactions ou d'autres modifications en cas de problème matériel ou d'un autre type d'erreur.
- Intégrité des données: Maintenir intégrité des données et la cohérence est facile car la conformité et la normalisation ACID augmentent la fiabilité des transactions et maintiennent la précision de la base de données.
Défis
Les défis courants associés à l’utilisation des bases de données OLTP incluent :
- Interrogation de données historiques : Ils sont conçus pour gérer les transactions en cours et les données en temps réel. Par conséquent, interroger des données historiques à l’aide d’un système OLTP est difficile, surtout par rapport à OLAP.
- Frais généraux ACIDE : La conformité ACID, bien que bénéfique, peut entraîner des frais généraux. Une meilleure intégrité des données peut affecter les performances du système, car les transactions ACID nécessitent une surcharge de puissance de traitement supplémentaire.
- Entretien fréquent : La maintenance de systèmes OLTP complexes peut être quelque peu gourmande en ressources dans un environnement dynamique et étendu. Comme indiqué ci-dessus, ces systèmes nécessitent des sauvegardes, une maintenance et une optimisation fréquentes., Qui nécessitent des efforts dédiés et continus pour maintenir une haute disponibilité.
Comment sélectionner le Base de données appropriée pour les charges de travail OLTP
Garder les facteurs suivants à l’esprit peut aider les équipes chargées des données à sélectionner la bonne base de données :
Comprendre les exigences de performance
Connaître le volume de transactions estimé, les exigences de concurrence et les temps de réponse idéaux est essentiel. La base de données sélectionnée doit gérer efficacement la charge transactionnelle d'une organisation.
Prise en charge de la conformité ACID
La conformité ACID est essentielle pour garantir l'intégrité des données dans un système OLTP. Une base de données offrant des garanties ACID complètes est donc la solution idéale pour une charge de travail OLTP.
Contrôle de la concurrence
Les transactions simultanées sont une autre caractéristique clé ; pour les gérer efficacement, une base de données doit disposer de mécanismes de contrôle de concurrence suffisants, tels que :
- Verrouillable
- Contrôle de concurrence optimiste (OCC)
- Commande d'horodatage
- Isolement des instantanés
- Contrôle de concurrence multiversionol (MVCC)
- Isolation d'instantanés sérialisables (SSI)
Évolutivité
L'évolutivité peut avoir une importance variable selon le modèle commercial et l'application.
Une base de données qui peut évoluer horizontalement (en intégrant davantage de serveurs) ainsi que verticalement (en augmentant les ressources du serveur) peut suivre une gamme de charges de travail.
Modèle de données
Généralement, les bases de données relationnelles fonctionnent bien avec des données structurées, et les bases de données NoSQL conviennent mieux à données semi-structurées et non structurées. La sélection de base de données pour les charges de travail OLTP doit correspondre aux exigences du schéma de l'application.
Durabilité et tolérance aux pannes
Des mécanismes tels que la réplication, le basculement automatique et les sauvegardes contribuent à la durabilité des données et à la tolérance aux pannes, ce qui les rend nécessaires pour prévenir la perte de données.
Modèles de cohérence
Une base de données peut présenter l'un des modèles de cohérence suivants :
- Forte cohérence : Ce modèle offre une visibilité immédiate et cohérente des mises à jour sur tous les nœuds. Il s'agit du niveau de cohérence le plus élevé, mais il peut augmenter la latence et diminuer la disponibilité.
- Cohérence éventuelle : Dans ce modèle, les mises à jour synchrones amènent finalement toutes les répliques dans le même état. Puisqu'il donne la priorité à une faible latence et à une haute disponibilité, c'est un meilleur choix pour les systèmes distribués.
- Cohérence causale : Les opérations causalement liées sont systématiquement ordonnées entre les nœuds de ce modèle. Il préserve la relation causale entre les événements et équilibre la cohérence et la performance.
Étant donné que chaque modèle comporte un compromis entre cohérence, disponibilité et tolérance de partition, le personnel chargé des données peut en sélectionner un en fonction des exigences de l'application.
Sécurité
Capacités de sécurité peuvent varier selon les bases de données, mais des fonctionnalités telles que l'autorisation, le cryptage, l'authentification et l'audit peuvent améliorer la conformité aux politiques et réglementations de sécurité de l'organisation.
Infrastructure communautaire et de soutien
Les services de support d'une base de données et la taille de sa communauté sont également des facteurs importants à prendre en compte. Une communauté vaste et active peut être une ressource utile pour apprendre les meilleures pratiques et acquérir des informations, et un écosystème de support peut aider à résoudre rapidement les problèmes.
Prix
Le coût total de possession (TCO) d'une base de données, qui comprend les licences, les coûts d'infrastructure, la maintenance et les dépenses de support, peut avoir un impact sur sa viabilité pour une entreprise. Idéalement, une base de données devrait offrir un bon rapport qualité-prix et répondre aux exigences organisationnelles.
Conclusion
Existant depuis les années 1970, les systèmes de traitement des transactions en ligne prennent en charge les applications transactionnelles dans un large éventail de secteurs. Des progrès ont été réalisés vers la combinaison des systèmes OLTP et OLAP sur une plate-forme unifiée (telle que MySQL Heatwave d'Oracle). Cependant, les systèmes OLTP conservent en grande partie leurs fonctionnalités distinctes, que les organisations peuvent pleinement exploiter en utilisant la bonne base de données.
Astera propose des connecteurs intégrés pour différentes bases de données, telles que MySQL, PostgreSQL, MongoDB et Oracle, pour l'exécution Charges de travail OLTP. Sa plate-forme simple et sans code permet aux utilisateurs de concevoir et de déployer facilement des modèles de données OLTP.
Contactez notre équipe pour en savoir plus.
Auteurs:
- Usman Hasan Khan