TimoCom:
Agile Data Warehousing mit BIML und Microsoft SQL Server

Das Kerngeschäft der TimoCom Soft- und Hardware GmbH besteht aus diversen IT-basierten Dienstleistungen im Transport- und Logistikbereich. Vor allem mit dem Produkt TC Truck&Cargo®, einer digitalen Fracht- und Laderaumbörse, ist das Unternehmen aus Düsseldorf (Erkrath) Marktführer in Europa.

Das Logo von TimoCom

Zur Überwachung und Steuerung der Geschäftsprozesse der TimoCom Soft- und Hardware GmbH werden qualitativ hochwertige Business-Intelligence-Komponenten, zielgerichtetes agiles Vorgehen im BI-Team und ein hohes Maß an Flexibilität und Reaktionsgeschwindigkeit benötigt. Da die bestehende BI-Lösung dies nicht mehr gewährleisten konnte, wurde mit Hilfe der inovex GmbH und der Axians GmbH die Ist-Situation analysiert, die Konzeption der Zielarchitektur sowie die Planung und Umsetzung der Migration des Data Warehouse durchgeführt.

Ausgangssituation

Das historisch gewachsene System konnte die immer komplexeren Anforderungen nicht mehr erfüllen. Gründe hierfür waren die hohen Betriebskosten (Personaleinsatz, Lizenzen), nicht mehr ausreichende Performance und Funktionalität, hohe Komplexität in den Ladeprozessen, die unübersichtliche Architektur und dadurch ein hohes Maß an Komplexität durch Abhängigkeiten bei Weiterentwicklungen.

Technologisch basierte die Business-Intelligence-Umgebung auf Open-Source-BI-Tools für ETL und Reporting und einer inzwischen nicht mehr vom Hersteller unterstützten spaltenorientierten Datenbank.

Das agile BI-Projekt

Die Aufgaben des Teams reichten von der Konzeption (Architektur, Definition von Arbeitspaketen, Planung) über Infrastruktur-Themen (Server-Installation, Backup-Strategie) bis zur technischen Implementierung, Deployment und Inbetriebnahme der Business-Intelligence-Lösung auf der Basis von Microsoft-Technologien.

Über die gesamte Projektlaufzeit hinweg hatten dabei Agilität, Flexibilität und Generik die höchste Priorität. Im Sinne des „Agilen Manifests“ floss ständig Feedback der Stakeholder in die iterative Umsetzung der Aufgaben, so dass eine qualitativ hochwertige Lösung entstehen konnte.

Zur Definition des Projekt-Scopes wurden die verschiedenen BI-Domänen wie Finance und Key Account Management anhand ihrer Kritikalität priorisiert. ETL-Strecken, Berichte und Kennzahlen aus den wichtigsten Bereichen sollten bis zum Projektende migriert werden und die gewohnten Einblicke bereitstellen.

Der inkrementelle Aufbau des neuen Data Warehouse, die Anzahl der Quellsysteme und deren beständige Weiterentwicklung sowie Unklarheiten über zukünftige Anforderungen machten es außerdem notwendig, einen möglichst generischen Ansatz zu wählen.

Das Datenmodell und die Ladestrecken sollten daher metadatengesteuert und mit einem hohen Maß an Automatisierbarkeit erstellt werden können. Auf diese Weise können auch architektonische Anpassungen mit geringem Aufwand ergänzt werden.

Eine zentrale Anforderung war es, das Team zu befähigen, während des Projekts und insbesondere auch nach Projektende selbstständig qualitativ hochwertige BI-Lösungen für weitere Domänen zu entwickeln und einen reibungslosen Betrieb zu gewährleisten. Dazu wurden von inovex und Axians diverse Coachings der TimoCom-Mitarbeiter:innen durchgeführt.

Methodisch wurde Scrum als agile Vorgehensweise eingeführt. Dieses Framework ermöglicht dem Team die selbstorganisierte, effiziente Entwicklung mit qualitativ hochwertigen Ergebnissen auch in einem Projekt-Team von zeitweise mehr als 10 Personen. Softwareseitig wird der agile Prozess durch ein Jira-System unterstützt, in welchem der Backlog und die davon abgeleiteten Sprints gemeinsam vom Team definiert und über das Scrum Board getracked werden.

Das neue Data Warehouse für TimoCom

Darstellung des Systemaufbaus der TimoCon-Architektur

Die neue, homogene BI-Architektur basiert komplett auf den Technologien aus dem Hause Microsoft.

Das Design der Zielarchitektur lässt sich als klassischer Data Warehouse Bus nach Kimball in Kombination mit einem historisierten Staging Layer beschreiben.

