Beim SAPDie SAP SE mit Sitz im baden-württembergischen Walldorf ist ein... HANA SQL Data Warehousing besteht eine hohe Flexibilität hinsichtlich der Nutzung unterschiedlicher Tools.
Der SQL-Ansatz macht insbesondere im Rahmen der angewandten DevOps-Philosophie die Nutzung vieler bekannter (Open-Source-) Tools der Softwareentwicklung möglich. Aber auch die SAP-HANA-Plattform bringt einige wichtige eigene Werkzeuge zur Entwicklung des nativen SAP HANA SQL Data WarehouseEin Data Warehouse ist für die Ausführung, Überwachung und Steuerung... mit. In diesem Blog wollen wir Ihnen diese kurz vorstellen und insgesamt einen Überblick über das Tooling des SAP HANA SQL Data Warehousing geben.
Inhaltsverzeichnis
1.1 Datenintegration
1.1.1 Enterprise Information Management
1.1.2 Smart Data Access
1.2 SAP-HANA-XSA
1.3 SAP Web IDE
1.4 SAP HANA Cockpit
1.5 SAP HANA Database Explorer
3.1 GitGit stellt ein Softwarerepository da, welches in der Softwareentwicklung einen...
3.2 CIContinuous Integration, bedeutet die kontinuierliche Zusammenführung von einzelnen Entwicklungsständen (Feature.../CT/CD
3.3 Issue Tracking
4 Fazit
1 SAP-HANA-Tools
Die SAP-HANA-Plattform verfügt über verschiedene Tools zur Verwaltung und Entwicklung der Plattform. Für den Aufbau des nativen SAP HANA SQL Data Warehouse sind diese entsprechend von Bedeutung.
1.1 Datenintegration
Für ein Data Warehouse gehört die Integration von Daten aus verschiedenen Quellsystemen zur Kernaufgabe. Nachdem lange Jahre das klassische Extract, Transform und Load (ETL) diesen Bereich des Data Warehousing dominiert hat, geht man gegenwärtig vermehrt in die Richtung, die Daten nur virtuell in das Data Warehouse zu übertragen. Darüber hinaus spielen neue NoSQL-Datenbanktechnologien und Big Data eine größere Rolle und müssen mit einer Enterprise-Data-Warehouse-Lösung interagieren. Die SAP-HANA-Plattform als Basis des in diesem Sinne nativen SAP HANA SQL Data Warehousing verfügt über viele Lösungen, die eine bedarfsgerechte und skalierbare Datenintegration ermöglichen. Für einfache Ladevorgänge genügt bereits die Entwicklungsumgebung SAP Web IDE (s. 1 SAP-HANA-Tools) mit der sich graphisch auf Basis von SQL-Befehlen Tabellen aus Quellsystemen befüllen lassen. Für komplexere Szenarien stehen vor allem die Paketlösung Enterprise Information Management (EIM)Was bedeutet EIM? EIM ist die Abkürzung für Enterprise Information... sowie der Dienst SAP HANA Smart Data Access (SDASmart Data Access, um Quellsysteme mit einer JDBC/ODBC Verbindung an...) zur Integration von Daten zur Verfügung.
1.1.1 Enterprise Information Management
Enterprise Information Management ist seit einigen Jahren eine eigene Fachrichtung der Informationstechnologie, die sich mit der Zusammenführung des Managements strukturierter und unstrukturierter Informationen im Unternehmenskontext beschäftigt. SAP hat unter dem Namen entsprechend spezifische Lösungen des Datenmanagements und der Datenintegration zusammengefasst. Für die Datenintegration sind dies die Tools SAP HANA Smart Data Integration (SDISmart Data Integration, um Quellsysteme anzubinden, welche nicht JDBC/ODBC können,...) und SAP HANA Smart Data Quality (SDQ). SDQ ist dabei eine Erweiterung von SDI, die alleinstehend nicht genutzt werden kann. SDI ist das universelle ETL-Tool der SAP-HANA-Plattform, mit dem sich eine große Auswahl von Datenquellen anbinden lässt und Daten, ggf. nach einer Transformation, in die SAP-HANA-Datenbank geladen werden können. Zu den Standard-Konnektoren gehören u. a.:
- ABAP
- SAP Business Warehouse (SAP BW)
- Datenbankmanagementsysteme (u. a. IBM DB2, Oracle, Microsoft SQL Server, Teradata)
- SOAP und OData
- JDBC
- Appache Hive
- Microsoft Office
- Files (z.B. Microsoft Excel)
- Facebook und Twitter
SDI ist in die SAP-HANA-Plattform voll integriert und kann durch das SAP HANA Cockpit verwaltet werden. Zur Nutzung muss auf dem Quellsystem lediglich ein Data Provisioning Agent installiert und mit dem entsprechenden Adapter angebunden werden (Abbildung 1.1). Über die SAP Web IDE können sodann beispielsweise sogenannte Flowgraphs für Datenreplikationsaufgaben gebildet werden. SDQ hilft in diesem Prozess bei der Datenbereinigung. So können auf einfache Weise Datenformate definiert, Dubletten identifiziert und weitere spezifische Regelungen zur Verbesserung der Datenqualität getroffen werden.
Abbildung 01: Data Provisioning mit Enterprise Information Management
1.1.2 Smart Data Access
SAP HANA Smart Data Access (SDA) ist das Tool, dass Datenvirtualisierungen ermöglicht und persistente Replikationen auf der SAP-HANA-Datenbank obsolet macht. SAP spricht im Kontext von SDA daher auch von einer data federation technology, da die Daten in den Quellsystemen verbleiben und sich so eine verteilte Datenlandschaft mit zentralem Zugriff aufbauen lässt. SDA basiert im Wesentlichen auf dem Datenbankstandard ODBC (Open Database Connectivity), wodurch grundsätzlich alle Datenbanken, die diesen Standard unterstützen, für SDA-Verbindungen in Frage kommen. Neben allen gängigen Datenbankmanagementsystemen gehören hierzu aktuell auch Google BigQuery, Apache Hadoop und Apache Spark. Ist auf diese Weise eine Verbindung erstellt, können in der Entwicklungsumgebung SAP Web IDE die Daten in virtuellen Tabellen, die die Metadaten der Quell-Tabellen übernehmen, abgerufen werden. Hierdurch ergibt sich die gleiche Funktionalität wie bei persistenten Tabellen, mit der Möglichkeit der Bildung von Synonymen, Funktionen und Prozeduren.
1.2 SAP HANA XSA
SAP HANA Extended Application Services Advanced Model – kurz XSA – ist der integrierte Anwendungsserver der SAP-HANA-Plattform, der sowohl die Entwicklungs- als auch die Laufzeitumgebung für HANA-Applikationen bietet. Wie der Name andeutet, ist er eine Weiterentwicklung der Ursprungsvariante SAP HANA XS, die bereits zwei Jahre nach Veröffentlichung der SAP-HANA-Datenbank dem Produkt hinzugefügt wurde und die Transformation zur Plattform einleitete. Die grundsätzliche Idee hat sich seitdem nicht geändert. Auf der SAP-HANA-Plattform liegen der XSA-Anwendungsserver und die SAP-HANA-Datenbank unmittelbar nebeneinander. Auf diese Weise wird nicht nur eine Entwicklungsumgebung geschaffen, sondern die Datenverarbeitung rückt in dieser Architektur näher an die Daten heran. Das massenhafte Transferieren von Daten zwischen Datenbank- und Applikationsschicht und hierdurch mögliche Geschwindigkeitsnachteile wird auf diese Weise vermieden. Die SAP-HANA-Plattform steht insofern für einen Paradigmenwechsel von der vorherrschenden Dreischichtarchitektur hin zu einer Zweischichtarchitektur, in der auch komplexe Berechnungen von der Datenbankschicht übernommen und auf diese Weise Performance und Effizienz gesteigert werden. Für die nachfolgend beschriebenen Tools ist SAP HANA XSA daher von entscheidender Bedeutung, da mit dem Anwendungsserver die strukturellen Voraussetzungen der Toolfunktionen geschaffen werden. Im Vergleich zum Vorgänger SAP HANA XS liegt der wesentliche Unterschied darin, dass die XSA über eine nahtlose Integration mit der Cloud-Foundry-Architektur von SAP CloudDer Begriff Cloud stammt aus dem Englischen, zu deutsch "Wolke".... Platform verfügt. Dies macht es möglich, On-Premise zu entwickeln und die Entwicklungen umgehend in der Cloud zu betreiben.
1.3 SAP Web IDE
Bei SAP Web IDE handelt es sich um eine browserbasierte Entwicklungsumgebung mit der Applikationen full-stack, also einschließlich User Interface (UI), Anwendungslogik und Datenbankartefakte erstellt werden können. In diesem Ende-zu-Ende-Entwicklungsprozess kann der ganze Lebenszyklus einer Anwendung mit der SAP Web IDE begleitet werden und die Umgebung unterstützt neben der Möglichkeit zum Entwickeln auch das Debugging, Ausliefern und Testen von Software. Die SAP Web IDE läuft On-Premise auf dem SAP-HANA-XSA-Anwendungsserver bzw. ist Bestandteil von SAP Cloud Platform. Zur Nutzung bedarf es daher keinerlei weiterer Installationen. Für den Aufbau des SAP HANA SQL Data Warehouse ist SAP Web IDE das zentrale Tool zur Entwicklung der Datenbankartefakte. Die Entwicklungsumgebung bringt dazu eine Reihe graphischer Editoren mit, mit deren Hilfe Modelle, Datenlogiken und -ströme einfach aufbereitet werden können, beispielsweise die SAP-HANA-typischen Calculation Views (Abbildung 1.2), Flowgraphs oder Core Data Services. Neben der graphischen Aufbereitung besteht zudem jeweils die Möglichkeit der direkten Codierung in der SAP-HANA-Datenbanksprache SQLScript.
Abbildung 02: SAP Web IDE mit Calculation View
1.4 SAP HANA Cockpit
Das SAP HANA Cockpit ist das webbasierte Administrierungstool der SAP-HANA-Plattform, mit dem sich klassische Verwaltungsaufgaben für die SAP-HANA-Plattform erledigen lassen. So können unter anderem die gesamte SAP-HANA-Systemlandschaft sowie einzelne Systeme wie beispielsweise Tenant-Datenbanken oder HDI-Container konfiguriert und überwacht werden. Die Systemkonfiguration umfasst dabei das Management von Ressourcen, Services und der Performance. Ein weiterer wichtiger Aspekt ist die Verwaltung von Sicherheitsmaßnahmen. Über das SAP HANA Cockpit lassen sich Einstellungen zu Verschlüsselungen, Systemwarnungen und Backups vornehmen. Darüber hinaus steht ein ausgefeiltes Rollen- und Benutzermanagement zur Verfügung.
1.5 SAP HANA Database Explorer
Der SAP HANA Database Explorer verknüpft Elemente, die aus Entwickler- und Administratorsicht von Interesse sind. Er ist daher sowohl in das SAP HANA Cockpit als auch in die SAP Web IDE integriert. Der Explorer enthält den Datenbankkatalog in Form einer Baumstruktur, durch die sich die Inhalte der verschiedenen Schema bzw. HDI-Container auf der Datenbank erforschen sowie Inhalte importieren und exportieren lassen (Abbildung 1.3). Zudem steht eine SQL Console zur Verfügung, mit der Datenabfragen vorgenommen werden können und es gibt Möglichkeiten zum Debugging und zur Überprüfung von Log-Files.
Abbildung 03: SAP HANA Database Explorer
2 SAP PowerDesignerClientbasiertes Modellierungswerkzeug, welches ein Leistungsstarkes Modellierungswerkzeug darstellt. Hierbei können eine...
SAP PowerDesigner ist ein Werkzeug aus dem Bereich computer-aided-software-engineering (CASE), in dem es darum geht durch den Einsatz IT-gestützter Werkzeuge Softwareanwendungen zu entwerfen und möglichst automatisiert zu implementieren. SAP Powerdesigner schafft hier Lösungen für die graphische Analyse und Modellierung von Geschäftsprozessen und ihre Umsetzung in verschiedene Datenmodelle. Das SAP HANA SQL Data Warehousing setzt stark auf entsprechende Modellierungsprozesse und stellt sie in den Mittelpunkt des Aufbaus der Data-Warehouse-Strukturen. SAP PowerDesigner ist daher ein wichtiges Tool im Rahmen des modellgetriebenen SAP HANA SQL Data Warehousing, obwohl es nicht zum Umfang der SAP-HANA-Plattform gehört und separat lizensiert werden muss. Der Funktionsumfang des SAP PowerDesigners teilt sich grundsätzlich in die Bereiche Daten-, Informations- und Unternehmensarchitektur. Für das SAP HANA SQL DWH ist jedoch vor allem der Bereich der Datenarchitektur mit verschiedenen Datenmodellierungstechniken, wie konzeptionelle, logische und physische Datenmodellierung relevant (Abbildung 2.1). Von besonderer Bedeutung ist dabei, dass sich verschiedene Modelle und Modelltypen durch die sogenannte Link-and-Synch-Technologie voll integrieren lassen. Diese Eigenschaft, die unter dem Stichwort Data-Lineage zusammengefasst wird, macht es möglich, Folgenabschätzungen von Veränderungen über die verschiedenen Modelle hinweg durchzuführen und den gesamten Prozess der Datenmodellierung transparent zu machen. Aktualisierung der Datenbankarchitektur spiegeln sich so unmittelbar in den entsprechend vorgelagerten Datenmodellen wider und andersherum. Dementsprechend ist sowohl ein vorwärts gerichtetes Entwickeln, das von konzeptionellen Erwägungen hin zum physischen Datenmodell der Datenbank führt, als auch ein rückwärts gerichteter Ablauf möglich.
Abbildung 04: Konzeptionelles Modell in SAP PowerDesigner
3 DEvOps-Tools
Das SAP HANA SQL Data Warehousing setzt prozessual auf DevOpsWas ist DevOps? Der Begriff DevOps setzt sich aus den... und macht die Vorteile dieser Philosophie für die Entwicklung des Data Warehouse nutzbar zu machen.
Abbildung 3.1 zeigt die typischen Phasen eines DevOps-Zyklus mit der Verbindung der Bereiche Development/Designtime und Operation/Runtime, sowie die übergeordneten Kontinuitätsprozesse. Diese wirken insbesondere auf einen möglichst hohen Automatisierungsgrad der Abläufe hin. Dabei unterstützen spezifische DevOps-Tools, die wir Ihnen speziell für das SAP HANA SQL Data Warehousing im Überblick vorstellen.
Abbildung 05: DevOps-Tools SAP HANA SQL Data Warehousing
3.1 Git
Git ist ein verteiltes Versionskontrollsystem, das heute im Bereich der agilen Softwareentwicklung als Industriestandard für die gemeinsame Verwaltung von Quellcode durch Entwicklungsteams angesehen werden kann. Auch für die DevOps-Philosophie mit den Prozessen Continuous Integration, Continuous Testing und Continuous Delivery ist ein solches Repository von zentraler Bedeutung. Die Git-Technologie wird von verschiedenen kommerziellen Anbietern, wie GitHub, GitLab oder BitBucket offeriert. All diese Varianten sind sehr leicht in die SAP Web IDE einzubinden und können für den Aufbau des SAP HANA SQL Data Warehouse genutzt werden. Dabei sind reine Cloud- aber auch On-Premise-Lösungen möglich.
Continuous Integration, Continuous Testing und Continuous Delivery (CI/CT/CD) gehören zu den Kernprozessen der DevOps-Philosophie, die fließend ineinander übergehen. Im DevOps-Kosmos gibt es für diese Prozesse eine Reihe von Tools, die auf dem Weg zu einem höheren Automatisierungsgrad bei der Entwicklung von Software, oder in unserem Fall einem Data Warehouse, unterstützen. Diese interagieren zumeist stark mit dem bereits genannten Git-Repository. Die Verfügbarkeit von Git in Verbindung mit dem universellen SQL-Standard der SAP-HANA-Plattform führen dazu, dass grundsätzlich keine Einschränkung hinsichtlich der Auswahl spezifischer Tools besteht. In unseren Projekten haben wir beim Aufbau einer automatisierten Deployment-Pipeline gute Erfahrungen mit gängigen Tools wie Jenkins oder Bamboo gemacht.
3.3 Issue Tracking
Eine weitere Kategorie, die Tools für die erfolgreiche Praxis von DevOps bereithält, ist das Issue Tracking. Entsprechende Tools dienen der Problemverfolgung im Softwareentwicklungs-Lebenszyklus. Ein Issue oder Problem kann dabei alles Mögliche von Relevanz sein, wie Bugs, Errors oder aber auch spezifische Funktionalitäten und Features, die noch nicht gänzlich ausgereift sind. Mit den Issue Tracking Tools lassen sich diese Probleme aufnehmen, bewerten und Personen zuweisen. Teilweise ist dies im Zusammenspiel mit den Tools des Bereichs CI/CT/CD sogar automatisch möglich. In DevOps nimmt diese Arbeit unter dem Stichwort Continuous Feedback einen hohen Stellenwert ein. Insbesondere Feedback von Anwendern muss in den Entwicklungs-Lebenszyklus immer wieder miteinfließen und sauber aufgearbeitet werden. Auch hier gibt es eine Reihe an Tools, die in Frage kommen. Und auch hier ergibt sich grundsätzlich keine Einschränkung.
4 Fazit
In diesem Blog haben wir Ihnen einen Überblick über die wesentlichen Tools des SAP HANA SQL Data Warehousing geliefert. Neben einigen nativen Tools der SAP-HANA-Plattform steht Ihnen dabei eine Auswahl an weiteren Drittanbieter-Tools zur Verfügung. Insbesondere zur Unterstützung der DevOps-Prozesse ist die Liste von Helfern und Automatisierungsversprechen lang und speziell für Anwender, die aufgrund ihrer bisherigen Tätigkeit im Data-Warehouse-Umfeld noch keine großen Berührungspunkte mit DevOps und Methoden der agilen Softwareentwicklung zu tun hatten, zunächst verwirrend. In Kürze werden Sie daher weitere Info-Blogs zu diesem Thema auf unsere Website finden. Sollten sich in der Zwischenzeit bereits Fragen ergeben, sprechen Sie uns gerne an.
Autor: Martin Peitz
Stefan Kahle
Senior Executive Manager
SAP Information Management
stefan.kahle@isr.de
+49 (0) 151 422 05 430