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. 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 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. 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 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 verwendet, um Liveanwendungen zu unterstützen, die Geschäftsdaten verarbeiten – häufig als Branchenanwendungen bezeichnet.