Für die Abbildung der logischen Schichten des Data Warehouse kommt die Microsoft SQL Server Enterprise Edition zum Einsatz. Die Datenbewirtschaftung aus den Quellsystemen erfolgt über die SQL Server Integration Services (SSIS). Für den multidimensionalen Business Layer mit KPIs, Hierarchien und optimierter Abfrage-Performance kommen Cubes auf Basis der SQL Server Analysis Services (SSAS) zum Einsatz.

Das Berichtswesen mit ansprechender Visualisierung basiert je nach Zielgruppe auf den SQL Server Reporting Services (SSRS), Microsoft Power BI und Excel.

Zur automatisierten Generierung von Artefakten wurde die Business Intelligence Markup Language (BIML) verwendet. BIML bietet die Möglichkeit, mit Hilfe von Patterns und Metadaten Integration-Services-Ladestrecken und Projekte zu generieren. Im Rahmen des Migrationsprojekts entstanden so im Wesentlichen die folgenden Blöcke:

Automatisierte Erstellung von Datenbankobjekten

Es werden Datenbankenobjekte für die logischen Data-Warehouse-Schichten Landing Zone, Full Stage und das Core Data Warehouse generiert. Neben Tabellen und Sichten werden hier auch Indizes und Constraints für die optimale Konsistenz und Performance bereitgestellt.

Die Erzeugung basiert auf Metadatentabellen mit Inhalten aus den Quellen sowie Steuerdaten zur Auswahl der Tabellen und Spalten der verschiedenen Quellsysteme.

Automatisierte Erstellung von Ladestrecken

Für die Beladung der Data-Warehouse-Strukturen werden Integration-Services-Pakete mit unterschiedlichen Patterns erzeugt. Die Daten werden zunächst aus den Quellen fachlich unverändert extrahiert, mit diversen Metadatenfeldern angereichert und in die Zieldatentypen konvertiert. Nach der Historisierung in einer Full Stage werden die Daten in ein für die Auswertung optimiertes Star-Schema überführt.

Die genannten Schichten bilden die Grundlage für die Integration und die dimensionale Aufbereitung der Daten. Die entstandene Architektur bietet anschließend relationale und multidimensionale Datenstrukturen für verschiedene Reporting- und Analysezwecke. Entwicklungen im Frontend konnten so ebenfalls effizient und in klar definierten Workflows umgesetzt werden.

Für die Entwicklungszyklen werden mehrere voneinander unabhängige Umgebungen eingesetzt. Nach Abschluss eines Releases erfolgt die technische und fachliche Qualitätssicherung. Der Entwicklungs-Stand kann im Idealfall von der Entwicklung bis zur Produktion ausgerollt werden, ohne den Code zu verändern.

Das hohe Maß an Generik ermöglicht es, schnell und effizient Anpassungen und Optimierungen vorzunehmen. Der metadatengetriebene Einsatz von BIML hat wesentlich auf den erfolgreichen Projektabschluss innerhalb des Zeitplans eingezahlt, da durch wichtige Design-Entscheidungen kontinuierlich größere Anpassungen vorgenommen werden mussten. Eine manuelle Implementierung wäre in diesem Zeitplan zu ressourcenintensiv gewesen. Ein weiterer Vorteil der Automatisierung ist die Homogenität der Artefakte und die geringere Fehleranfälligkeit.

Im Laufe des Projekts ist eine BI-Landschaft entstanden, die eine klare Struktur hat, eine wohldefinierte Zuordnung von Entwicklungstätigkeiten zu den einzelnen Komponenten innerhalb der Architektur ermöglicht und durch ihr außerordentliches Maß an Flexibilität und Erweiterbarkeit überzeugt.

Der Neuaufbau des BI-Stacks stellte uns vor große Herausforderungen. Gerade im Hinblick auf die knappe Deadline entschlossen wir uns, uns einen starken Partner zur Seite zu holen. Der Verlauf des Projekts hat gezeigt, das Axians und inovex genau die richtige Wahl waren. Die Kombination unseres internen Teams mit der externen Unterstützung war der Schlüssel zum Erfolg. Das gesamte Team war engagiert und arbeitete eng zusammen, so dass wir es geschafft haben, die Basis für unsere BI-Zukunft aufzubauen.

Stephanie Budzyn

Head of Internal Products, TimoCom
Technologie-Stack
  • Microsoft SQL Server Enterprise Edition
  • SQL Server Integration Services (SSIS)
  • SQL Server Reporting Services (SSRS)
  • SQL Server Analysis Services (SSAS)
  • Microsoft Power BI
  • Business Intelligence Markup Language (BIML)
  • Visual Studio / SQL Server Data Tools
  • Oracle-Datenbanken (Datenquellen)
  • Git
  • Management Studio
  • Bitbucket
  • Jira
  • Confluence

Wie können wir Sie unterstützen?

Florian Wilhelm

Head of Data Science, Ansprechperson Data Management & Analytics