Erkunden der Transaktionsdatenverarbeitung
Für die meisten Menschen stellt ein System zur Verarbeitung von Transaktionsdaten die wichtigste Computingform in Unternehmen dar. Ein Transaktionssystem erfasst Transaktionen für bestimmte Ereignisse, die die Organisation nachverfolgen möchte. Eine Transaktion kann finanzieller Natur sein, wie etwa der Transfer von Geld zwischen Konten in einem Banksystem, oder sie kann Teil eines Einzelhandelssystems sein, um Kundenzahlungen für Waren und Dienstleistungen nachzuverfolgen. Stellen Sie sich eine Transaktion als eine kleine, diskrete Arbeitseinheit vor.
Transaktionssysteme haben oft eine hohe Auslastung und verarbeiten manchmal viele Millionen von Transaktionen an einem einzigen Tag. Auf die verarbeiteten Daten muss sehr schnell zugegriffen werden können. Die von transaktionalen Systemen ausgeführte Arbeit wird oft als Onlinetransaktionsverarbeitung (OLTP, Online Transactional Processing) bezeichnet.
OLTP-Lösungen basieren auf einem Datenbanksystem, in dem die Datenspeicherung sowohl für Lese- als auch für Schreibvorgänge zur Unterstützung von Transaktionsworkloads optimiert ist. Dabei werden Datensätze (in sogenannten CRUD-Vorgängen) erstellt, abgerufen, aktualisiert und gelöscht. Diese Vorgänge werden auf die Transaktionen angewendet, wobei die Integrität der in der Datenbank gespeicherten Daten sichergestellt wird. Hierzu erzwingen OLTP-Systeme Transaktionen, die die sogenannte ACID-Semantik unterstützen:
- Atomarität: Jede Transaktion stellt eine Einheit dar, die entweder vollständig erfolgreich ist oder vollständig fehlschlägt. So müssen beispielsweise für eine Transaktion, bei der ein Geldbetrag von einem Konto abgebucht und einem anderen Konto gutgeschrieben wird, beide Aktionen abgeschlossen werden. Wird eine der Aktionen nicht abgeschlossen, schlägt die andere zwangsläufig fehl.
- Konsistenz: Transaktionen können die Daten in der Datenbank nur von einem gültigen Zustand in einen anderen überführen. Im Szenario des vorherigen Beispiels muss also der abgeschlossene Transaktionszustand für den Geldtransfer von einem Konto auf das andere beibehalten werden.
- Isolation: Zwischen gleichzeitigen Transaktionen dürfen keine Konflikte auftreten, damit der Status der Datenbank konsistent bleibt. Während beispielsweise die Transaktion zur Übertragung des Geldbetrags von einem Konto auf das andere in Bearbeitung ist, muss eine andere Transaktion, die den Saldo der beiden Konten überprüft, konsistente Ergebnisse zurückgeben. Die Transaktion zur Saldoüberprüfung darf nicht für eines der Konten den Saldo vor der Übertragung und für das andere den Saldo nach der Übertragung abrufen.
- Dauerhaftigkeit: Eine Transaktion, für die ein Commit ausgeführt wurde, muss committet bleiben. Nach Abschluss der Transaktion zur Geldübertragung werden die überarbeiteten Kontosaldos beibehalten. Dadurch bleibt die Transaktion, für die ein Commit ausgeführt wurde, auch nach Abschalten des Datenbanksystems erhalten.
OLTP-Systeme werden in der Regel zur Unterstützung von Liveanwendungen verwendet, die Geschäftsdaten verarbeiten. Diese werden häufig als Branchenanwendungen bezeichnet.