Die Verarbeitung von Daten birgt insbesondere mit steigenden Datenmengen große Herausforderungen für die Systemperformance. SAP Datasphere bietet uns daher Möglichkeiten die Performance zu analysieren und die Problemstellen zu lokalisieren. Diese Möglichkeiten werden in diesem Blogbeitrag genauer betrachtet.
SAP Datasphere verwendet SAP HANA Cloud DB. Daher können Tools für die HANA-Performanceanalyse auch für die Analyse der Performance in der Datasphere verwendet werden.
Der Data Integration Monitor
Der Data Integration Monitor unterstützt bei der Überwachung und Verwaltung der Tabellenreplikation aus Quellen außerhalb der SAP Datasphere und zeigt die Häufigkeit der Datenaktualisierungen an.
Es ist einfach zu erkennen, wie viele Tabellen es gibt, wie viel Speicherplatz sie benötigen und welche Aktionen in letzter Zeit durchgeführt wurden. Auch können damit Daten repliziert, persistente Ansichten erstellt, Remote-Verbindungen analysiert und Details zu diesen Aktionen abgerufen werden.
Abbildung 1 – Der Integration Monitor
Queryausführungen, unter denen die Datasphere sämtliche Datenbankabfragen versteht, können im Data Integration Monitor ebenfalls überwacht werden.
Für detaillierte Analysen kann Plan Viz, wie in SAP HANA on prem Systemen, verwendet werden. Der folgende Abschnitt beschreibt den Schritt-für-Schritt-Prozess der HANA PlanViz-Analyse.
Einen SQL-Code für das Datasphere-Datenmodell generieren
- In die Datasphere einloggen und im „Data Builder“ das zu analysierende Datenmodell öffnen
- Im Bereich Edit auf „Preview SQL“ klicken
Abbildung 2 – Der Weg zur Generierung des SQL Codes
Der Code wird angezeigt und kann im nächsten Schritt für die Generierung der PlanViz-Datei verwendet werden.
Abbildung 3 – Der generierte SQL Code
Generieren der PlanViz-Ausgabedatei
Für diesen Schritt wird für die Datasphere ein Database Analysis User benötigt. Erstellt wird der User mit folgenden Schritten:
- In der Datasphere auf System à Configuration klicken.
Abbildung 4 – Das Erstellen eines Database-Analysis Users
- Unter Database Access kann der DB Analysis User erstellt werden. Dazu muss zunächst der technische Username vergeben und die Option „Enable Space Schema Access“ ausgewählt werden. Es besteht weiter die Möglichkeit einen Zeitraum anzugeben, nach dem der Zugang ablaufen soll.
Abbildung 5 – Mögliche Optionen beim Erstellen eines Databse Analysis Users
- Nun wird ein Password generiert. Das Password sollte kopiert und gesichert werden, da es später benötigt wird.
Abbildung 6 – Passwort beim Anlegen eines Database Analysis Users
- Im gleichen Reiter „Database Access“ den User auswählen und anschließend auf „Open Database Explorer“ klicken
Abbildung 7 – Open Database Explorer
Es öffnet sich ein neues Fenster zur Anmeldung bei der SAP Business Technology Plattform. Die Anmeldung kann über „Sign in with default identity provider“ erfolgen. Der DB Analysis User und das generierte Passwort werden dafür verwendet.
Abbildung 8- Anmeldung an SAP Business Technology Plattform
Nach erfolgreicher Anmeldung ist die entsprechende Instanz der Datasphere mit ihren Objekten im linken Teil des Fensters sichtbar. Die SQL-Konsole kann mittels Rechtsklick auf die Instanz über die Auswahl „Open SQL Console“ im Kontextmenü geöffnet werden.
Abbildung 9 – Die SQL Console
- Hier kann der generierte SQL-Code eingefügt werden. Das Schema, in unserem Beispiel „Einkauf_Demo“, muss vor dem Tabellennamen ergänzt werden.
- Auf Ausführen klicken, um den SQL-Code zu prüfen
Abbildung 10 – Den generierte SQL Code testen
Anschließend wird unter „Analyze“ die PlanViz-Datei mit „Generate SQL Analyzer Plan File“ generiert.
Abbildung 11 – PlanViz-Datei generieren
Analyse des visualisierten HANA-Plans
Nach der Speicherung der PlanViz-Datei auf unserem lokalen System kann die Ausführung wie folgt näher analysiert werden:
- Eclipse/HANA Studio starten
- Im Menü auf File klicken und mit „Open file“ die generierte PlanVitz-Datei auswählen.
Abbildung 12 – Öffnen der PlanViz-Datei
- Nun öffnet sich die Datei und eine Analyse der einzelnen Operationen (z. B. Join-Ausführungen, Berechnungszeiten) ist möglich.
Unter „Overview“ finden sich allgemeine Informationen zu den Ausführungszeiten und dem Speicherverbrauch.
Abbildung 13 – Ansicht der PlanViz-Datei
Unter „Executed Plan“ finden sich detaillierte Informationen über die Ausführzeiten der einzelnen Operationen mit der jeweiligen Anzahl an Datensätzen, die genutzte Serverkonten und ggf. Netzwerkübertragungen.
Abbildung 14 – Executed Plan allgemeine Darstellung
Jede Box in der PlanViz-Ausgabe repräsentiert einen sogenannten Plan-Operator (POP). In der PlanViz-Darstellung fließen die Daten von unten nach oben. Das Abfrageergebnis befindet sich oben in der Ansicht und der eigentliche Datenabruf aus Datenbanktabellen befindet sich unten. Die Planoperatoren dazwischen stellen die Transformationen dar. In jeder Box kann durch das Klicken auf den Pfeil oben rechts in die weiteren Operatoren bis hin zur Quelle gelangt werden.
Abbildung 15 – Executed Plan detaillierte Darstellung
Die exklusive Zeit im Knoten bezieht sich auf die Zeit, die zum Ausführen einer einzelnen Operation benötigt wird. Die inklusive Zeit ist die Zeit, die benötigt wird, um die vollständige Operation auszuführen, einschließlich der Zeit der untergeordneten Operatoren und exklusive der Kompilierzeit.
Beladungsschritte mit langen Ausführzeiten und großen Datenmengen stellen potenziell kritische Bereiche dar, für die sich eine detailliertere Analyse des zugrunde liegenden Teils des Datenmodells anbietet. In unserem Beispiel ist zum Beispiel der linke Beladungsschritt mit den 29.953 Datensätzen und einer Ausführzeit von knapp 3 Sekunden ein solcher.
Fazit
Wie dargestellt lassen sich mit einfachen, wenigen Schritten, eine PlanViz Datei aus dem SQL Code eines Datasphereobjekts erstellen und entsprechend analysieren. Dies ist extrem hilfreich, um potenzielle Performanceengpässe in der Datasphere zu identifizieren und zu beheben.