Im Zeitalter von Big Data kann keine Organisation auf eine Datenbank verzichten. Diese strukturiert organisierten Datensätze erleichtern die elektronische Analyse, Verarbeitung und Suche von Informationen. Je nach Zielsetzung kann ein Unternehmen das relationale, noSQL-, hierarchische, objektorientierte, verteilte oder auch das Transactional Database Model verwenden. Wir werden uns gerade das letztgenannte Modell ansehen.
Was ist eine Transactional Database?
Definition
Eine Transactional Database sammelt Informationen aus einer Transaktion. Das heißt, ein Prozess, bei dem Dokumente in einem System gespeichert, geändert oder kontrolliert werden.
Diese verschiedenen Transaktionen werden unabhängig voneinander durchgeführt, um die Verfügbarkeit, Zuverlässigkeit und Konsistenz der anderen Daten zu gewährleisten.
Um diese Unabhängigkeit zu gewährleisten, wird das Datenbankverwaltungssystem (DBMS) als Zeilenspeicher (statt als Spaltenspeicher) dargestellt. Dadurch können einzelne Datenzeilen geschrieben werden.
Die beliebtesten sind Oracle, MySQL, Microsoft Access oder SQLite.
Achtung: Nicht alle Transaktionen werden in der Datenbank (DB) gespeichert. Sie müssen nämlich korrekt ausgeführt werden, um validiert zu werden. Das Transactional Database Model basiert auf den ACID-Prinzipien.
Gut zu wissen: Transactional Databases sind nicht mit relationalen Datenbanken zu verwechseln. Zwar sind die beiden Begriffe nicht unvereinbar, doch bezieht sich der erste auf die Ereignisse der Datenmanipulation, während der zweite sich auf die Organisation der Daten bezieht.
Die Architektur einer Transactionsal Database
Transactional Databases werden durch bestimmte Eigenschaften definiert, die als ACIDs bezeichnet werden:
- Atomizität: Transaktionsbasierte DBs werden als Ganzes betrachtet. Wenn also ein winziger Teil einer Transaktion fehlschlägt, ist die gesamte Transaktion davon betroffen. Wenn sie nicht korrekt ausgeführt wird, wird die Transaktion daher abgebrochen.
- Konsistenz: Transaktionen werden entweder in die Transactional Database geschrieben oder rückgängig gemacht. Es gibt keine Zwischenzustände.
- Isolation: Nicht durchgeführte Transaktionen können nicht von anderen Transaktionen bearbeitet werden.
- Dauerhaftigkeit: Sobald eine Transaktion in die Datenbank geschrieben wird, bleibt sie dort.
Diese verschiedenen Prinzipien sorgen dafür, dass die Integrität der Buchungen in die Datenbank erhalten bleibt.
Wer und warum sollte man das transactional database model verwenden?
Das Transactional Database Model dient zwar in erster Linie Produktionssystemen (d. h. der Verarbeitung von Transaktionen), kann aber auch zur Datenanalyse eingesetzt werden.
So lassen sich unter anderem Spitzen im Transaktionsvolumen, Spitzen bei der Datenaufnahme und Spitzen bei der Datenankunft verstehen.
Aufgrund ihrer Nützlichkeit und Zuverlässigkeit dient das transactional database model einer Vielzahl von Organisationen: Banken, E-Commerce-Websites, Gemeinden, sozialen Netzwerken etc.
In der Finanzbranche kann man damit beispielsweise die Kosten von Versicherungen, die Häufigkeit von Schadensfällen und die Anzahl der Einzahlungen oder Abhebungen bei Banken ermitteln.
In der Logistikbranche informieren Transaktionsdaten über den Status einer Sendung, die Identität des Absenders usw. Die Transaktionsdaten werden in der Regel von den Mitarbeitern des Unternehmens genutzt, um den Status der Sendung zu ermitteln.
Was sind die Vorteile von Transactional Data?
Die Integrität der Daten
Aufgrund des ACID-Standards werden Transaktionen, die in die Datenbank geschrieben werden, zu 100 % validiert. Es gibt keine halben Sachen. Dadurch wird ein hohes Maß an Datenintegrität gewährleistet.
Das ist übrigens auch der Grund, warum diese Datenbanken vor allem im Finanzsektor eingesetzt werden. Hier gibt es keine Fehler bei Überweisungen oder Geldabhebungen.
Auch interessant: Wie verändert Data die Finanzwelt ?
Die niedrige Latenz
Transactional Database Models sind besonders effizient, wenn es darum geht, Operationen innerhalb von Millisekunden durchzuführen.
Wenn ein Unternehmen für die Analyse doppelte Datenbanken besitzt, ist es daher sehr wahrscheinlich, dass diese für die Produktion mit der ursprünglichen DB nahezu synchronisiert sind.
Entscheidungen in Echtzeit
Da die Latenzzeit für die Ausführung von Operationen sehr gering ist, stehen den Datenexperten die Daten in Echtzeit zur Verfügung, um ihre verschiedenen Operationen durchzuführen.
Dies ermöglicht es ihnen, Entscheidungen auf der Grundlage der aktuellsten Daten zu treffen, sei es bei der Analyse von Arbeitslasten, der Inventarisierung oder der Überwachung des Betriebssystems.
Flexibilität
Da die Daten online gespeichert werden, ist es möglich, Änderungen an einigen Daten vorzunehmen, ohne die anderen zu beeinflussen. Auf diese Weise wird die grundlegende Architektur des Systems nicht verändert.
Außerdem ermöglicht diese Flexibilität den Nutzern, den Verlauf einfach abzurufen.
Was sind die Nachteile von Transactional Databases?
Trotz all dieser Vorteile haben transaktionale Datenbankmodelle jedoch einige Schwächen:
- Die Suche nach Daten : Transactional Databases haben einen zeitlichen und einen räumlichen Aspekt. Mit der Zeit werden die Daten weniger verständlich. Die Nutzer können dann Schwierigkeiten haben, die richtigen Informationen zu finden.
- Höhere Kosten: Aufgrund ihrer Leistungsfähigkeit und komplexen Technologie sind Transactional Databases oft teure Lösungen.
- Komplexität: Transactional Databases können eine Vielzahl von Problemen lösen, sind aber besonders schwer zu beherrschen. Hierfür ist es unerlässlich, eine auf Daten spezialisierte Ausbildung zu absolvieren.
- Man kann keine neuen Daten schreiben: Es ist nicht immer möglich, neue Daten in duplizierte Datenbanken zu schreiben. Die Hauptfunktion dieser Datenbanken ist oft die Forschung.
- Begrenzte Analyse: Wie bereits erwähnt, sind Transactional Databases in erster Linie für Produktionssysteme konzipiert. Sie können zwar auch in der Analytik eingesetzt werden, aber das ist nicht ihr Hauptzweck. Daher sind Datenexperten, die diese Datenbanken für die Analyse nutzen möchten, möglicherweise in ihren Möglichkeiten eingeschränkt. Daher ist es besser, im Vorfeld eine spezifische Konfiguration zu definieren.
Wie kann man seine Transactional Database optimieren?
Einen Index erstellen
Es ist ratsam, einen Index zu erstellen, um die Zeit für das Abrufen von Daten zu verkürzen. Die Indexierung ermöglicht es nämlich, die Daten durch die Definition einer organisierten Datenarchitektur zu sortieren. Da die Informationen leichter zu finden sind, verbessert sich die Leistung der Transaktionsdatenbank.
Den Datenspeicher verwalten
Mit transaktionalen Datenbanken können große Datenmengen verarbeitet werden, aber es ist besser, den Speicher gut zu verwalten. Konkret bedeutet dies, die Festplatte zu defragmentieren, um die eigentlichen Daten zusammenzufassen. Dadurch können Abfragen schneller beantwortet werden.
Analyse und Produktion trennen
Da das Transactional Database Model sowohl der Produktion als auch der Analyse dient, ist es besser, das Originalmodell zu duplizieren, um die Analysen durchzuführen. Dadurch werden mögliche Konflikte zwischen analytischen und strategischen Abfragen in der Produktion vermieden, wenn sie zur gleichen Zeit gestartet werden.
Auch interessant: DevOps Architekt
Nachdem Du nun alles über das transaktionale Datenbankmodell weisst, entdecke doch mehr über unsere Data Analyst Weiterbildung: