So wie Landschaften über lange Zeit durch Naturgewalten geformt werden, so formen die Datenflüsse die Anwendungslandschaft eines Unternehmens. Datenmanagement steht deshalb an erster Stelle der aufgeführten Architekturthemen.
Die Datenarchitektur und das Management der Daten sind die Grundpfeiler der Anwendungsarchitektur und die Anwendungsarchitektur ist ausschlaggebend für das Design der einzelnen Architekturkomponenten und damit deren Software-Architektur.
Die Rolle des Datenmanagements sollte deshalb nicht unterschätzt werden, da sie eine ausschlaggebende Rolle für die Transformation der Unternehmensarchitektur spielt.
Datenmanagement und Architekturkonzepte
In den letzten Jahrzehnten haben sich verschiedene Datenmanagementkonzepte entwickelt und ihren Einfluss auf Anwendungsarchitekturen ausgeübt:
- Data Warehouse (zentrale Datenhaltung, übergreifendes Datenmodell)
- Data Lake (kein übergreifendes Datenmodell, zentrale oder dezentrale Datenhaltung)
- Data Mesh (dezentrale Datenhaltung, dezentrale Datenverantwortung, domänenspezifische Datenmodelle)
Ebenso spielten Konzepte zur Gestaltung von Anwendungsarchitekturen, wie
- Traditionelle monolithische Architekturkomponente (Datenhaltung, Datenmodell, Geschäftslogik, Integration, Berichte) in einem zentralen System. Insbesondere große Softwareanbieter, die viel Funktion in einem System versprechen.
- Modulare Architektur, bestehend aus einzelnen Architekturkomponenten, die über Protokolle miteinander kommunizieren und wo Datenhaltung, Datenmodelle nicht zentral sein müssen und die Geschäftslogik in unterschiedlichen Komponenten verteilt ist (Service-orientierte-Architektur)
eine große Rolle für die Gestaltung von Anwendungsarchitekturen. Häufig wird beim Design einer neuen Architektur ein einzelnes dieser Muster als Lösungsblaupause besonders hervorgehoben. Die Abhängigkeiten von Anwendungsarchitekturmustern und Datenmanagementmustern kommt dabei leicht zu kurz.
In diesem Beitrag möchte ich deshalb an exemplarischen Fragen die Bedeutung der Datenarchitektur herausarbeiten.
Dimensionen von Dateneigenschaften
Für die Gestaltung der Datenarchitektur ist es zunächst wichtig, ein explizites Verständnis über die Daten und ihren Eigenschaften zu erlangen, wie sie gehalten, abgelegt, archiviert, historisiert und transportiert werden sollen.
Daten können inhaltlich heterogen und komplex sein. Darüber hinaus gibt es aber einige Eigenschaften, die häufig mit niedriger Priorität betrachtet werden, die aber eine wichtige gestaltende Rolle für die Architektur spielen:
Um dies zu veranschaulichen hier eine paar exemplarische Fragen:
- Beruhen die Daten auf einzelnen Bewegungen (Transaktionen) oder sind sie unveränderbar, da sie aus anderen Quellen genauso zur Verfügung gestellt werden?
- Müssen Transaktionen zu einem Bestand, bspw. einem Kontenstand aggregiert werden?
- Welche Geschäftslogik beruht auf der Verarbeitung eines aggregierten Bestands und welche Geschäftslogik verlangt die einzelnen Transaktionen, wie komplex ist sie und wo ist sie überall abgebildet?
- Beruht die Geschäftslogik auf der Verarbeitung von Stichtagen oder entwickelt sich der Datenbestand historisch entlang der Zeitachse?
- Müssen Stichtagsbestände und alle Verarbeitungsergebnisse nachvollziehbar und reproduzierbar sein?
- Welche Transformationswege werden benötigt und wie verändern sich Eigenschaften und Zustand der Daten durch die Transformation und wie lässt sich diese Veränderung nachvollziehen?
- Welche Stufen der Veredelung gibt es?
- An welcher Stelle im Datenfluss sind welche Qualitätssicherungsmechanismen erforderlich, deren Transformationsergebnisse später wieder nachvollzogen werden müssen?
- Sind die Daten für die Verarbeitung primär und voluminös oder sind es in diesem Verarbeitungsschritt Hilfsdaten oder Konfigurationsparameter?
- Werden auf diesen Daten Simulationen durchgeführt, was zu weiteren Ergebnissen und bei Stichtagen zu einer Vervielfältigung des Datenvolumens zu einem Stichtag führen kann?
Fragen wie diese haben einen großen Einfluss darauf, wo die Daten und wie sie in der Anwendungsarchitektur behandelt werden müssen und welche Architekturkomponenten sich daraus ableiten lassen. Es lässt sich leicht erkennen, dass es oft nicht zielführend sein dürfte, all diese Daten mit ihren Eigenschaften auf die gleiche Weise, beispielsweise in einem Data Warehouse, zu behandeln,
Ökonomischer Nutzen
Die Bestimmung der Eigenschaften von Fragen und die Beantwortung dieser oder ähnlicher Fragen ist eine wichtige Vorarbeit, die sich ökonomisch auszahlt.
Es versteht sich von selbst, dass ein automatisierter Datenfluss in dem die Daten entsprechend ihren Eigenschaften mit den dafür geeigneten Technologien optimiert verarbeitet werden können, genau das ist, was jedes Unternehmen anstreben sollte. Die Tatsache, dass es häufig nicht so ist, führt zu teuren und langsamen und fehleranfälligen Prozessen. Je weiter die Prozesskette sich vom Ursprung der Daten weg entwickelt umso häufiger sind drastische Qualitäts- und Korrekturmaßnahmen notwendig.
Aber bereits bei der Gestaltung der nächsten Transformationsschritte sind positive Kosteneffekte zu erzielen:
Erster unmittelbarer Effekt ist, dass die weiteren Schritte des Designs der Anwendungsarchitektur dann viel leichter von der Hand gehen.
Ein häufig unterschätztes Problem bei Neugestaltung und Transformation ist die Haltung von Mitarbeitern. In ihrem Berufsleben haben sie gelernt, bestimmte Techniken und Architekturansätze zu favorisieren und dafür einzustehen. Das Verständnis zu den Eigenschaften der Daten trägt zum Verständnis bei, dass unterschiedliche Eigenschaften unterschiedliche Technologien erfordern. Das wiederum ist zwingende Voraussetzung für die nächsten Gestaltungsschritte.
Der ökonomische Nutzen besteht dann schlicht darin, dass zeit- und energieraubende und damit kostenintensive Reibungsverluste deutlich reduziert werden können.
Sind die Eigenschaften der Daten in allen Dimensionen klar, dann fällt die Wahl des möglichen Technologie-Mix zur Haltung und Transport wesentlich leichter.
Die Anwendungs- oder Zielarchitektur setzt also die Datenarchitektur voraus und aus der Datenarchitektur leiten sich bereits einige Architekturkomponenten ab.
Zusammenfassung
Datenmanagement, Datenarchitektur und Datenfluss sind miteinander verwobene Bestandteile der Unternehmensarchitektur. Eine skalierbare und flexibel anpassbare Anwendungslandschaft zu schaffen, setzt ein effektives Management von Daten voraus.
Ein Kommentar