mindsquare.de durchsuchen

SQLScript

Sie brauchen einen SQLScript Berater und/oder möchten, dass wir Ihnen unser Angebot in diesem Umfeld vorstellen?

Ingo Biermann
30. August 2017

SQLScript ist eine Erweiterung zu SQL für SAP HANA. Die Skriptsprache stellt eine prozedurale Erweiterung dar, die imperatives Entwickeln ermöglicht.

Eigenschaften von SQLScript

SQLScript ist eine Sammlung von Erweiterungen zu SQL, die für Prozesse, Daten und Funktionen verwendet wird.

  • SQLScript als Datenerweiterung erlaubt die Definition von Tabellenarten ohne entsprechende Tabellen
  • SQLScript als Funktionserweiterung erlaubt die Definition von (nebenwirkungsfreien) Funktionen, mit denen komplexe Datenströme ausgedrückt und eingekapselt werden können
  • SQLScript als Prozedurale Erweiterung liefert im Kontext des Datenbankprozesses imperative Konstrukte.
Unser E-Book zu SAP HANA

E-Book: SAP HANA

Das E-Book ermöglicht Ihnen einen leichten Einstieg in das Thema SAP HANA und lichtet den Nebel um das Begriffswirrwarr.

Ziel von SQLScript ist es, datenintensive Applikationslogiken in die Datenbank einzubetten. Zum heutigen Stand werden Funktionalitäten nur sehr begrenzt mithilfe von SQL in die Datenbank abgeladen, normalerweise wird der Hauptteil der Logik auf dem Applikationsserver ausgeführt. Daher müssen die zu verarbeitenden Daten von der Datenbank auf den Applikationsserver kopiert werden und umgekehrt. Wenn datenintensive Logik ausgeführt wird, kann dieses Kopieren der Daten sehr viel Verarbeitungs- und Übertragungszeit in Anspruch nehmen. Zudem sind in imperativen Programmiersprachen wie ABAP oder Java Algorithmen der one-tuple-at-a-time-Semantik (z.B. Verwendung von Loops über Tabellenzeilen) beliebt. Diese sind allerdings verglichen mit deklarativen Sprachen wie SQL schwer zu parallelisieren und zu optimieren.

ABAP on HANA Entwicklertraining

In unserer ABAP on HANA Schulung erfahren sie alles, was Sie als ABAP Entwickler wissen müssen, wenn sie Applikationen für die SAP HANA Datenbank vorbereiten, entwickeln und optimieren wollen.

Die HANA Datenbank ist eine moderne Hardware, in der die Datenverarbeitung in-memory stattfindet, sodass auch extrem große Datenmengen quasi in Echtzeit analysiert werden können. Das Ziel der HANA Datenbank ist es, Applikationen zu unterstützen, die den Anwendern helfen, das Potenzial der Datenbank voll auszuschöpfen. Die HANA Datenbank verfügt über ein sehr ausgefeiltes Interface, das sich aus verschiedenen Programmiersprachen zusammensetzt. SQLScript erlaubt es Entwicklern, datenintensive Logiken auf die Datenbank zu pushen. Dabei sind die Gestaltungsmöglichkeiten deutlich umfangreicher als bei OpenSQL.

Vom Aufbau ähnelt SQLScript den Stored Procedures aus dem SQL Standard, allerdings bietet SQLScript deutlich mehr Optimierungsmöglichkeiten. Es sollte immer dann verwendet werden, wenn alternative Modellierungsverfahren für SAP HANA, zum Beispiel Analytic Views oder verschiedene View Typen nicht ausreichen.

Vorteile

SQL Erweiterungen wie SQLScript sollten eingesetzt werden, um zu verhindern, dass Daten in großen Mengen auf den Applikationsserver kopiert werden oder um ausgefeilte Strategien für die parallele Datenverarbeitung in der Datenbank zu nutzen. SQLScript löst folgende verschiedene Limitierungen von SQL:

  • SQL-Abfragen können nur über Views aufgelöst werden. In diesem Fall werden alle zwischenzeitlichen Ergebnisse sichtbar und müssen explizit eingegeben werden. Darüber hinaus können SQL-Sichten können nicht mit Parametern versehen werden, was ihre Wiederverwendung einschränkt. Sie können nur wie Tabellen verwendet und in andere SQL-Anweisungen eingebettet werden.
  • SQL-Abfragen haben keine Features, um Businesslogik, zum Beispiel eine komplexe Währungsumrechnung, auszudrücken. Eine solche Businesslogik kann also nicht an die Datenbank weitergeleitet werden, selbst wenn es sich um Standardaggregationen wie SUM (Sales) handelt.
  • Eine SQL-Abfrage kann nur ein Ergebnis gleichzeitig liefern. Die Berechnung von ähnlichen Ergebnissen muss daher in separate Berechnungen und in der Regel unabhängige Abfragen aufgeteilt werden.
  • SQLScript ermutigt Entwickler, einen setorientierten Ansatz zu wählen, zum Beispiel indem iterative Annäherungsalgorithmen genutzt werden. Es ist allerdings möglich, imperative Konstrukte mit Stored Procedures von deklarativen Konstrukten zu mischen.
