Was versteht man unter OLTP?

OLTP klar definiert

OLTP oder Online Transaction Processing ist eine Art der Datenverarbeitung, bei der mehrere Transaktionen gleichzeitig ausgeführt werden – beispielsweise Online-Banking, Einkaufen, Auftragserfassung oder das Versenden von Textnachrichten. Diese Transaktionen werden traditionell als Wirtschafts- oder Finanztransaktionen bezeichnet, die aufgezeichnet und gesichert werden, sodass ein Unternehmen zu Buchhaltungs- oder Reportingzwecken jederzeit auf diese Informationen zugreifen kann.

In der Vergangenheit war OLTP auf reale Interaktionen beschränkt, bei denen etwas ausgetauscht wurde – Geld, Produkte, Informationen, Serviceanfragen usw. Jedoch hat sich in diesem Zusammenhang die Definition von Transaktion im Laufe der Jahre, insbesondere seit dem Aufkommen des Internets, erweitert, um jede Art von digitaler Interaktion oder Interaktion mit einem Unternehmen zu umfassen, was von überall auf der Welt und über jeden mit dem Internet verbundenen Sensor ausgelöst werden kann. Dazu gehören auch jegliche Arten von Interaktionen oder Aktionen wie das Herunterladen von PDFs auf einer Webseite, das Anzeigen eines bestimmten Videos oder automatische Wartungsauslöser oder Kommentare auf sozialen Kanälen, deren Aufzeichnung für ein Unternehmen eventuell wichtig ist, um einen besseren Kundenservice bereitzustellen.


Die primäre Definition für Transaktionen – wirtschaftlich oder finanziell – bleibt die Grundlage für die meisten OLTP-Systeme, sodass die Online-Transaktionsverarbeitung typischerweise das Einfügen, Aktualisieren und/oder Löschen kleiner Datenmengen in einem Datenspeicher umfasst, um diese Transaktionen zu erfassen, zu verwalten und zu sichern. In der Regel verfolgt eine Web-, Mobil- oder Unternehmensanwendung all diese Interaktionen oder Transaktionen mit Kunden, Lieferanten oder Partnern und aktualisiert sie in der OLTP-Datenbank. Diese in der Datenbank gespeicherten Transaktionsdaten sind für Unternehmen von entscheidender Bedeutung und werden für das Reporting verwendet oder analysiert, um sie für die datengesteuerte Entscheidungsfindung einzusetzen.

Lesen Sie wie andere Unternehmen, wie Retraced, Archaeological Park of Pompeii, Jasci oder Siemens, ihre Transaktionsverarbeitungs-Workloads in der Cloud erfolgreich erstellen konnten.

Unternehmen verfügen normalerweise über zwei Arten von Datenverarbeitungsfunktionen: OLTP und OLAP.

OLTP im Vergleich zu OLAP

Obwohl sie ähnlich klingen und beide Online-Datenverarbeitungssysteme sind, gibt es dennoch einen großen Unterschied zwischen den beiden.

OLTP ermöglicht die Echtzeitausführung einer großen Anzahl von Transaktionen durch eine große Anzahl von Personen, während Online Analytical Processing (OLAP) normalerweise die Abfrage dieser Transaktionen (auch als Aufzeichnungen bezeichnet) in einer Datenbank zu Analysezwecken umfasst. Mit OLAP können Unternehmen Erkenntnisse aus ihren Transaktionsdaten gewinnen, damit sie diese für fundiertere Entscheidungen nutzen können.

Die nachstehende Tabelle zeigt einen Vergleich zwischen OLTP- und OLAP-Systemen.

OLTP-Systeme

OLAP-Systeme

Ermöglichen die Echtzeitausführung einer großen Anzahl von Datenbanktransaktionen durch eine große Anzahl von Personen.

In der Regel werden viele Datensätze (auch alle Datensätze) in einer Datenbank zu Analysezwecken abgefragt.

Erfordern blitzschnelle Reaktionszeiten.

Erfordern Antwortzeiten, die um Größenordnungen langsamer sind, als die von OLTP benötigten.

Ändern häufig kleine Datenmengen und beinhalten in der Regel ein ausgewogenes Verhältnis zwischen Lese- und Schreibvorgängen.

Ändern überhaupt keine Daten; Workloads sind in der Regel leseintensiv.

Verwenden indizierte Daten, um die Antwortzeiten zu verbessern.

