Krüger / Dietz | Einstieg in SAP HANA | E-Book | www.sack.de
E-Book

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



Alles Wissenswerte über die In-Memory-Datenbank von SAP

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
Krüger / Dietz Einstieg in SAP HANA jetzt bestellen!

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:

SELECT TOP * FROM "_SYS_STATISTICS"."GLOBAL_TABLE_CONSISTENCY" WHERE "SEVERITY" != 'INFO'

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...


Krüger, Clemens
Clemens Krüger ist SAP-Sicherheitsberater bei Onapsis Inc. Er unterstützt sowohl (Bundes-)Behörden als auch Privatunternehmen dabei, ihre SAP-Landschaften vor Angriffen zu schützen. Diese Position erlaubt es ihm, sein Fachwissen und seine Erfahrung im Bereich SAP-Sicherheit, speziell mit Fokus auf SAP HANA stetig auszubauen. Er führt unter anderem Security Assessments sowie Audits durch und entwickelt Security Roadmaps. Daneben hat er Vorträge auf mehreren IT-Sicherheitskonferenzen gehalten und ein Paper veröffentlicht.Clemens Krüger arbeitet mit verschiedenen SAP-Produkten wie SAP NetWeaver Application Server for ABAP, SAP S/4HANA und SAP Solution Manager, fokussiert sich aber seit Längerem auf SAP HANA. Er hat darüber hinaus ein fundiertes Fachwissen in Bereichen wie Linux und Netzwerksicherung. Bereits während seiner Zeit als Werkstudent bei der Virtual Forge GmbH schrieb er seine Bachelorarbeit über das Thema „Sichere Berechtigungskonzepte in SAP HANA“. Nach dem Master-Abschluss in Advanced Security & Digital Forensics in Edinburgh begann er, als SAP-Sicherheitsberater bei der Virtual Forge GmbH zu arbeiten, die heute zur Onapsis Inc. gehört.

Dietz, Sascha
Sascha Dietz arbeitet als Senior-IT-Security-Berater für die Virtual Forge GmbH, einer Tochterfirma der Onapsis Inc. Seit vier Jahren beschäftigt er sich dort mit SAP-HANA-Datenbanken. Er betreibt eine SAP-HANA-Testlandschaft, um Sicherheitsaspekte zu beleuchten. Seine Schwerpunkte liegen dabei auf der SAP-HANA-Plattform, SUSE Linux Enterprise, SAP HANA Cockpit, SAP Enterprise Threat Detection und SAP HANA Streaming Analytics. Seine Kunden finden sich im öffentlichen Dienst, im Bankwesen sowie unter international agierenden Unternehmen und im Mittelstand. Er führte Projekte zu Security Audits, SAP Enterprise Threat Detection, Angriffsmustererkennung sowie zur Einführung von Sicherheitssoftware zur Erkennung von Code- und Systemschwachstellen durch. Seit einem Jahr ist er als IT-Security Researcher zusätzlich Teil des Onapsis Research Teams. In diesem Rahmen kamen SAP S/4HANA und SAP NetWeaver Application Server for ABAP zu den bisherigen Themenschwerpunkten hinzu. Sein Einstieg in die SAP-Welt erfolgte mit SAP HANA 1.0 als Level-2-Support bei einer internationalen Bank. Um seine Neugier für das Thema SAP HANA befriedigen zu können, wechselte er zur Virtual Forge GmbH.

Dietz, Oliver
Oliver Dietz ist seit einigen Jahren als IT-Security-Berater bei der Virtual Forge GmbH tätig, einer Tochterfirma der Onapsis Inc. In dieser Zeit sammelte er Erfahrungen mit der Implementierung, Administration und dem Betrieb von SAP Enterprise Threat Detection sowie SAP HANA Streaming Analytics. Seine Kundenprojekte umfassten SAP HANA Security Audits sowie die Erarbeitung von Sicherheitskonzepten und die Entwicklung von Security Roadmaps. Seit einem Jahr ist er zusätzlich zu seiner Tätigkeit als IT-Security-Berater auch im Onapsis Research Team als IT-Security Researcher aktiv. In diesem Rahmen beschäftigt er sich mit den Themenschwerpunkten SAP S/4HANA und SAP NetWeaver.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.