Alles HANA?

Alles HANA?! Das Wichtigste zu HANA DB, HANA Cloud Platform und S/4 HANA

Hier stellen wir euch das Trendthema im SAP-Bereich schlechthin vor - SAP HANA!

SQLScript Prozess

Wenn Anwender einen neuen Prozess definieren, zum Beispiel indem sie das CREATE PROCEDURE Statement verwenden, verarbeitet der HANA Datenbank-Compiler die Anfrage ähnlich wie einen SQL-Befehl in drei Schritten:

  1. Die Aussage wird analysiert: Einfache syntaktische Fehler werden erkannt und gemeldet.
  1. Die Aussagen werden auf semantische Korrektheit geprüft: Typen für Variablen werden abgelegt und es wird geprüft, ob ihre Verwendung konsistent ist.
  2. Der Code wird optimiert: Die Optimierung verläuft je nach erkannter Logik unterschiedlich. Unterschieden wird zwischen deklaratorischer Logik, die im oberen Pfad angezeigt wird, und imperative Logik des unteren Pfads.

Der eigentliche SQL-Prozess lässt sich dann in zwei Phasen gliedern:

  1. Compilation
    • Code-Erzeugung: Für deklarative Logiken werden Berechnungsmodelle, die den von SQLScript definierten Datenfluss abbilden. Dieser wird zudem durch die Calculation Engine instanziiert. Bei imperative Logiken werden die Code Blöcke in L-nodes übersetzt.
    • Die Berechnungsmodelle des vorherigen Schrittes werden zu einem gestapelten Berechnungsmodell kombiniert.
  2. Ausführung: Die Ausführung beginnt mit den bindenden Ist-Parametern für die Berechnung. Wenn diese Modelle instanziiert sind, können sie basierend auf konkretem Input optimiert werden.
Ingo Biermann

Websession: SQLScript

Sie möchten mehr zum Thema SQLScript erfahren? Vereinbaren Sie eine kostenlose Websession mit uns. Ich freue mich auf den Austausch mit Ihnen.

Fazit & Best Practices

Mit SQLScript können Applikationen implementiert werden, in denen sowohl imperative Logik als auch funktionale, deklarative Logik verwendet wird. Imperative Logik wird sequentiell ausgeführt. Deklarative Logik wird ausgeführt, indem die innere Architektur von SAP HANA Datenbank ausgeschöpft wird und die Möglichkeit der Parallelverarbeitung genutzt wird.

Sie haben Fragen zur SQLScript?
Sie suchen erfahrene Entwickler mit SQLScript-Knowhow?

mindsquare ist ein Technologie-Beratungsunternehmen, das sich auf die Beratung und Entwicklung im SAP-Umfeld spezialisiert hat. Unsere SAP Berater beschäftigen sich seit vielen Jahren intensiv mit Technologien rund um SAP HANA und haben verschiedene Best Practices entwickelt. Wir beraten Sie gerne bei Ihrer aktuellen Herausforderung und zeigen Ihnen Lösungswege auf. Vereinbaren Sie ein unverbindliches Beratungsgespräch und bringen Sie Ihr SAP-System auf ein neues Level.

Verwandte Know-Hows

Die in der Cloud vorhandene Entwicklungsumgebung SAP Web IDE ist speziell auf SAPUI5 Anwendungen zugeschnitten. Für die Entwicklung individueller oder benutzerorientierter Oberflächen hält sie unzählige Funktionen bereit.
Das SAP Treasury and Risk Management (TRM) besteht aus einer Vielfalt diverser Lösungen. Die Hauptaufgabe des SAP TRM ist die Analyse sowie die damit verbundene Optimierung der Geschäftsprozesse im Finanzbereich.
Business Server Pages erlauben es, mithilfe der Programmiersprache ABAP oder des serverseitigen JavaScript in statische HTML-Inhalte spezielle „Business Server Pages“-Aktionen (BSP) einzubetten, um somit dynamische Seiten zu erzeugen.

Passende Angebote zum Thema

Dieses Angebot ist auch Remote verfügbar Die richtigen Schritte zur richtigen Zeit in Richtung SAP S/4HANA zu gehen, ist die große Herausforderung an SAP-Kunden in den kommenden Jahren. Wichtig dabei: […]
Dieses Angebot ist auch Remote verfügbar Es ist eindeutig klar, dass sich alle SAP Kunden jetzt mit der HANA-Strategie der SAP auseinandersetzen müssen. Wir machen deutlich, warum auch Ihr Unternehmen […]
Im SAP ERP powered by SAP HANA schlummert ein riesiges Performancepotenzial. Wir lokalisieren die Engpässe und steigern die Performance Ihrer Anwendungen.
Kontakt aufnehmen
Ansprechpartner
Laura Feldkamp mindsquare Kundenservice
Laura Feldkamp Kundenservice