Online Transaction Processing ( OLTP ) ist ein Datenbanksystem , das in transaktionsorientierten Anwendungen wie vielen operativen Systemen eingesetzt wird. Der Begriff „online“ bezieht sich auf die Erwartung, dass diese Systeme Benutzeranfragen in Echtzeit beantworten und verarbeiten. OLTP steht im Gegensatz zu Online Analytical Processing (OLAP), das sich auf die Datenanalyse konzentriert (beispielsweise in Planungs- und Managementsystemen ).

Bedeutung des Begriffs „Transaktion“

Der Begriff „Transaktion“ kann zwei unterschiedliche Bedeutungen haben, die beide zutreffen können. Im Kontext von Computer- oder Datenbanktransaktionen bezeichnet er eine atomare Zustandsänderung, während er im Geschäfts- oder Finanzwesen typischerweise einen Austausch wirtschaftlicher Einheiten meint, wie er vom Transaction Processing Performance Council (TPPC) oder im Zusammenhang mit kommerziellen Transaktionen verwendet wird . [ 1 ] OLTP-Systeme können Transaktionen des ersten Typs verwenden, um Transaktionen des zweiten Typs zu erfassen.

Im Vergleich zu OLAP

OLTP wird typischerweise dem Online Analytical Processing (OLAP) gegenübergestellt, das sich im Allgemeinen durch deutlich komplexere Abfragen auszeichnet und in kleineren Datenmengen ausgeführt wird, um Business Intelligence oder Reporting zu ermöglichen, anstatt Transaktionen zu verarbeiten. Während OLTP-Systeme alle Arten von Abfragen (Lesen, Einfügen, Aktualisieren und Löschen) verarbeiten, ist OLAP im Allgemeinen für reine Leseoperationen optimiert und unterstützt möglicherweise keine anderen Abfragetypen. OLTP unterscheidet sich auch in seiner Funktionsweise von Batch-Verarbeitung und Grid-Computing . [ 1 ]

Darüber hinaus wird OLTP häufig dem Online Event Processing (OLEP) gegenübergestellt, das auf verteilten Ereignisprotokollen basiert , um in großen, heterogenen Systemen eine hohe Konsistenz zu gewährleisten. [ 2 ] Während OLTP mit kurzen, atomaren Transaktionen assoziiert wird, ermöglicht OLEP flexiblere Verteilungsmuster und höhere Skalierbarkeit, jedoch mit erhöhter Latenz und ohne garantierte Obergrenze für die Verarbeitungszeit.

Verwenden

OLTP wird auch für die Verarbeitung von Daten verwendet, bei der das System unmittelbar auf Benutzeranfragen reagiert. Ein Geldautomat (ATM) ist ein Beispiel für eine kommerzielle Transaktionsverarbeitungsanwendung. [ 3 ] Online-Transaktionsverarbeitungsanwendungen (OLTP) weisen typischerweise einen hohen Durchsatz auf und sind datenbankintensiv in Bezug auf Einfügungen und Aktualisierungen. Diese Anwendungen werden gleichzeitig von Hunderten von Benutzern genutzt. Die Hauptziele von OLTP-Anwendungen sind Verfügbarkeit, Geschwindigkeit, Parallelverarbeitung und Wiederherstellbarkeit ( Durable ). [ 4 ] Weniger Papierkram und die schnellere, genauere Prognose von Einnahmen und Ausgaben sind Beispiele dafür, wie OLTP Geschäftsprozesse vereinfacht. Wie viele moderne Online-IT-Lösungen erfordern jedoch auch einige Systeme Offline-Wartung, was die Kosten-Nutzen-Analyse eines Online-Transaktionsverarbeitungssystems beeinflussen kann.

Überblick

Ein OLTP-System ist ein in modernen Unternehmen weit verbreitetes, zugängliches Datenverarbeitungssystem. Beispiele für OLTP-Systeme sind Auftragserfassungssysteme, Systeme für den Einzelhandel und Finanztransaktionssysteme. [ 5 ] Online-Transaktionsverarbeitungssysteme benötigen zunehmend Unterstützung für netzwerkweite Transaktionen, an denen mehrere Unternehmen beteiligt sein können. Aus diesem Grund verwendet moderne OLTP-Software häufig Client- oder Server-Verarbeitungs- und Vermittlungssoftware, die es ermöglicht, Transaktionen auf verschiedenen Computerplattformen innerhalb eines Netzwerks auszuführen.

In großen Anwendungen kann ein effizientes OLTP auf ausgefeilte Transaktionsmanagement-Software (wie IBM CICS ) und Datenbankoptimierungstechniken zurückgreifen , um die Verarbeitung einer großen Anzahl gleichzeitiger Aktualisierungen einer OLTP-orientierten Datenbank zu ermöglichen.

Für anspruchsvollere dezentrale Datenbanksysteme können OLTP-Brokerprogramme die Transaktionsverarbeitung auf mehrere Computer in einem Netzwerk verteilen . OLTP wird häufig in serviceorientierte Architekturen (SOA) und Webdienste integriert .

OLTP umfasst das Erfassen, Verarbeiten und Aktualisieren von Eingangsdaten, um die erfassten und verarbeiteten Informationen widerzuspiegeln. Die meisten Organisationen nutzen ein Datenbankmanagementsystem (DBMS) zur Unterstützung von OLTP. OLTP läuft typischerweise in einem Client-Server-System.

Die Online-Transaktionsverarbeitung befasst sich mit Parallelität und Atomarität. Die Parallelitätskontrolle stellt sicher, dass zwei Benutzer, die auf dieselben Daten in einem Datenbanksystem zugreifen, diese nicht gleichzeitig ändern können; ein Benutzer muss warten, bis der andere die Verarbeitung abgeschlossen hat, bevor er Änderungen vornehmen kann. Die Atomarität gewährleistet, dass alle Schritte einer Transaktion als Gruppe erfolgreich abgeschlossen werden; schlägt ein Schritt fehl, schlagen auch alle anderen Schritte fehl. [ 6 ]

