Der Begriff Automatisierung hat sich in den letzten Jahren in Verbindung mit der Data Warehouse Entwicklung fest etabliert. Die treibende Kraft dabei ist meistens die Geschwindigkeit der Umsetzung während des Projektes. Auch die agile Softwareentwicklung hat ihren Weg in die Data Warehouse Welt gefunden. Aber was lässt sich eigentlich automatisieren? Und wie funktioniert die automatisierte Entwicklung?
Die Idee dabei ist, möglichst auf manuelle Arbeit zu verzichten und stattdessen automatisierte Prozesse einzuführen. Dies funktioniert sowohl in der Entwicklung, als auch beim Testen und im späteren Betrieb. Das Ziel ist, nicht nur Effizienz und Effektivität von Kundenprojekten zu steigern, sondern auch die Qualität und Wartbarkeit der Systeme insgesamt zu erhöhen. Dies wird garantiert durch die Einführung von Standards, die zwingend eingehalten werden müssen. Ohne diese funktioniert die Automatisierung nur sehr eingeschränkt. Durch das standardisierte Vorgehen und das Einhalten von Namenskonventionen werden unabdingbare Voraussetzungen für die Generierbarkeit und damit auch die Automatisierbarkeit des Systems geschaffen.

Wie soll man sich das vorstellen?

Allgemein gesagt: Es wird alles, was gleich ist, zusammengefasst, man entwickelt das Vorgehen nur einmal und lässt den Rest generieren. Statt in der Staging Area jeden ETL-Prozess manuell aufzubauen, arbeitet man mit wiederverwendbaren Bausteinen und generiert die einzelnen Prozesse automatisiert. Statt die Historisierungslogik für jede Tabelle im Core neu zu entwickeln, legt man diese als Template ab und wendet sie dann automatisch auf alle Objekte an. Wenn später neue Anforderungen hinzukommen, werden diese nicht manuell, sondern teil- bis vollautomatisiert umgesetzt. In so einem standardisierten System lassen sich Testen und Wartung nach dem gleichen Prinzip ebenfalls automatisieren.

manuell_automatisch
Abb.1: Manuelle vs. Automatisierte Entwicklung

Vorteile auf einen Blick

Ein Data Warehouse ist kein statisches Konstrukt, es verändert sich mit der Zeit. Es entstehen permanent neue Anforderungen, Umstrukturierungen im Unternehmen finden statt. Ein automatisiertes Data Warehouse spielt genau an dieser Stelle seine Stärken aus. Im Vergleich zu einem manuell gebauten System fallen die Aufwände für Entwicklung, Qualitätssicherung und die anschließenden Tests deutlich geringer aus. Man ist flexibel und kann auf geänderte Anforderungen kurzfristig und in konstanter Zeit reagieren.
Heutzutage müssen die Daten in einem Data Warehouse nahezu permanent zur Verfügung stehen, die Zeitfenster für die Beladung werden somit immer kleiner. Dank entsprechender Architektur ist das System einfach skalierbar. Auch mit stärker wachsendem Datenvolumen ist es kein Problem, ausreichende Performance zu gewährleisten.
Oftmals werden Arbeiten nicht von der eigenen IT, sondern von externen Dienstleistern oder Offshore- Teams durchgeführt. In einem generierten System ist die benötigte Einarbeitungszeit minimal. Ebenfalls ist durch etablierte Standards sichergestellt, dass der gewählte Entwicklungsstil beibehalten wird und die Landschaft homogen bleibt.
Durch die Automatisierung des Data Warehouses reduzieren sich Aufwände in allen Bereichen – von der Konzeption bis zur Wartung. Und es entsteht ein qualitativ hochwertiges, wartbares und zukunftsfähiges System.

industrialisierung
Abb.2: Entstehung eines automatisierten Systems

Umsetzung mit dem MT Automation Framework

Bei stark wachsender Anzahl der Quellen und immer größerem Zeitdruck wird es zukünftig nur noch wenige Projekte geben, die manuell umgesetzt werden können. Vor allem bei großen Unternehmen wird die Automatisierung weiter an Bedeutung gewinnen. Als Alternative zu den großen Werkzeugen am Markt haben wir unser eigenes flexibles Data Warehouse Automation Framework entwickelt, mit dessen Hilfe Objekte und Prozesse in einem Data Warehouse generiert werden können. Es benutzt Metadaten, um Architekturen, Topologie, Standards, Namenskonventionen, Objekte, und Mappingregeln zu beschreiben. Die verschiedenen Verarbeitungslogiken können damit in Form von Templates einmalig abgelegt werden. Es werden komplette Datenbankstrukturen und die verschiedenen ETL-Prozesse automatisch generiert. Bei späteren Änderungen können die Metadaten ebenfalls (semi-) automatisch angepasst und in das Data Warehouse übertragen werden.
Egal, ob das Data Warehouse mit PL/SQL oder ODI betrieben wird, ob als Quellen Oracle oder Dateischnittstellen verwendet werden, ob im Core Data Vault oder eine andere Architektur verwendet werden soll – mit Hilfe des Frameworks werden das Datenmodel und die ETL-Strecken ganz flexibel nach Kundenwunsch generiert. Aber auch Performance lässt sich generieren. Wenn die Quellsysteme beim Kunden keinen Incremental Load unterstützen, berechnet das Framework das Delta selbst. Datenmodelländerungen sowie notwendige Ladeprozesse werden ebenfalls automatisch erzeugt.

Fazit

Viele manuelle Arbeiten im Data Warehouse Umfeld sind gleichartig, monoton und führen unausweichlich zu Fehlern. Sinnvoller für den Data Warehouse Owner, aber auch für die Entwickler ist es, sich auf die konzeptionellen Aufgaben zu konzentrieren. Dagegen sollten Fleißarbeit und Einhalten von Standards dem Generator überlassen werden. Die Erfahrung zeigt, dass beim Verwenden eines Automatisierungsframeworks die Aufwände für die Entwicklung und den Betrieb von DWH-Lösungen um Faktor 4 bis 5 gesenkt werden können. Für mich steht fest: Ohne eine Automatisierung der Tätigkeiten ist man bald nicht mehr konkurrenzfähig.
Mehr zur Data Warehouse Automatisierung finden Sie in unserer Broschüre.

Jetzt teilen auf:

Jetzt kommentieren