Speichern Daten im Spaltenformat, um einen einfachen Zugriff auf eine große Anzahl von Datensätzen zu ermöglichen

Erfordern häufige oder zeitgleiche Datenbank-Backups.

Erfordern weitaus weniger regelmäßige Datenbank-Backups.

Benötigen relativ wenig Speicherplatz.

Sie haben in der Regel einen erheblichen Speicherplatzbedarf, da sie große Mengen an historischen Daten speichern.

Führen in der Regel einfache Abfragen mit nur einem oder wenigen Datensätzen aus.

Führen komplexe Abfragen mit zahlreichen Datensätzen aus.

OLTP ist also ein Online-Datenänderungssystem, während OLAP ein Online-Speichersystem für historische mehrdimensionale Daten ist, mit dem große Datenmengen für Analysezwecke abgerufen werden können. OLAP bietet für gewöhnlich Analysen zu Daten, die von einem oder mehreren OLTP-Systemen erfasst wurden.

Anforderungen an ein OLTP-System

Die gängigste Architektur eines OLTP-Systems, das Transaktionsdaten verwendet, ist eine 3-Ebenen-Architektur, die typischerweise aus einer Präsentationsebene, einer Geschäftslogikebene und einer Datenspeicherebene besteht. Die Präsentationsebene ist das Frontend, wo die Transaktion durch eine menschliche Interaktion entsteht oder vom System generiert wird. Die Logikebene besteht wiederum aus Regeln, die die Transaktion verifizieren und sicherstellen, dass alle zum Abschluss der Transaktion erforderlichen Daten zur Verfügung stehen. Und in der Datenspeicherebene werden die Transaktion und alle zugehörigen Daten gespeichert.

Die Hauptmerkmale eines Online-Transaktionsverarbeitungssystems sind wie folgt:

  • ACID-Compliance: OLTP-Systeme müssen sicherstellen, dass die gesamte Transaktion korrekt aufgezeichnet wird. Bei einer Transaktion handelt es sich in der Regel um die Ausführung eines Programms, was die Durchführung mehrerer Schritte oder Vorgänge erfordern kann. Sie kann als abgeschlossen betrachtet werden, wenn alle beteiligten Parteien die Transaktion bestätigen, wenn das Produkt/der Service bereitgestellt wird, oder wenn eine bestimmte Anzahl von Aktualisierungen an den spezifischen Tabellen in der Datenbank vorgenommen wird. Eine Transaktion wird nur dann korrekt erfasst, wenn alle beteiligten Schritte ausgeführt und aufgezeichnet werden. Wenn in einem der Schritte ein Fehler auftritt, muss die gesamte Transaktion abgebrochen und alle Schritte aus dem System gelöscht werden. Daher müssen OLTP-Systeme atomare, konsistente, isolierte und dauerhafte (ACID-)Eigenschaften erfüllen, um die Genauigkeit der Daten im System sicherzustellen.
    • Atomar: Atomaritätskontrollen garantieren, dass alle Schritte in einer Transaktion erfolgreich als Gruppe abgeschlossen werden. Das heißt, wenn Schritte zwischen den Transaktionen fehlschlagen, müssen alle anderen Schritte ebenfalls fehlschlagen oder rückgängig gemacht werden. Der erfolgreiche Abschluss einer Transaktion wird als „Commit“ bezeichnet. Das Scheitern einer Transaktion wird als „Abort“ bezeichnet.
    • Konsistent: Die Transaktion bewahrt die interne Konsistenz der Datenbank. Wenn Sie die Transaktion ganz alleine auf einer Datenbank ausführen, die anfänglich konsistent ist, ist sie nach Abschluss der Transaktion auch wieder konsistent.
    • Isoliert: Die Transaktion wird so ausgeführt, als würde sie alleine ohne andere Transaktionen laufen. Das heißt, die Ausführung einer Reihe von Transaktionen hat dieselbe Wirkung, als würde eine nach der anderen ausgeführt werden. Dieses Verhalten wird als Serialisierbarkeit bezeichnet und wird normalerweise durch die Sperrung von bestimmten Zeilen in der Tabelle implementiert.
    • Dauerhaft: Die Resultate der Transaktion gehen bei einem Fehlschlag nicht verloren.
  • Nebenläufigkeit: OLTP-Systeme können enorm viele Benutzer haben, die gleichzeitig versuchen, auf dieselben Daten zuzugreifen. Daher muss das System sicherstellen, dass alle diese Benutzer, die versuchen Lese- oder Schreibvorgänge im System durchzuführen, dies auch gleichzeitig tun können. Nebenläufigkeitskontrollen garantieren, dass zwei Benutzer, die gleichzeitig auf dieselben Daten im Datenbanksystem zugreifen, diese Daten nicht ändern können oder dass ein Benutzer warten muss, bis der andere Benutzer die Verarbeitung beendet hat, bevor er dieses Datenfragment ändern kann.
  • Skalierung: OLTP-Systeme müssen in der Lage sein, sofort vertikal und horizontal zu skalieren, um das Transaktionsvolumen in Echtzeit zu bewerkstelligen und Transaktionen unabhängig von der Anzahl der Benutzer, die versuchen, auf das System zuzugreifen, gleichzeitig auszuführen.
  • Verfügbarkeit: Ein OLTP-System muss stets verfügbar und bereit sein, Transaktionen anzunehmen. Der Verlust einer Transaktion kann zu Umsatzeinbußen führen oder rechtliche Auswirkungen haben. Da Transaktionen von überall auf der Welt und zu jeder Zeit ausgeführt werden können, muss das System rund um die Uhr verfügbar sein.
  • Hoher Durchsatz und kurze Antwortzeit: OLTP-Systeme erfordern Antwortzeiten im Nanosekundenbereich oder sogar noch kürzer, damit Unternehmensbenutzer produktiv bleiben und die wachsenden Erwartungen der Kunden erfüllt werden können.
  • Zuverlässigkeit: OLTP-Systeme lesen und bearbeiten in der Regel sehr selektive, kleine Datenmengen. Es ist von größter Bedeutung, dass die Daten in der Datenbank zu jedem beliebigen Zeitpunkt für die Benutzer und Anwendungen, die auf diese Daten zugreifen, zuverlässig und vertrauenswürdig sind.
  • Sicherheit: Da diese Systeme äußerst vertrauliche Kundentransaktionsdaten speichern, ist die Datensicherheit von entscheidender Bedeutung. Jeder Verstoß kann für das Unternehmen teuere Auswirkungen haben.
  • Wiederherstellungsfähigkeit: OLTP-Systeme müssen in der Lage sein, sich im Falle eines Hardware- oder Softwarefehlers wiederherzustellen.

