Erkunden der Transaktionsdatenverarbeitung
Für die meisten Menschen stellt ein System zur Verarbeitung von Transaktionsdaten die wichtigste Computingform in Unternehmen dar. Ein transaktionsbezogenes System zeichnet Transaktionen auf, die bestimmte Ereignisse kapseln, die von der Organisation nachverfolgt werden sollen. Eine Transaktion könnte finanzieller Natur sein, zum Beispiel die Bewegung von Geld zwischen Konten in einem Bankensystem, oder Teil eines Einzelhandelssystems sein, das dem Nachverfolgen von Zahlungen für Waren und Dienstleistungen von Kunden dient. 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. Die verarbeiteten Daten müssen schnell zugänglich sein. 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 für Lese- und Schreibvorgänge optimiert ist, um Transaktionsworkloads zu unterstützen, in denen Datensätze erstellt, abgerufen, aktualisiert und gelöscht werden (häufig als CRUD-Vorgänge bezeichnet). Diese Vorgänge werden auf die Transaktionen angewendet, wobei die Integrität der in der Datenbank gespeicherten Daten sichergestellt wird.
Um die folgenden Eigenschaften zu veranschaulichen, stellen Sie sich eine Banküberweisung über 40 $ von Konto A (Anfangssaldo 100 $) auf Konto B (Anfangssaldo 50 $) vor: Das System muss Konto A belasten und Konto B in einem einzigen, zuverlässigen Vorgang gutschreiben.
Hierzu erzwingen OLTP-Systeme Transaktionen, die die sogenannte ACID-Semantik unterstützen:
- Atomität – jede Transaktion wird als einzelne Einheit behandelt, die vollständig erfolgreich ist oder völlig 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 nur die Daten in der Datenbank von einem gültigen Zustand in einen anderen übernehmen. Im Szenario des vorherigen Beispiels muss also der abgeschlossene Transaktionszustand für den Geldtransfer von einem Konto auf das andere beibehalten werden.
- Isolation – gleichzeitige Transaktionen können sich nicht gegenseitig stören und müssen zu einem konsistenten Datenbankstatus führen. Während z. B. die Transaktion zum Übertragen von Guthaben von einem Konto auf ein anderes in Bearbeitung ist, muss eine andere Transaktion, die den Saldo dieser Konten überprüft, konsistente Ergebnisse zurückgeben – die Saldoüberprüfungstransaktion kann keinen Wert für ein Konto abrufen, das den Saldo vor der Übertragung widerspiegelt, und einen Wert für das andere Konto, das den Saldo nach der Übertragung widerspiegelt.
- Dauerhaftigkeit – wenn eine Transaktion festgeschrieben wurde, bleibt sie bestätigt. Nach Abschluss der Kontoübertragungstransaktion werden die überarbeiteten Kontosaldos beibehalten, sodass auch dann, wenn das Datenbanksystem ausgeschaltet werden soll, die zugesicherte Transaktion angezeigt wird, wenn sie wieder aktiviert wird.
OLTP-Systeme werden in der Regel verwendet, um Liveanwendungen zu unterstützen, die Geschäftsdaten verarbeiten – häufig als Branchenanwendungen bezeichnet.