Automatisierung von Data WarehousesDaten schnell und korrekt integrieren
7. September 2021Obwohl die Rolle von Daten bei der Entscheidungsfindung von Unternehmen zunehmend wichtiger wird, führen viele Firmen ihre ETL-Prozesse immer noch manuell durch und nehmen langwierige Prozesse und veralteten Daten in Kauf.
In einem modernen Data Warehouse müssen Daten sich schnell und korrekt integrieren lassen, um ihre einfache Nutzung für die Geschäftsberichtserstattung sicherzustellen. Die traditionellen Ansätze zur Erfassung und Verwaltung riesiger Datenmengen durch manuelle ETL-Codierung sind für Unternehmen längst nicht mehr effektiv genug.
Mit geeigneten Automatisierung-Tools können sie hingegen den zeitlichen Auflauf ihres Data Warehouse um bis zu 70 Prozent reduzieren und die Effektivität signifikant verbessern.
Schnellere, effizientere Prozesse
Der Lebenszyklus eines traditionellen Data-Warehouse setzt sich aus vielen Einzelschritten zusammen. Die verwendeten Tools adressieren jeweils nur eine Prozessphase, die am Ende mittels zeitaufwändiger manueller Coderevisionen an die nächste Prozessphase angepasst werden muss. In einem automatisierten Data Warehouse lassen sich dagegen bis zu 80 Prozent dieser Tätigkeiten durch automatisierte Softwareprozesse ersetzen.
Automatisierungs-Software orchestriert einen Data-Warehousing Prozess durchgängig, sozusagen in einem Stück und bildet dafür zum Beispiel ein vereinfachtes Modell der gesamten Produktionslinie ab. Für ein datengetriebenes „data driven“ Design, bei dem Unternehmen ihre digitalen Produkte auf Basis von realen Ausgangsdaten erstellen, muss sie außerdem die Möglichkeit bieten, eigene Datenquellen einzufügen und die Daten individuell, gemäß den eigenen Anforderungen zu modellieren. Unter Verwendung von Best Practices und basierend auf der Erfahrung vergangener agiler Projekte automatisiert die Software alle sich wiederholenden Aufgaben und baut neue Datenstrukturen schnell auf.
Besonders bewährt hat sich der Template-basierte Automatisierungsansatz, welcher die einzelnen Prozess-Pattern für den Integrationsprozess implementiert, testet und unter Berücksichtigung vorhandener Best Practices als Templates hinterlegt. Tauchen während der Implementierung neue Best Pattern auf, werden diese in die jeweilige Vorlage gekapselt und der Code wird automatisch neu generiert.
Die Rolle der Metadaten für den Automatisierungsprozess wird oft zu Unrecht unterschätzt. Dabei erfolgt die automatische Generierung der Datenbankschemata, Tabellenstrukturen, Transformationsroutinen und Workflows aller Data-Warehouse-Operationen vor allem auf Basis der Metadaten. Mit Hilfe von Metadaten lässt sich bestimmen, wem die jeweiligen Daten gehören, wer darauf zugreifen kann, wer sie verwendet und welche Art von Inhalten sie enthalten. Grundsätzlich müssen Metadaten immer eine Beschreibung des gesamten Datenökosystems von der Quelle bis zum Ziel enthalten, einschließlich der durchgeführten Aktionen und verwendeten Objekte. Nur so ist sichergestellt, dass neben der vollständigen Dokumentation auch eine automatisierte Versionskontrolle und ein leicht handhabbares Änderungsmanagement verfügbar ist.
Die Daten-Komplexität im Griff behalten
Obwohl die Datenökosysteme schon seit Jahren zunehmend komplexer werden, gilt der ETL- (Extract-Transform-Load) Prozess unter den traditionellen Unternehmen immer noch als Standardprozess. Irgendwann in den 70er-Jahren entwickelt arbeiten ETL-Tools heute, fünfzig Jahre später, immer noch auf Basis manueller Programmierung.
Ein zeit- und ressourcenintensives Unterfangen, wenn man bedenkt, dass jede Data Pipeline über ihren eigenen individuellen Code verfügt, der nur für den jeweiligen Anwendungsfall ausgegeben wurde. Ändert sich die Anwendung, dann stimmt auch der Code nicht mehr und löst eine Unterbrechung der Pipeline aus. Damit der Prozess weitergeht, müssen Dateningenieure von Hand erst einmal umfassende Code-Revisionen vornehmen.
Unternehmen, die komplexe Datenarchitekturen mit neuesten Technologien wie hybriden Cloud-Modellen, Multi-Cloud, Data Vault 2.0, usw. aufbauen und skalieren wollen, werden früher oder später vor die Wahl gestellt: Entweder sie stellen große und teure Teams von Dateningenieuren ein, die umfassende, manuelle Codevisionen an ihren Daten-Pipelines vorzunehmen oder sie betreuen mit einem wesentlich kleineren Team den Einsatz einer Automatisierungs-Software, die die Routinearbeiten und Orchestrierung übernimmt.
Kulturwandel durch DevOps und DataOps
Automatisierte Data Warehouses sparen den Datenteams viel Zeit, die sie nutzen können, um agile Methoden wie DevOps und DataOps zu implementieren. Die beiden Kofferworte sind zurzeit, nicht nur in der BI-Welt, in aller Munde. DevOps legen fest, wie Anwendungen in Unternehmen entwickelt und bereitgestellt werden, während DataOps die möglichst effektive Nutzung der Daten spezifiziert. Beide Methoden sind über den gesamten Data Warehouse Lebenszyklus anwendbar, von der Datenaufbereitung über Datenvisualisierung bis hin zur Berichtserstellung.
DevOps streben die interdisziplinäre Vernetzung von Softwareentwicklung, Qualitätssicherung und IT-Management an, um die Automatisierung, Agilität und Zusammenarbeit zwischen Entwicklung und IT-Management effizienter zu gestalten. Programmierer sollen die strategischen Herausforderungen eines Unternehmens schon bei der Entwicklung berücksichtigen. Von den Qualitäts- und Operations-Manager wird hingegen erwartet, dass sie die vorhandene IT-Infrastruktur mit in ihre Planung einbeziehen.
DataOps-Prozesse erweitern DevOps um die Komponente Daten. Interdisziplinäre Teams aus Data Scientists, Software-Entwicklern und Fachabteilung sollen die Bereiche Statistik, IT und Branchenwissen zusammenbringen und die Qualität und Zykluszeiten von Datenanalysen verkürzen. Obwohl sich DataOps an DevOps Prozessen orientieren, sind sie in Bezug auf Technologie, Architektur, Tool, Sprache oder Framework von ihnen komplett unabhängig. DevOps und DataOps streben damit eine effektivere Zusammenarbeit zwischen Entwicklung, IT und Qualitätssicherung an, die das Potenzial hat, die Art, wie Daten im gesamten Unternehmen bereitgestellt und genutzt werden, dauerhaft und grundlegend zu verändern.
Schnelles Prototyping im modell- und datengesteuerten Design
Automatisierungssoftware erstellt Prototypen in sehr großer Geschwindigkeit. Die meisten von ihnen unterstützen die Entwicklung von Prototypen sowohl im modell-, als auch im datengesteuerten Design.
Bei einem modellgesteuerten Design erstellt die Software zuerst Profile aller vorhandenen Datenquellen. Architekten wählen dann die am besten geeignete Struktur aus, erstellen auf dieser Basis den Prototypen und überprüfen, ob die Spezifikationen komplett und richtig implementiert wurden. Vor allem Unternehmen, die Data Vault Modellierung anwenden, profitieren vor dieser Form des Designs.
Beim datengetriebenen Design erstellt die Software Prototypen auf Basis tatsächlicher Unternehmensdaten. Dateningenieure können so ihren Stakeholdern bereits im Vorfeld demonstrieren, wie sich ihre Spezifikationen im realen Data Warehouse verhalten werden und diese bei Bedarf ändern und neu erstellen.
Data Vault-Modellierung für agile Data Warehouses
Unternehmen mit sehr stabilen Geschäftsanforderungen bevorzugen in der Regel überschaubare dimensionale Datenmodelle. In unserer marktgetriebenen Zeit geraten jedoch auch stabile Geschäftsanforderungen schnell ins Wanken. Neue Modellierungsansätze wie Data Vaults zollen dieser Entwicklung Tribut. Im Gegensatz zu anderen Modellierungsmethoden, lassen sich neue Datenquellen hier auch dann integrieren, wenn die Architektur bereits steht.
Die Data-Vault-Modellierung teilt alle zu einem Geschäftskennwort (z.B. Kunde oder Produkt) gehörenden Informationen in drei Kategorien ein und legt sie in drei Typen von Datenbanktabellen ab: Hubs (Beschreibung, wie z.B. Kundennummer), Links (Beziehung, die zwei oder mehrere Hubs verknüpft) und Satelliten (Attribut, das ein Kennwort oder eine Beziehung beschreibt, zum Beispiel das Auslaufdatum eines Produkts). Alle drei Entitäten sind strikt voneinander getrennt und nur über Links, die auf die Hubs verweisen, miteinander verknüpft. Dadurch ist es möglich, Daten aus mehreren Quellsystemen flexibel zu integrieren, ohne den Rahmen des Data Vault Modells zu verändern.
Die Entwicklung und Wartung von Data Vaults ist jedoch komplex. Unternehmen, die Data Vault-Projekte in nicht automatisierten Data Warehouses starten, kommen zwar anfangs meistens gut zurecht, doch spätestens bei der Integration größerer Mengen neuer Datenquellen fangen die Fehler und damit auch die Probleme an. Schon ein winziges Versehen kann enorme Auswirkungen haben, dessen Behebung bei manueller Programmierung mit einem großen Zeitaufwand verbunden ist. In automatisierten Data Warehouses funktioniert dagegen auch ein sehr komplexer Data Vault bereits nach kurzer Zeit.
Immer mehr Unternehmen verstehen mittlerweile, welche Bedeutung Daten sowie deren Visualisierung und Nutzung für die Entscheidungsfindung haben. Wenn es um flexible und zeitkritische Business-Anforderungen geht, stoßen klassische Data Warehouse-Lösungen schnell an ihre Grenzen. Mit einer Data Warehouse Automatisierung können Firmen hingegen erhebliche Zeit- und Kosteinsparungen realisieren und erreichen gleichzeitig eine höhere Flexibilität, Aktualität und Qualität ihrer Daten.
Thomas Heuer ist Sales Director DACH bei WhereScape.