Datenbanken für OLTP-Workloads

Relationale Datenbanken wurden speziell für Transaktionsanwendungen ausgelegt. Sie verkörpern alle wesentlichen Elemente, die zum Speichern und Verarbeiten großer Transaktionsmengen erforderlich sind, und werden außerdem kontinuierlich mit neuen Features und Funktionen aktualisiert, um mehr Wert aus diesen reichen Transaktionsdaten zu schöpfen. Relationale Datenbanken sind von Grund auf so konzipiert, dass sie die höchstmögliche Verfügbarkeit und schnellste Performance bieten. Sie bieten Nebenläufigkeits- und ACID-Compliance, sodass die Daten genau, immer verfügbar und leicht zugänglich sind. Außerdem speichern sie Daten in Tabellen, nachdem sie die Beziehungen zwischen den Daten extrahiert haben, sodass die Daten von jeder Anwendung verwendet werden können und eine „Single Source of Truth“ sichergestellt wird.

Die Entwicklung von Datenbanken zur Transaktionsverarbeitung

Während Transaktionen immer komplexer wurden und aus beliebigen Quellen oder Geräten von überall auf der Welt stammten, waren herkömmliche relationale Datenbanken nicht fortschrittlich genug, um den Anforderungen moderner Transaktions-Workflows gerecht zu werden. Sie mussten sich weiterentwickeln, um die modernen Transaktionen, heterogene Daten und die globale Skalierung zu bewältigen und vor allem gemischte Workloads auszuführen. Relationale Datenbanken wurden in multimodale Datenbanken transformiert, in denen nicht nur relationale Daten, sondern auch alle anderen Datentypen, einschließlich XML, HTML, JSON, Apache Avro und Parquet, und Dokumente in ihrer nativen Form gespeichert und verarbeitet werden, ohne dass eine große Transformation erforderlich ist. Außerdem mussten relationale Datenbanken mehr Funktionen, wie Clustering und Sharding, hinzufügen, damit sie global verteilt und unbegrenzt skaliert werden konnten, um immer größere Datenmengen zu speichern und zu verarbeiten und den günstigeren Speicher zu nutzen, der in der Cloud verfügbar ist. Mit anderen Funktionen wie In-Memory, erweiterten Analysen, Visualisierung und Warteschlangen für Transaktionsereignisse können diese Datenbanken jetzt mehrere Workloads ausführen – z. B. Transaktionsdaten analysieren oder Streaming-Daten (Internet of Things [IoT]) verarbeiten bzw. räumliche und grafische Analysen ausführen.

