datasqill Suite datasqill Suite ist eine ETL Suite, die bei verschiedenen Prozessen zur Datenverarbeitung wie zum Beispiel Datentransformation, Datenbereinigung, Datenmigration, Verbesserung von Datenqualität oder Data Warehousing unterstützt. Die Suite erlaubt die einfache und intuitive Modellierung von Datentransformationen und übernimmt deren automatisierte Ausführung. Eine durchgehende Werkzeugkette bildet die Grundlage für schnelle und zugleich qualitative Entwicklung von Datenintegrationslösungen und deren zuverlässigem Betrieb. Die intuitive Oberfläche unterstützt bei der einfachen Realisierung von Transformationen durch die gelungene Verbindung zwischen grafischer Modellierung und SQL als Programmiersprache. Komponenten Die datasqill Suite besteht aus den Komponenten • • datsqill Workbench und datasqill Core. Seite 1 / 10 Die Komponenten der datasqill Suite, in der Mitte die Workbench, rechts im Backend die Engine. Der direkte Zugriff der Engine auf die Datentabellen im Server ist ein entscheidender Vorteil gegenüber konventionellen Datenintegrationstools und schlägt sich in entsprechenden Performanceergebnissen bei der Ausführung nieder. Die datasqill Workbench ist ein grafischer Editor, der die verschiedenen Projektbeteiligten bei ihren jeweiligen Aufgaben unterstützt. • • • Die Entwickler einer Datenintegrationslösung nutzen die Workbench zur Implementierung von Transformationen und Datenverarbeitungsvorgängen. Zur Programmierung der Verarbeitungslogik wird SQL verwendet, die Modellierung der Datenflüsse erfolgt mit dem grafischen Editor. Das Betriebspersonal setzt die Workbench zur Ausführung sowie Ausführungsplanung von Transformationen ein. Über einen Assistenten werden Transformationen zu einer Ausführungseinheit gruppiert und mit einer Ausführungszeit und Wiederholrate versehen. Zur Überwachung der aktuell laufenden Transformationen sowie zur Überprüfung abgeschlossener Läufe durch den Betrieb dient das Monitoring. Durch die intelligente Sortierung werden laufende oder fehlerhafte Ausführungen hervorgehoben und damit schnell erkennbar. Seite 2 / 10 Programmierung datasqill erweitert die Mengensprache SQL durch die grafische Modellierung. Im Gegensatz zu vielen herkömmlichen Datenintegrationstools wird SQL anstelle einer proprietären Sprache zur Programmierung der Transformationen verwendet. Deshalb können Entwickler schnell in die Programmierung der Transformationen mit datasqill einsteigen und sich auf die Umsetzung der benötigten Programmlogik statt auf das Erlernen einer neuen Programmiersprache konzentrieren. Die Detailansicht einer Transformation: Links allgemeine Einstellungen, rechts die SQL-Query. Syntaxhighlighting, farbliche Hervorhebung von syntaktischen Fehlern oder die Konsistenzprüfung des Modells gegen die SQLAnweisungen helfen den Entwicklern bei der schnellen und fehlerfreien Implementierung der geforderten Programmlogik. Die Datenbeziehungen mit Quellen und Zielen der programmierten Transformationen werden grafisch editiert und dargestellt. Dieser Teil der Programmierung mit datasqill ist intuitiv und auch für Neueinsteiger schnell zu verstehen und anzuwenden. Als Konsequenz erhält man grafische Modelle, auf denen die Datenflüsse auf einen Blick erkennbar sind und bei denen man bei Bedarf schnell in die Details blicken kann. Seite 3 / 10 Eine Transformation (blau) enthält Programmcode, der die Übertragung und Umwandlung der Daten von den Quellzu den Zielobjekten (grau) definiert. Für Datenbanktransformationen wird die Sprache SQL verwendet. Zur Gruppierung der Transformationen werden Blätter („Sheets“) verwendet. Blätter können ihrerseits in Ordnern abgelegt werden, womit eine hierarchische Struktur für ein gesamtes Projekt aufgebaut wird. Hierarchischer Aufbau eines Projekts: Auf der linken Seite die Ordner und Blätter, mit denen das Projekt strukturiert wird. Auf der rechten Seite ist ein geöffnetes Blatt mit Transformationen zu sehen. Seite 4 / 10 Modularität Die Transformationslogik muss nicht immer vollständig durch den Entwickler ausprogrammiert werden. Verschiedene Transformationsmodule kapseln technische oder fachliche Logik und stellen sie durch Transformationstypen dem Entwickler zur Verfügung. Transaktionseditor zur Festlegung der Transaktionslogik: Links erkennt man geöffnet die verfügbaren Module aus der Modulbibliothek, rechts das Editorfenster zur Festlegung der SQL-Logik. Mit der Suite werden bereits eine Vielzahl von Modulen mitgeliefert, wie z.B. • Insert from Select • Merge • Quality Check • Execute Procedure • Load/Write From/To Remote Database • Call Webservice • Load/Write Flatfile • Run Unix/Windows Command • Zeitreihe So fasst das Zeitreihenmodul beispielsweise eine zeitlichen Folge von Attributwerten in Perioden mit identischen Attributwerten zusammen (Slowly Changing Dimension Type 2). Das durchdachte Plugin-Konzept ermöglicht eine schnelle Integration der Suite in eine vorhandene Umgebung. Zusätzlich lassen sich in kürzester Zeit eigene Module entwickeln, die die bestehenden Funktionalitäten nachbilden. Eigenentwickelte Module bieten sich sowohl für die Migration auf datasqill als auch für die Steuerung von weiteren Applikationen (wie z.B. Reportingtools) an. Seite 5 / 10 Ausführung und Scheduling Ein Blatt oder eine einzelne Transformation kann direkt ausgeführt werden. Zur Ausführung mehrerer Elemente oder zur Ausführung zu einem bestimmten Zeitpunkt („Scheduling“) dient ein Assistent. Mit ihm lassen sich Transformationsläufe („Batches“) definieren und planen, die aus einem Mix von einzelnen Transformationen, Blättern und Ordnern bestehen. Definition eines Transformationslaufs („Batch“) mit dem Assistenten: Links oben sind die verwendeten Transformationen zu erkennen. Darunter finden sich die Einstellungen zur Ausführungsplanung wie zum Beispiel Startzeitpunkt, Frequenz oder Start-Bedingungen. Rechts werden Benachrichtigungen zu verschiedenen Ereignissen sowie Abhängigkeiten zu anderen Plänen festgelegt. Eine der Stärken der datasqill Suite offenbart sich bei der Ausführung: Im Gegensatz zu herkömmlichen Datenintegrationstools ist keine manuelle Planung von Abhängigkeiten und Reihenfolgen nötig. Nachdem die Ordner, Blätter und Transformationen zu einem Lauf zusammengefasst sind, übernimmt die Engine die Ermittlung der Abhängigkeiten und sorgt für eine korrekte Reihenfolge bei der Ausführung. Seite 6 / 10 Monitoring Übersichtlich und detailliert zugleich, so präsentiert sich die Monitoring-Ansicht der datasqill Suite. Die aktiven sowie die abgeschlossenen Transformationsläufe werden durch eine Baumansicht visualisiert und erleichtern das Auffinden durch die kalendarische Sortierung. Die Details der Ausführung werden tabellarisch dargestellt, die intelligente Sortierung hilft bei der Identifikation von fehlgeschlagenen Transformationen, indem diese an führender Position einsortiert werden. Die Ergebnisse der Ausführung auf einen Blick: Über die Navigation links können die ausgeführten Transformationsläufe ("Batches") ausgewählt werden, deren Ergebnisse dann rechts erscheinen. Für jede einzelne Transformation lassen sich per Klick weitere Details einblenden. Über das Monitoring können neben dem zeitlichen Ablauf auch weitere Details der Transformationsläufe überwacht werden. Die datasqill Engine schreibt ausführliche Informationen zu jeder ausgeführten Transformation in Logs. Dazu gehören unter anderem • • • • • • • • Statuscode (Aktiv, Beendet, Fehlerhaft, ...) Startzeit Dauer Fehlercode und -meldung, falls vorhanden Anzahl der verarbeiteten Zeilen Verwendeter Arbeitsspeicher Verwendete CPU-Zeit Verwendeter Temp-Tablespace Seite 7 / 10 Detailansicht einer einzelnen Transformationen: Status , verbrauchte CPU, benötigter Speicher, physikalische I/OOperationen, Anzahl verarbeiteter Datensätze, Anzahl der Fehler sind wertvolle Informationen, die die Suite gegenüber herkömmlichen Lösungen auszeichnet. Qualitätsmerkmale der Lösung Die datasqill Suite kann durch ihre durchdachten Konzepte und zukunftsweisende Neuerungen überzeugen. Zu diesen Merkmalen gehören: • • • • Zusammenspiel von SQL und grafischer Programmierung: Einfache grafische Modellierung und die bekannte Programmiersprache SQL, mit dieser Kombination finden Datenbankentwickler schnell Zugang zur Programmierung mit der Suite und können sich auf die Implementierung konzentrieren. Ausführung in der Datenbank: Durch die Ausführung in der Datenbank sind keine Ladevorgänge nötig. Der direkte Zugriff auf die zu bearbeitenden Daten sorgt für die überzeugenden Verarbeitungszeiten und hebt das Produkt von anderen Tools ab. Automatische Ermittlung der Ausführungsreihenfolge: Im Gegensatz zu konventionellen Werkzeugen müssen bei der SoftQuadrat datasqill Suite keine Ausführungspläne manuell erstellt werden. Die Engine erkennt diese selbständig und führt die Transformationen in korrekter Reihenfolge aus. Steuerung der Ressourcen: Die Engine lässt sich hinsichtlich Verwendung des temporären Tablespace und in Bezug auf die maximale Anzahl von parallelen Prozessen genau einstellen. Damit wird sichergestellt, dass keine unkontrollierte Beeinträchtigung anderer Datenbankprozesse auftritt, während die Engine Transformationen ausführt. Seite 8 / 10 • • • • • • Protokollierung des Ressourcenbedarfs: Für jede ausgeführte Transformation werden neben Ergebnissen, Anzahl der verarbeiteten Zeilen, Zeiten und Dauer auch wertvolle Informationen über CPU-Bedarf, Speicherauslastung, temporärer Tablespace usw. protokolliert. Optimierung der Ressourcenausnutzung: Die Engine nutzt die Statistiken aus vorherigen Läufen intelligent zur Optimierung des Ablaufs. Damit wird die Ausführungsreihenfolge der Transformationen nicht nur nach ihrer logischen Reihenfolge festgelegt, zusätzlich werden Parallelität, zeitliche Optimierung oder Beschränkung von Ressourcen verwendet, um zu entscheiden, welche Aktionen zeitgleich ablaufen können und welche aufgrund ihres Ressourcenbedarfs nicht parallel laufen dürfen. Syntaxhighlighting und Validierung: Die Workbench „versteht“ die verwendete Programmiersprache. Sie bietet den Entwicklern Syntaxhighlighting und vereinfacht dadurch die Programmierung. Daneben lassen sich die SQL-Anwendungen und das grafische Modell validieren, so dass Programmierfehler frühzeitig im Entwicklungstool angezeigt werden und nicht erst zur Laufzeit gefunden werden. Teamentwicklung und Versionierung: Durch den zentralen Datenbankserver, mit dem sich die Entwickler über die Workbench verbinden, wird die Teamarbeit am gemeinsamen Projekt möglich. Mit Hilfe von Datenbanksperren können gleichzeitige Änderungen ausgeschlossen werden. Die Workbench verwendet versionierte Tabellen zur Ablage der Transformationen, wodurch Änderungen mit Autor und Zeitstempel nachvollziehbar gespeichert werden. Plugin-Konzept: Die Transformationsbausteine der datasqill Suite sind Plugins für Workbench und Engine. Neben den Standard-Modulen, die mit der Suite mitgeliefert werden, können Kunden nach Bedarf weitere Module selbst entwickeln, die sich nahtlos in die Workbench und die Engine integrieren lassen. Konnektoren: Konnektoren zu anderen Datenbanken, CRM-Systemen, Finanzsystemen, Webservices usw. lassen sich, soweit nicht bereits im Standardumfang enthalten, ebenfalls leicht entwickeln. Konnektoren können mit Java programmiert und in die Engine integriert werden, wobei auf die Vielzahl der vorhandenen Java-Bibiliotheken wie JDBC-Treiber, Webservice-Frameworks oder proprietäre Frameworks von Drittherstellern zurückgegriffen werden kann. Seite 9 / 10 Förderung und Kooperationen Aufgrund der genannten Neuerungen wurde die datasqill Suite durch das Innovationsprogramm “Bayern Innovativ“ des Freistaats Bayern gefördert. Wir sind stolz darauf, dass die Konzepte und Ideen der Lösung überzeugen konnten und diese Anerkennung erhalten haben. Die Umsetzung der datasqill Suite erfolgte in Zusammenarbeit mit der Hochschule Rosenheim sowie Mitarbeitern der Goethe-Universität Frankfurt. Referenzen „SoftQuadrat hat durch flexible Tools, große Branchenerfahrung und pragmatische Einsätze signifikant zu dem Erfolg unseres Projektes ‚Go Business Intelligence‘ beigetragen. Die durchdachten und zukunftssicheren Lösungen, die den Kern unseres Data Warehouses und der ETL Landschaft bilden, wurden zeit- und kosteneffizient umgesetzt. Die Ergebnisse unserer Zusammenarbeit haben nicht nur unsere internen Kunden zufriedengestellt, sondern wurden auch im Rahmen der Verleihung des ‚CIO des Jahres 2014‘ gewürdigt.“ Christian Grodau Bereichsleiter IT, M-Net Telekommunikations GmbH Impressum SoftQuadrat GmbH Schrenckweg 2 85658 Egmating Telefon: 08095 / 875927 Web: http://www.softquadrat.de E-Mail: [email protected] © 2016 SoftQuadrat GmbH Seite 10 / 10