Die Unternehmen, die im digitalen Zeitalter erfolgreich sind, sind oft diejenigen, die ihre Datenintegration verbessert haben – und zwar über die bloße Sammlung und Gewinnung von Daten hinaus. Diese Unternehmen integrieren Daten aus verschiedenen, isolierten Silos, um die Daten in Business Intelligence zu nutzen, die wichtige Entscheidungsfindungen vorantreiben und interne Prozesse verbessern können.
Die Datenintegration ist jedoch nicht einfach, insbesondere je größer Ihr Unternehmen ist und je mehr Softwaresysteme Sie einsetzen. Dann betrachten Sie die Realität der meisten Unternehmensarchitekturen: Es handelt sich weniger um eine absichtliche Architektur und viel häufiger um einen Flickenteppich aus verschiedenen Anwendungen und Ökosystemen, von Legacy-Systemen bis hin zu brandneuen Tools. Einige werden im eigenen Haus entwickelt und betrieben, während andere von Drittanbietern abhängen.
Immer häufiger müssen Unternehmen Daten über all diese Systeme hinweg gemeinsam nutzen. Das Problem ist, wie schwierig die gemeinsame Nutzung von Daten ist, wenn jedes System unterschiedliche Sprachen, Anforderungen und Protokolle hat – und man bedenkt die vielen Iterationen eines Systems, das mit einem anderen System spricht.
Eine Lösung könnte das kanonische Datenmodell (CDM) sein, das wir in diesem Artikel untersuchen.
CDM definieren
Kanonische Datenmodelle sind eine Art von Datenmodell, das darauf abzielt, Datenentitäten und -beziehungen in möglichst einfacher Form darzustellen, um Prozesse über verschiedene Systeme und Datenbanken hinweg zu integrieren. Häufig sind die Daten, die über verschiedene Systeme ausgetauscht werden, auf unterschiedliche Sprachen, Syntax und Protokolle angewiesen. Ein CDM wird auch als gemeinsames Datenmodell bezeichnet.
Der Zweck eines CDM ist es, einem Unternehmen zu ermöglichen, eine gemeinsame Definition seiner gesamten Dateneinheit zu erstellen und zu verteilen. Dies ermöglicht eine reibungslosere Integration zwischen den Systemen, was die Prozesse verbessern kann und auch das Data Mining erleichtert.
Wichtig ist, dass ein kanonisches Datenmodell kein Zusammenführen aller Datenmodelle ist. Es ist vielmehr eine neue Art, Daten zu modellieren, die sich von den angeschlossenen Systemen unterscheiden. Dieses Modell muss in der Lage sein, die anderen Datentypen zu enthalten und zu übersetzen. Wenn z.B. ein System Daten an ein anderes System senden muss, übersetzt es zunächst seine Daten in die Standardsyntax (ein kanonisches Format oder ein gemeinsames Format), die nicht die gleiche Syntax oder das gleiche Protokoll des anderen Systems sind. Wenn das zweite System Daten vom ersten System empfängt, übersetzt es dieses kanonische Format in sein eigenes Datenformat.
Ein CDM-Ansatz kann und sollte jede Technologie umfassen, die das Unternehmen verwendet, einschließlich ESB- (Enterprise Service Bus) und BPM-Plattformen (Business Performance/Prozessmanagement), andere SOAs (serviceorientierte Architektur) und eine Reihe spezifischerer Werkzeuge und Anwendungen. In seiner extremsten Form würde ein kanonischer Ansatz bedeuten, dass eine Person, ein Kunde, ein Auftrag, ein Produkt usw. mit einem Satz von IDs, Attributen und Assoziationen vorhanden ist, auf die sich das gesamte Unternehmen einigen kann.
Mit dem Einsatz eines CDM verfolgen Sie einen kanonischen Ansatz, bei dem jede Anwendung ihre Daten in ein einziges, gemeinsames Modell übersetzt, das auch alle anderen Anwendungen verstehen. Diese Standardisierung ist gut – jeder im Unternehmen, auch die nicht-technischen Mitarbeiter, können sehen, dass die Zeit, die für die Übersetzung der Daten zwischen den Systemen benötigt wird, besser für andere Projekte genutzt werden kann.
Visualisierung eines kanonischen Datenmodells vs. Punkt-zu-Punkt-Abbildungen
Aufbau eines kanonischen Datenmodells
Vielleicht sind Sie versucht, ein bestehendes Datenmodell aus einem Verbindungssystem als Basis für Ihren CDM zu verwenden. Ein einziges, zentrales System wie Ihr ERP kann zum Beispiel alle möglichen Daten – vielleicht sogar alle Ihre Daten – enthalten, so dass es ein guter Ausgangspunkt für Ihr Modell sein könnte.
Experten warnen vor dieser scheinbaren Abkürzung. Wenn sich das System, das die Grundlage Ihres Modells bildet, jemals ändert – selbst auf eine neuere Version – könnten Sie an alten Datenmodellen und einem veralteten System festhalten, was den Vorteil der Flexibilität, für die CDMs konzipiert sind, zunichte macht. Außerdem könnten Sie Probleme mit Lizenzen haben. Entwickler, die versuchen, mit verschiedenen ähnlichen Datenmodellen umzugehen, können auch mehr Zeit damit verbringen, die Unterschiede zu entschlüsseln, was zu mehr Anwenderfehlern führen kann.
Wenn Sie sich für ein kanonisches Datenmodell entscheiden, ist es wahrscheinlich die beste Wahl, Ihr Modell von Grund auf neu zu erstellen. Konzentrieren Sie sich auf die Flexibilität, damit Sie den Zweck des CDM nutzen können: einfache Änderungen, da sich Ihre Unternehmensarchitektur zwangsläufig ändert.
Vorteile des Einsatzes eines CDM
Unternehmen, die in der Lage sind, einen CDM erfolgreich einzusetzen, profitieren von den folgenden Situationen:
Weniger Übersetzungen durchführen. Ohne CDM müssen Sie, je mehr Systeme Sie haben, umso mehr Datenübersetzungen durchführen – manuell. Ein Beispiel aus dem Umfeld von Business Intelligence: Hier sind Übersetzungen von Attributen aus neu eingeführten operativen Liefersystemen in die Datenmodellwelt eines Altsystems an der Tagesordnung, weil sich dieses Datenmodell über Jahrzehnte in den Köpfen festgesetzt hat. Oftmals wird dann mittels Regelwerken versucht, die neue Datenwelt, die oftmals viel granularer ist als die alte, in das Datenmodell des Altsystems „hineinzupressen“. Das Unternehmen spricht quasi „Altdatenmodell“ statt „CDM“.
Mit einem CDM reduzieren Sie die manuelle Arbeit, die die Datenintegration erfordert, und Sie begrenzen die Wahrscheinlichkeit von Benutzerfehlern.
Verbessern Sie die Pflege der Übersetzungen. Auf Unternehmensebene werden Systeme unweigerlich durch andere Systeme ersetzt, egal ob es sich um neue Versionen oder um SOAs von Anbietern handelt, die Altsysteme ersetzen. Wenn sich nur ein einziges System ändert, müssen Sie nur die Übersetzungen zum und vom CDM überprüfen. Wenn Sie keinen CDM einsetzen, können Sie wesentlich mehr Zeit mit der Verifizierung der Übersetzungen in jedes andere System verbringen.
Verbessern Sie die Logikpflege. In einem CDM wird die Logik innerhalb des kanonischen Modells geschrieben, so dass es keine Abhängigkeit von anderen Systemen gibt. Wie bei der Übersetzungspflege müssen Sie beim Wechsel eines Systems nur die Logik des neuen Systems innerhalb der Logik des CDM verifizieren – nicht mit jedem anderen System, mit dem Ihr neues System kommunizieren muss.
CDMs in der Realität
Ein Unternehmen für die Idee eines CDM zu gewinnen, kann schwierig sein. Der Aufbau eines einzigen Datenmodells, das mehrere Datenprotokolle und Sprachen unterstützen kann, erfordert einen unternehmensweiten Ansatz, der viel Zeit und Ressourcen in Anspruch nehmen kann. Aus der Sicht der Geschäftsleitung kann die Investition an Zeit und Geld zu groß sein, um sie auf sich zu nehmen, es sei denn, es gibt eine wirklich greifbare Veränderung für den Endbenutzer – was beim Aufbau eines CDM nicht unbedingt der Fall ist.
Andere Kritiker des CDM argumentieren, dass es sich um einen theoretischen Ansatz handelt, der in der Praxis nicht funktioniert. Ein so großes Projekt wie dieses ist oft so zeit- und ressourcenintensiv, gerade weil es unhandlich ist. Die Unflexibilität, jeden Dienst in ein bestimmtes Datenmodell einzupassen, bedeutet, dass man bei manchen Systemen die besten Einsatzmöglichkeiten verlieren kann. Diese Systeme können tatsächlich von weniger strengen Spezifikationen profitieren, nicht von dem Ziel einer einheitlichen Größe, das mit einem kanonischen Ansatz verfolgt wird.
Diese Experten empfehlen, dass ein Unternehmensarchitekt stattdessen die Idee eines CDM anders angehen sollte: Wenn Ihnen das Ziel der Datenkonsistenz gefällt, sollten Sie eine Standardisierung auf Formate und Fragmente dieser Datenmodelle in Betracht ziehen – wie z.B. kleine XML- oder JSON-Stücke, die helfen, kleine Gruppierungen von Attributen zu standardisieren. Weniger Zentralisierung ermöglicht unabhängige Teile, um zu bestimmen, was das Beste ist: Teams sollten sich für einen CDM-Ansatz entscheiden, statt für eine Top-Down-Entscheidung, bei der jeder gezwungen ist, ein kanonisches Datenmodell zu erstellen. Für den Kontext Data Warehouse / Business Intelligence kann das bedeuten, dass man zumindest für den dispositiven Nutzungsbereich der Daten eine Standardisierung anstrebt über den Aufbau eines unternehmensweiten Datenmodells.
CDMs können Ihrem Unternehmen je nach Größe und Bedarf Ihrer Daten von Vorteil sein. Wenn Sie in der Lage sind, die Zeit für ein solches Projekt aufzuwenden, kann ein kanonisches Modell umso schwerer zu erreichen sein, je mehr Systeme und Anwendungen Daten sie gemeinsam nutzen müssen.
Der Artikel basiert auf folgender Quelle: https://www.bmc.com/blogs/canonical-data-model/