Moderne relationale Datenbanken, die in der Cloud erstellt wurden, automatisieren viele Verwaltungs- und Betriebsaspekte der Datenbank, wodurch sie für Benutzer einfacher bereitzustellen und zu nutzen sind. Sie bieten automatisierte Bereitstellung, Sicherheit, Wiederherstellung, Backup und Skalierung, wodurch Datenbankadministratoren und IT-Teams viel weniger Zeit für ihre Pflege aufwenden müssen. Außerdem integrieren sie Intelligenz, um die Daten automatisch zu optimieren und zu indizieren, sodass die Performance der Datenbankabfrage unabhängig von der Datenmenge, der Anzahl gleichzeitiger Benutzer oder der Komplexität der Abfragen konsistent ist. Auch Selfservice-Funktionen und REST-APIs gehören zu den Bestandteilen dieser Cloud-Datenbank, um Entwicklern und Analysten einen einfachen Zugriff auf die Daten und deren Verwendung zu ermöglichen. Dies vereinfacht die Anwendungsentwicklung, gibt Flexibilität und erleichtert es Entwicklern, neue Funktionen und Anpassungen in ihre Anwendungen zu integrieren. Zudem wird auch noch die Analyse vereinfacht und Analysten und Data Scientists können somit die Daten leichter zum Extrahieren von Erkenntnissen verwenden.

So wählen Sie die richtige Datenbank für Ihren OLTP-Workload aus

Da die IT Schwierigkeiten hat, mit der Geschwindigkeit des Geschäfts Schritt zu halten, ist es wichtig, dass Sie bei der Auswahl einer betriebsbereiten Datenbank Ihre unmittelbaren und langfristigen Datenanforderungen berücksichtigen. Für die Speicherung von Transaktionen, die Verwaltung von Aufzeichnungssystemen oder das Contentmanagement benötigen Sie eine Datenbank mit hoher Gleichzeitigkeit, hohem Durchsatz, geringer Latenz und unternehmenskritischen Merkmalen wie High Availability, Datenschutz und Disaster Recovery. Höchstwahrscheinlich schwankt Ihr Workload im Laufe des Tages, der Woche oder des Jahres. Wenn Sie also sicherstellen, dass die Datenbank automatisch skaliert werden kann, können Sie eine Menge Kosten sparen. Möglicherweise müssen Sie sich auch entscheiden, ob Sie eine speziell erstellte Datenbank oder eine Allzweckdatenbank verwenden wollen. Wenn Sie eine bestimmte Art von Daten benötigen, kann eine speziell entwickelte Datenbank für Sie funktionieren. Stellen Sie jedoch sicher, dass Sie die anderen erforderlichen Eigenschaften, nicht beeinträchtigen. Dies wäre ein kostspieliges und ressourcenintensives Unterfangen, falls Sie diese Eigenschaften später auf der Anwendungsebene einrichten müssten. Wenn Ihre Datenanforderungen wachsen und Sie die Funktionalität Ihrer Anwendung erweitern wollen, werden durch das Hinzufügen weiterer Einzelzweck- oder zweckdienlicher Datenbanken nur Datensilos erzeugt und die Probleme beim Datenmanagement häufen sich. Außerdem müssen Sie auch andere Funktionen berücksichtigen, die für Ihren spezifischen Workload erforderlich sein können, z. B. Aufnahmeanforderungen, Pushdown-Compute-Anforderungen und Größenbegrenzungen.

Wählen Sie einen zukunftssicheren Cloud-Datenbankservice mit Selfservice-Funktionen, der das gesamte Datenmanagement automatisiert, sodass Ihre Daten-Consumer – Entwickler, Analysten, Dateningenieure, Data Scientists und DBAs – mehr mit den Daten erreichen und die Anwendungsentwicklung beschleunigen können.

Erfahren Sie mehr über Autonomous Transaction Processing Database von Oracle, den Cloud-OLTP-Datenbankservice. Kostenlos testen.