E-Book, Deutsch, 523 Seiten
Reihe: SAP Press
Krüger / Dietz Einstieg in SAP HANA
1. Auflage 2021
ISBN: 978-3-8362-8343-4
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection
E-Book, Deutsch, 523 Seiten
Reihe: SAP Press
ISBN: 978-3-8362-8343-4
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection
Wenn Sie im SAP-Umfeld arbeiten möchten, kommen Sie um SAP HANA nicht herum. Die In-Memory-Datenbank, Entwicklungs- und Analytics-Plattform bildet zukünftig die Grundlage für alle SAP-Anwendungen , allen voran SAP S/4HANA. Dieses Buch führt Sie in die Architektur der leistungsstarken Plattform ein, erklärt die Besonderheiten und begleitet Sie bei den wichtigsten Aufgaben im Umgang mit SAP HANA.
»Praktisches Know-how für Studierende, Junior-Admins und -Berater*innen«
Aus dem Inhalt:
- Tabellenstruktur und Speicher
- Komponenten und Schnittstellen
- Multi-Tenancy-Konzept und Systemlandschaften
- Betriebssysteme und Editionen
- Installation und Konfiguration
- Administration
- Monitoring und Protokollierung
- Entwicklung mit SQLScript, Node.js und R
- SAP HANA XS(A)
- Views, Datenbankprozeduren und Funktionen
- Sicherheit und Berechtigungen
Autoren/Hrsg.
Weitere Infos & Material
Einleitung ... 13
1. Was ist SAP HANA? ... 17
1.1 ... Die Datenbank ... 17
1.2 ... Applikationsserver in SAP HANA ... 20
1.3 ... Advanced Analytics mit SAP HANA ... 21
2. SAP HANA als Datenbank ... 25
2.1 ... Das ACID-Prinzip ... 25
2.2 ... Tabellenstrukturen im Speicher von SAP HANA ... 31
2.3 ... Kommmunikationsschnittstellen ... 41
2.4 ... Warm und Hot Storage ... 52
2.5 ... Tabellenpartitionierung ... 66
3. Architektur und Technologie von SAP HANA ... 73
3.1 ... Komponenten der SAP-HANA-Plattform ... 74
3.2 ... Das Multi-Tenancy-Konzept ... 84
3.3 ... Systemlandschaften ... 89
3.4 ... Erweiterung der Hardwareressourcen ... 95
3.5 ... Hochverfügbarkeit ... 102
3.6 ... Betriebssystem ... 115
3.7 ... Editionen von SAP HANA ... 127
4. Einsatzszenarien ... 137
4.1 ... SAP-ERP-Lösungen ... 137
4.2 ... SAP-Data-Warehouse-Lösungen ... 141
4.3 ... Big Data ... 143
4.4 ... SAP Solution Manager ... 145
4.5 ... Native SAP-HANA-Applikationen ... 147
5. Administration ... 153
5.1 ... Sizing ... 154
5.2 ... Installation von SAP HANA ... 159
5.3 ... Platform Lifecycle Management ... 173
5.4 ... Patch-Management ... 178
5.5 ... Backup und Recovery ... 186
5.6 ... Manuelle Prüfungen der SAP-HANA-Datenbank ... 194
6. Administrationsumgebungen ... 211
6.1 ... SAP HANA Studio ... 211
6.2 ... SAP HANA Cockpit ... 225
6.3 ... HDBSQL ... 248
7. Monitoring und Protokollierung ... 253
7.1 ... Performance-Monitoring ... 254
7.2 ... SAP HANA Audit Trail ... 263
7.3 ... Problemanalyse ... 281
8. SAP HANA als Entwicklungsplattform ... 289
8.1 ... Verfügbare Technologien ... 289
8.2 ... SAP HANA Extended Application Services ... 308
8.3 ... Entwicklungsplattformen ... 321
8.4 ... SAP HANA Application Lifecycle Management ... 341
9. Grundlagen der Datenmodellierung ... 355
9.1 ... Design von Datenbanktabellen in SAP HANA ... 355
9.2 ... Views ... 364
10. Big Data ... 383
10.1 ... Grundlagen ... 383
10.2 ... Datenbereitstellung und Remote-Datenquellen für SAP HANA ... 386
10.3 ... Apache Hadoop mit SAP HANA einsetzen ... 392
10.4 ... SAP IQ ... 396
11. Sicherheit und Berechtigungen ... 401
11.1 ... Benutzerverwaltung ... 402
11.2 ... Autorisierung ... 433
11.3 ... Datenverschlüsselung ... 455
11.4 ... Transportverschlüsselung und Netzwerksicherung ... 462
12. Weiterbildung und Unterstützung ... 473
12.1 ... Weiterbildung ... 474
12.2 ... DSAG ... 481
12.3 ... Veranstaltungen ... 482
12.4 ... SAP-Serviceportale ... 483
12.5 ... Dokumentation ... 493
Anhang ... 499
A ... Literaturverzeichnis ... 501
B ... Abkürzungsverzeichnis ... 503
C ... Glossar ... 507
D ... Das Autorenteam ... 509
Index ... 511
2 SAP HANA als Datenbank
Den Kern eines SAP-HANA-Systems bildet die Datenbank, deren Struktur wir Ihnen in diesem Kapitel vorstellen. SAP HANA unterstützt unterschiedliche Strategien zur Datenhaltung: im Speicher und auf der Festplatte. Zusätzlich stellt SAP HANA Kommunikationsschnittstellen bereit, um mit externen Systemen kommunizieren zu können. Sowohl die Datenhaltung als auch die Kommunikation werden in diesem Kapitel besprochen.
Wir nähern uns SAP HANA als Datenbank in diesem Kapitel in fünf Abschnitten. In Abschnitt 2.1 stellen wir Ihnen das ACID-Prinzip für Datenbanktransaktionen vor und beschreiben, wie dieses Prinzip in SAP HANA umgesetzt wurde. In Abschnitt 2.2, »Tabellenstrukturen im Speicher von SAP HANA«, gehen wir genauer auf die Tabellenstrukturen ein. SAP HANA setzt generell auf reihenbasierte Tabellenstrukturen mit einem zusätzlichem Deltaspeicher. In Abschnitt 2.3, »Kommmunikationsschnittstellen«, stellen wir Ihnen die verschiedenen Schnittstellentechnologien vor, die von der SAP-HANA-Datenbank verwendet werden.
Eine Besonderheit von SAP HANA als Datenbank ist, dass sie die Datenhaltung auch außerhalb des Arbeitsspeichers umsetzen kann. Welche Daten wo persistiert werden, ist auch von der Art der Daten abhängig. Die drei zur Verfügung stehenden Möglichkeiten für die Datenhaltung stellen wir Ihnen in Abschnitt 2.4, »Warm und Hot Storage«, vor. In Abschnitt 2.5 erklären wir abschließend noch, was Tabellenpartitionierung ist und wie diese in SAP HANA umgesetzt werden kann.
2.1 Das ACID-Prinzip
Wie bereits erwähnt, ist SAP HANA eine In-Memory-Datenbank. Die Datensätze befinden sich im Normalfall zu 100 % im Arbeitsspeicher der Maschine. Es gibt jedoch auch die Möglichkeit, Daten außerhalb des Arbeitsspeichers zu halten, wie es bei traditionellen Datenbanken der Fall ist. Dieser Möglichkeit bedient man sich z. B. bei weniger häufig abgefragten Daten (siehe Abschnitt 2.4, »Warm und Hot Storage«). Doch selbst, wenn man diese Datenbank-Features intensiv nutzt, befinden sich immer noch sehr viele Datensätze ausschließlich im Arbeitsspeicher.
Dieser Umstand stellt besondere Anforderungen an die Durchführung von Datenbanktransaktionen auf der SAP HANA Engine. Denn wenn die Host-Maschine ausfällt, darf es trotz des Ausfalls nicht zu Datenverlust kommen. Eine Datenbank, die bei einem Ausfall des Stroms, der Hardware oder durch einen Softwarefehler Datensätze verliert, wäre für einen produktiven Einsatz in Unternehmen ungeeignet, denn niemand würde es riskieren, operative Daten zu verlieren. Deshalb muss eine moderne Datenbank wie SAP HANA in der Lage sein, den letzten Zustand vor einem Ausfall jederzeit zu rekonstruieren. Wäre sie dies nicht und ließen sich die verloren gegangenen Datensätze auch in den Datenquellen nicht mehr ausmachen, träte der Worst Case ein.
SAP setzt deshalb bei der SAP-HANA-Datenbank auf das ACID-Prinzip für Datenbanktransaktionen. ACID steht für Atomicity, Consistency, Isolation und Durability, zu Deutsch Atomarität, Konsistenz, Isolation und Dauerhaftigkeit. Jeder dieser vier Teilaspekte des ACID-Prinzips ist wichtig für einen möglichst verlustfreien Datenbankbetrieb. Grund genug, sich diese vier Aspekte in diesem Abschnitt einmal näher anzusehen.
Atomarität bedeutet, dass alle einzelnen Instruktionen einer Transaktion als Einheit zu sehen sind. Eine Transaktion kann aus verschiedenen SQL-Anweisungen wie SELECT, UPDATE etc. bestehen. Sollte eine Anweisung innerhalb einer Transaktion fehlschlagen, gilt die gesamte Transaktion als fehlgeschlagen und nicht nur die fehlerhafte Anweisung. Deshalb kommt es im Fehlerfall zum Rollback der gesamten Transaktion, d. h. zur Wiederherstellung des letzten konsistenten Zustands vor der Ausführung der Transaktion. Aufgrund dieses Verhaltens wird die Umsetzung des Atomaritätsprinzips auch als All-or-nothing-Vorgehen bezeichnet.
Unter einem konsistenten Zustand im Kontext von Datenbanken versteht man, dass alle Daten korrekt sind. Datenkonsistenz ist wichtig für den Betrieb einer Datenbank, da auf der Applikationsschicht (Application Layer) einer betriebswirtschaftlichen Software implizit davon ausgegangen wird, dass die Datensätze konsistent (richtig) sind. Die Anwendungsschicht ist die Schicht, auf der die Softwareprogramme ausgeführt werden. In SAP HANA gehören z. B. die SAP HANA Extended Application Services (XS Engine) oder die Extended Application Services, Advanced Model (XSA Engine), zur Anwendungsschicht. Auf die SAP HANA XS Engine und die SAP XSA Engine gehen wir in Abschnitt 8.2.1, »SAP HANA Extended Application Services, Classic Model«, und Abschnitt 8.2.2, »SAP HANA Extended Application Services, Advanced Model«, näher ein. Aber auch auf der Ebene der betriebswirtschaftlichen Anwendungen in SAP S/4HANA müssen die Daten konsistent vorliegen. Inkonsistenzen im Datenbestand können folglich zu schwerwiegenden Fehlern auf der Anwendungsschicht führen. Sollte durch Ausführen einer Transaktion kein konsistenter Zustand hergestellt werden können, wird die gesamte Transaktion daher zurückgespielt.
Während des Betriebs führt SAP HANA dazu automatisch Konsistenzchecks durch. Sie können jedoch auch manuelle Konsistenzchecks ausführen lassen, sollten Sie dies für notwendig halten. Werden Inkonsistenzen bei einem Check festgestellt, werden diese protokolliert. Die Protokolle können Sie über die View GLOBAL_TABLE_CONSISTENCY einsehen. Dazu verwenden Sie am besten folgende SQL-Anweisung:
Sie können SQL-Anweisungen wie diese in verschiedenen Administrationswerkzeugen ausführen. Mehr dazu erfahren Sie in Kapitel 6, »Administrationsumgebungen«.
Sie sollten bei Abfragen auf diese View, wie hier gezeigt, mit einer WHERE-Klausel den Wert 'INFO' in der Tabellenspalte SEVERITY herausfiltern. Damit erhalten Sie als Rückgabewert nur tatsächliche Inkonsistenzen, da erfolgreiche Konsistenzprüfungen in der Tabelle mit dem Wert 'INFO' gekennzeichnet werden. Einen tieferen Einblick in das Thema Konsistenzchecks erhalten Sie in Abschnitt 5.6.2.
Sehen wir uns als Nächstes das Prinzip der Isolation an. In SAP HANA laufen Transaktionen häufig parallel, um die zur Verfügung stehenden Rechenkerne auszulasten. Jede Transaktion, egal ob parallel oder seriell ausgeführt, muss immer dasselbe Ergebnis liefern. Greifen Transaktionen auf unterschiedliche Tabellen zu, kommt es nicht zu Überschneidungen, und die Isolationsregeln werden automatisch eingehalten. Greifen jedoch mehrere Transaktionen auf denselben Datenbestand zu, müssen diese Zugriffe geregelt werden, um die Isolationsregel nicht zu verletzen. Dies wird erreicht, indem eine Transaktion bei einem Tabellenzugriff diese Tabelle für andere Transaktionen sperrt. Diese Sperre wird erst wieder aufgehoben, wenn die sperrende Transaktion mit ihrem Zugriff auf die Tabelle fertig ist.
In der SAP-Welt ist das Sperren von Tabellen ein großes Thema, da sehr viele Transaktionen auf sehr viele Tabellen zugreifen. Es gibt unterschiedliche Strategien, um Objekte zu sperren. Sollten Sie sich näher mit diesem Themenkomplex im Kontext von SAP HANA befassen wollen, ist der SAP-Hinweis 1999998 eine gute Quelle. Wir werden im Verlauf dieses Buches noch häufiger auf solche SAP-Hinweise verweisen. In Abschnitt 12.4.3, »SAP Support Portal«, erklären wir Ihnen, wie Sie die SAP-Hinweise aufrufen können. In SAP-Hinweis 1999998 werden die unterschiedlichen Sperrverfahren vorgestellt. Ergänzend werden die Views aufgelistet, mit denen Sie Einblick gewinnen können, welche Objekte gerade mit welcher Methode und von welchem Prozess gesperrt sind.
Der vierte Aspekt des ACID-Prinzips, die Dauerhaftigkeit, bedeutet im Datenbankumfeld, dass das Ergebnis einer erfolgreich (also ohne das Auftreten von Inkonsistenzen) durchgeführten Transaktion permanent gespeichert sein muss. Der neue konsistente Zustand muss also auch nach einem Datenbankausfall noch verfügbar sein.
Zur Sicherstellung der Dauerhaftigkeit dient in SAP HANA die Persistenzschicht (Persistance Layer). In Abbildung 2.1 ist die Architektur der SAP-HANA-Datenbank dargestellt. Die Persistenzschicht ist hier im Index Server verortet. Näheres zum Index Server erfahren Sie in Abschnitt 3.1.1. Die Persistenzschicht regelt die Kommunikation zwischen den Datenbank-Engines und dem Storage der Datenbank. Er sorgt so dafür, dass SAP HANA ACID-konform arbeiten kann.
Abbildung 2.1 Datenbankarchitektur von SAP HANA (Quelle: SAP)
Um sicherzustellen, dass bei einem Datenbankausfall kein Datenverlust auftritt, verwendet die Persistenzschicht zwei Speicherbereiche. Diese heißen data und...