Systemdesign

Beim Aufbau eines OLTP-Systems muss der Entwickler sicherstellen, dass eine hohe Anzahl gleichzeitiger Benutzer die Systemleistung nicht beeinträchtigt. Um die Leistung eines OLTP-Systems zu verbessern, sollte der Entwickler eine übermäßige Verwendung von Indizes und Clustern vermeiden.

Folgende Elemente sind für die Leistungsfähigkeit von OLTP-Systemen von entscheidender Bedeutung: [ 4 ]

  • Rollback- Segmente: Rollback-Segmente sind Teile einer Datenbank, die die Aktionen von Transaktionen für den Fall eines Transaktions-Rollbacks protokollieren. Sie unterstützen außerdem Lesekonsistenz, Transaktions-Rollback und die Datenbankwiederherstellung. [ 7 ]
  • Cluster: Ein Cluster ist ein Schema , das eine oder mehrere Tabellen mit einer oder mehreren gemeinsamen Spalten enthält. Das Clustern von Tabellen in einer Datenbank kann die Leistung von Join -Operationen verbessern. [ 8 ]
  • Diskrete Transaktionen: Bei einer diskreten Transaktion werden alle Datenänderungen bis zum Commit der Transaktion verzögert. Dies kann die Leistung kurzer, nicht verteilter Transaktionen verbessern. [ 9 ]
  • Blockgröße : Die Blockgröße der Datenbank sollte ein Vielfaches der Blockgröße des Betriebssystems sein, jedoch innerhalb des maximalen Grenzwerts, um unnötige Ein-/Ausgabeoperationen zu vermeiden. [ 10 ]
  • Puffer-Cache -Größe : Durch die effiziente Nutzung des Datenbank-Puffer-Caches kann der Ressourcenverbrauch deutlich reduziert werden. [ 11 ]
  • Dynamische Speicherplatzzuweisung : Einige Datenbanksysteme unterstützen die dynamische Zuweisung von Speicherplatz für Tabellen und Rollback-Segmente, um die Speicherauslastung zu verbessern.
  • Transaktionsverarbeitung : Ein Transaktionsverarbeitungsmonitor koordiniert Dienste systemübergreifend. Er ist vergleichbar mit einem Betriebssystem, da er Prozesse auf einer hohen Granularitätsebene verwaltet und sich über mehrere Rechengeräte erstrecken kann. [ 12 ]
  • Partitionierung (Datenbank) : Durch die Verwendung von Partitionen kann die Leistung von Systemen, die regelmäßig Transaktionen verarbeiten, gesteigert werden, während gleichzeitig Verfügbarkeit und Sicherheit gewährleistet bleiben.
  • Datenbank-Tuning : Beim Datenbank-Tuning werden Systemparameter optimiert, um die Leistung und Effizienz von OLTP-Systemen zu verbessern.

Liste der OLTP-Datenbanken

Datenbank Typ
Oracle-Datenbank Beziehungsorientiert
MySQL Beziehungsorientiert
Microsoft SQL Server Beziehungsorientiert
PostgreSQL Beziehungsorientiert
MongoDB Atlas NoSQL (Dokumentation)
Amazon Aurora Beziehungsorientiert
Redis NoSQL (Schlüsselwert)
SQLite Beziehungsorientiert
MariaDB Beziehungsorientiert
KakerlakenDB Verteiltes SQL
IBM Db2 Beziehungsorientiert
Google Cloud Spanner Verteiltes SQL
Amazon DynamoDB NoSQL (KV/Doc)
Couchbase NoSQL (Dokumentation)
SAP HANA Multi-Modell

Referenzen

  1. ^ a b Bog, Anja (2013). Benchmarking Transaction and Analytical Processing Systems: The Creation of a Mixed Workload Benchmark and its Application . Berlin: Springer Science & Business Media. ISBN 978-3642380709Die
  2. ^ „Online Event Processing - ACM Queue“ . queue.acm.org . Abgerufen am 2026-04-02 .
  3. ^ „Was ist OLTP? Das Rückgrat des E-Commerce“ . InfoWorld . Abgerufen am 2. April 2026 .
  4. ^ a b „Anwendungs- und Systemleistungsmerkmale“ . Oracle.com . Abgerufen am 2. Mai 2018 .
  5. ^ „Datenbank-VLDB und Partitionierungsleitfaden“ . Oracle.com . Abgerufen am 2. Mai 2018 .
  6. ^ „Online-Transaktionsverarbeitung vs. Entscheidungsunterstützung“ . Microsoft.com . Abgerufen am 7. Mai 2018 .
  7. ^ „Managing Rollback Segments“ . Oracle.com . Abgerufen am 7. Mai 2018 .
  8. ^ „ISelfSchooling – Was ist eine Clustertabelle? – Index-Cluster und Hash-Cluster“ . Archiviert vom Original am 14.05.2014 . Abgerufen am 14.05.2014 .
  9. ^ „Transaktionsmodi“ . Oracle.com . Abgerufen am 7. Mai 2018 .
  10. ^ „Datenblöcke, Extents und Segmente“ . Oracle.com . Abgerufen am 7. Mai 2018 .
  11. ^ „Optimierung des Datenbank-Puffer-Cache“ . Oracle.com . Abgerufen am 7. Mai 2018 .
  12. ^ „Transaktionsverarbeitungsmonitor“ . C2.com . Abgerufen am 7. Mai 2018 .