datasqill Whitepaper.

Werbung
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
Herunterladen