Swen Deobald
20. September 2021

SAP Core Data Services (CDS)

SAP Core Data Services (SAP CDS) vereinfacht und harmonisiert die Definition und Verwendung der geschäftlichen Datenmodelle eines Unternehmens. Die Datenmodelle legen dabei ähnlich wie Dateiformate fest, wie bestimmte Typen von Daten (z.B. Kundendaten) standardisiert gespeichert werden.

Durch Datenmodelle können Datenbankinhalte systemübergreifend und von verschiedenen Anwendungen genutzt werden. Das reduziert Entwicklungskosten, erleichtert und beschleunigt die Nutzung und trägt zur Portabilität von Daten bei.

SAP hat in SAP HANA die Core Data Services als Infrastruktur für Datenmodellierung eingeführt. Mit SAP CDS können semantisch reiche, d.h. komplexe Datenmodelle, in SAP HANA gehandhabt werden. Datenmodelle werden hierbei auf der Datenbank im Arbeitsspeicher und nicht wie bisher auf dem Anwendungsserver definiert. Dies bringt erhebliche Performancevorteile und ist eine zentrale Neuerung gegenüber vorigen Lösungen. CDS bietet ferner Funktionen, die über herkömmliche Datenmodellierungstools hinausgehen:

  • SAP CDS liefert ein einheitliches Datenmodell für alle transaktionalen und analytischen Anwendungsbereiche
  • SAP CDS bietet eine semantische Ebene für alle Anwendungsfälle: Suche, Operationen und Analyse
  • Das bedeutet, dass Endnutzer unter Verwendung allgemeiner Geschäftsbegriffe für Berichts- und Analysezwecke auf Daten zugreifen können.
  • SAP CDS erweitert die Datenbanksprache SQL um Vereinfachungen, sodass sich für den Nutzer die technische Komplexität verringert

Datenbankmodell

Ein Datenmodell einer Datenbank legt die Struktur fest, in der Daten in einem Datenbanksystem gespeichert werden. Ein solches Modell hat drei Bestandteile:

  • Eine generische Datenstruktur mit der Art der Datentabellen, z.B. eine Kunden-Tabelle, wobei jeder Kunde in einer Tabellenzeile spaltenweise durch mehrere Attribute definiert ist
  • Operatoren, um Daten einzutragen, abzufragen oder zu ändern
  • Integritätsbedingungen, die die zulässigen Datenbankinhalte sinnvoll einschränken. Dadurch kann z.B. verhindert werden, dass für bestimmte Daten doppelte Einträge angelegt und zu hohe oder zu tiefe Werte eingetragen werden können.

SAP HANA Architektur

SAP HANA ist konsequent als In-Memory-Plattform konzipiert. Daten werden zur Verarbeitung nicht wie bei konventionellen Datenbanken von einer Festplatte bzw. einem Server in den Arbeitsspeicher kopiert, sondern vollständig dort gehalten.

Mit dem SAP HANA-Datenmodell ergibt sich eine große Tabelle ohne Redundanz statt vieler kleiner Tabellen. Der Speicherbedarf kann dadurch gegenüber konventionellen Datenbanken um bis über das 10-fache reduziert werden. Dadurch können die Daten leichter im Arbeitsspeicher gehalten werden. Die Bearbeitung erfolgt hier deutlich schneller, weil  keine Übertragung der Daten zwischen Datenbank und Applikationsservern nötig ist. Auch große (Big Data) Datenmengen können so fast in Echtzeit verarbeitet werden.

Der Datenbank wird nicht nur mitgeteilt, welche Daten für die Verarbeitung benötigt werden, sondern wie diese Daten zu verarbeiten sind. Anstatt die Daten an den Applikationsserver anzuliefern und dann zu verfeinern (“Data-to-Code”), werden sie bereits im Datenbankmanagementsystem in ein End- oder Zwischenprodukt gebracht (“Code-to-Data”). Darauf ist HANA spezialisiert und kann diese Anfragen deshalb in der Regel um ein Vielfaches schneller umsetzen als herkömmliche “Data-to-Code”-Lösungen.

Operationen

Man unterscheidet bei Datenbankoperationen zwischen transaktionalen Prozessen (Online Transaction Processing, OLTP) und analytischen Prozessen (Online Analytical Processing, OLAP). Transaktionale Prozesse bedeuten Schreiben, Lesen und Verändern einzelner Datensätze mit zeilenorientiertem Zugriff in der Datenbanktabelle. Analytische Prozesse meinen den  spaltenorientierten Zugriff auf viele Datensätze, um sie für einen Bericht zu konsolidieren .

Der spaltenorientierte Ansatz erlaubt ein schnelleres Lesen der Daten und verringert aufwendige Speicherprozesse: Ein mehrfach vorkommender Datensatz wird nur einmal gespeichert und die mehrfachen Vorkommen referenziert. Die Ergebnistabellen für häufig vorkommende JOIN-Anfragen einer Datenbank wiederum lassen sich effizienter mit dem zeilenorientierten Ansatz erstellen.

SAP CDS verbindet in SAP HANA die spaltenorientierte  und die zeilenorientierte Arbeitsweise. Damit werden die Vorteile beider Ansätze kombiniert.

SAP BW/4HANA [E-Book]

Sie möchten datengetriebene Entscheidungen treffen? Zukunftssichere Analysen fahren? Jetzt unser BW-E-Book lesen!

SAP CDS-Komponenten

Um semantisch komplexe Arten von Geschäfts- und anderen Datenobjekten einfach zu handhaben, gibt es über die Basissprache SQL hinaus Lösungen wie das Business Object Processing Framework für SAP ABAP oder das Enterprise Objects Framework in Java. Um Fragmentierung, Aufwand und Redundanz durch solche zusätzlichen Lösungen zu vermeiden, führte SAP HANA die Core Data Services als eigene Dienste für komplexe Datenmodelle ein.

SAP CDS unterstützt wie die meisten Datenbanken die Datenbanksprache SQL für Definition, Abfrage und Änderung von Daten. SAP CDS erweitert den SQL-Standard außerdem um Funktionen, die die traditionellen transaktionalen und analytischen Modelle für Datendefinition, Datenabfrage und Datenmanipulation vereinheitlichen. Die Datenmodelle werden in DDL (Data Definition Language) ausgedrückt und sind als sog. CDS-Views  definiert. Diese können in SAP ABAP-Anwendungen für Datenbankzugriff verwendet werden.

SAP CDS umfasst folgende domänenspezifischen Sprachen:

  • Data Definition Language (DDL): Diese Datendefinitionssprache ermöglicht es, semantisch reichhaltige Datenmodelle, d.h. Datenbanktabellen und -ansichten (CDS-Entitäten) und benutzerdefinierter Typen zu definieren
  • Query Language (QL): Diese Abfragesprache erlaubt die effiziente Abfrage von Daten, die auf den DDL-Datenmodellen basieren. Sie erlaubt es ferner, Views zur Vereinfachung des Zugriffs innerhalb der Datenmodelle zu definieren
  • Expression Language (EL): Diese Ausdruckssprache dient bei Abfragen der Query Language zur Festlegung von z.B. Standardwerten und Einschränkungen.

Datendefinitionssprache DDL

Mit der Datendefinitionssprache CDS DDL werden die Datenmodelle der ABAP CDS angelegt. Die CDS DDL bietet Sprachelemente zur Definition und Erweiterung von folgenden CDS-Entitäten:

  • Anweisungen für CDS-Views: DEFINE VIEW und EXTEND VIEW
  • Anweisungen für CDS-Tabellenfunktionen: DEFINE TABLE FUNCTION
  • Sprachelemente für verschiedene CDS-Entitäten: Typisierungen, Eingabeparameter, Elementnotationen

Mit SAP CDS können dadurch Datenmodelle definiert werden, die folgende Elemente enthalten:

  • Entitäten für die Ausprägungen von Objekten oder Sachverhalten durch Angabe von Attributen
  • Assoziationen für die Beziehungen zwischen Entitäten
  • Ansichten /Views für vereinfachte Datenbankabfragen
  • Annotationen für die Anreicherung der Ansichten mit beschreibenden Daten (Metadaten) über die SQL-Syntax hinaus
  • Zuordnungen zwischen Entitäten und Ansichten
  • Benutzerdefinierte Datentypen

Vorteile

SAP CDS bietet eine Reihe von Vorteilen für Unternehmen und Entwickler. Besonders hilfreich sind folgende Eigenschaften von SAP CDS:

Semantisch reiche Datenmodelle

CDS baut auf dem bekannten Entity-Relationship-Modell auf und ist deklarativer Natur, d.h. sehr nah am konzeptionellen Denken. Das macht die Arbeit mit CDS deutlich intuitiver.

Effizienz

CDS bietet eine Vielzahl hocheffizienter integrierter Funktionen zum Erstellen von Ansichten wie SQL-Operatoren, Aggregationen und Ausdrücke. Dadurch ist CDS äußerst effizient.

Kompatibilität

Die CDS Dienste basieren auf Open SQL, das von allen wichtigen Datenbankanbietern unterstützt wird. Die hohe Kompatibilität macht die Implementierung und Nutzung sehr unkompliziert.

Annotationen

Die CDS Syntax unterstützt domänenspezifische Annotationen zur Anreicherung der Datenmodelle mit zusätzlichen (domänenspezifischen) Metadaten, die von anderen Komponenten wie der Benutzeroberfläche und den Analyse-Diensten ausgewertet werden können.

Konzeptionelle Assoziationen

Mit CDS können Verknüpfungen als Beziehungen zwischen verschiedenen Ansichten definiert werden. Dadurch können Verknüpfungen durch einfachere Ausdrücke in Abfragen ersetzt werden.

Erweiterbarkeit

Von SAP definierte CDS-Ansichten können mit Feldern erweitert werden, die der CDS-Ansicht zusammen mit ihrer Verwendungshierarchie automatisch hinzugefügt werden.

SAP CDS in SAP HANA

Mit der Entwicklung von SAP HANA fand insgesamt ein Paradigmenwechsel in der SAP Software  statt. Datenintensive Logik wurde auf die Datenbankebene verlagert. Anstatt Daten für Operationen aus Datenbanken zunächst in einen temporären Speicher zu kopieren, werden Operationen wenn möglich direkt in der im Arbeitsspeicher liegenden Datenbank ausgeführt. Dadurch kann eine höhere Performance erzielt werden.

SAP ABAP

SAP ABAP (Advanced Business Application Programming) ist eine Plattform zur Entwicklung von individuellen SAP-Anwendungen. Die Datenmodellierung kann durch Core Data Services in SAP HANA und auf dem SAP ABAP Anwendungsserver nach denselben Entwurfsprinzipien erfolgen.

Um die Vorteile von SAP HANA für die Anwendungsentwicklung zu nutzen, hat SAP die Core Data Services als neue Datenmodellierungsinfrastruktur auch in SAP ABAP eingeführt. Mit Datenmodellen wird dadurch nicht auf dem Anwendungsserver, sondern auf dem Datenbankserver gearbeitet. Datenmodelle können unabhängig von der SAP Technologieplattform (ABAP oder HANA) auf dieselbe Weise definiert und verwendet werden.

SAP CDS

ABAP Dictionary

Um (Geschäfts-) Anwendungen zu entwickeln, werden Werkzeug zur Datenmodellierung benötigt. Auf dem ABAP Anwendungsserver wurden dazu bisher das ABAP Dictionary oder Werkzeuge wie der Data Modeler verwendet. Das ABAP Dictionary ist ein plattformunabhängiges Metadaten-Repository für Datenbanktabellen und Datenbanksichten, auf die in ABAP mit Open SQL zugegriffen werden kann. Es enthält vordefinierte Objektewie Datenbanktabellen und Views, die in ABAP Programmen verwendet werden können.

Die Definition der Datenbankentitäten erfolgt im ABAP Dictionary Tool auf dem Applikationsserver. Mit SAP HANA und der Möglichkeit, Anwendungen direkt auf der Datenbank zu entwickeln, ohne einen Anwendungsserver mehr zu verwenden, entstand die Notwendigkeit, ein Metamodell-Repository direkt auf der Datenbank zu erstellen. Wie beim ABAP Dictionary auf dem Anwendungsserver sollte mehr möglich sein als die Verwendung von CREATE TABLE oder CREATE VIEW in SQL. Reine technische Definitionen sollten für eine einfachere Handhabung von Geschäftsprozessen um Semantik angereichert werden können. Diese Aufgaben deckt SAP CDS erfolgreich ab.

Da das ABAP Dictionary mit seiner Fähigkeit, Tabellen, Views und Datentypen zu definieren bereits vorhanden war, wurde SAP CDS auf dem ABAP Application Server eingeführt, indem man es dem ABAP Dictionary hinzufügte. Die in einer DDL-Datei definierten CDS-Entitäten werden bei der Ausführung zu ABAP Dictionary Objekten. Sie arbeiten dann als ABAP Typen, auf die mit Open SQL zugegriffen werden kann.

CDS-Ansichten

In einem ersten Schritt wurden die erweiterten Funktionen zum Erstellen von SAP CDS Ansichten in ABAP CDS implementiert. Für vorhandene ABAP Datenmodelle, die bereits im ABAP Dictionary definiert sind, steht mit der DEFINE VIEW Anweisung von ABAP CDS das gesamte erweiternde SAP CDS Universum zur Verfügung. Sie können entweder komplexe neue Ansichten definieren oder eine vorhandene Tabelle einfach semantisch über eine CDS Ansicht anreichern.

Beispielsweise bietet ABAP CDS ein neues Berechtigungskonzept an, das auf Rollen basiert, die mit DEFINE ROLE definiert sind. Dazu muss nur eine SAP CDS Sicht für diese Tabelle erstellt werden, die mit einer Rolle verbunden ist.

Weitere Beispiele sind erweiterte Verknüpfungen von Tabellen mit Assoziationen oder die Verwendung von Annotationen, um vorhandene Tabellen mit neuen Technologien wie OData oder UI5 zu verbinden. OData ist ein plattformunabhängiges Protokoll von Microsoft,das Datenkompatibilität zwischen Softwaresystemen herstellt. Dadurch können Daten aus unterschiedlichen Quellen integriert werden. UI5 ist ein JavaScript-Framework, das der betriebssystemunabhängigen Entwicklung von Geschäftsanwendungen dient.

SAP CDS-Architektur

Die Architektur von SAP CDS lässt sich in die Datenbankebene, die Anwendungsebene sowie die Präsentationsebene unterteilen:

Datenbankebene – Diese Ebene kann mit den meisten gängigen Datenbanken wie Oracle, SAP HANA usw. konfiguriert werden. Für die Ausnutzung aller Möglichkeiten wird SAP HANA empfohlen.

Anwendungsebene – Diese Schicht enthält die Komponenten AS ABAP Backend und SAP Gateway. Ihre Funktionalität wird über sogenannte Remote Function Call Aufrufe integriert.

Präsentationsebene  – Diese Schicht enthält die SAP Fiori Benutzeroberfläche zum Anzeigen der Anwendungen für den Endnutzer.

ABAP CDS vs. HANA CDS

Die Implementierungen von HANA CDS und ABAP CDS werden fortlaufend mit unterschiedlichen Prioritäten durchgeführt und sind bisher immer auf einem leicht versetzten Stand.

Während HANA CDS nur auf SAP HANA funktionieren muss, ist ABAP CDS auch für andere ERP Systeme geöffnet. Folglich gibt es einige Einschränkungen für ABAP CDS, die für HANA CDS nicht existieren.  Das ist damit vergleichbar, dass Open SQL eingeschränkter ist als Native SQL. Ein Beispiel dafür sind eingebaute Funktionen. Eine eingebaute Funktion wie CURRENCY_CONVERSION, die in ABAP CDS angeboten wird, muss auf jeder Datenbankplattform verfügbar sein und sich auf allen Plattformen gleich verhalten. Dasselbe gilt für arithmetische Ausdrücke, Aggregate oder den CAST-Ausdruck.

Darüber hinaus gibt es in ABAP Besonderheiten wie Client Handling oder Tabellenpufferung, die in HANA CDS nicht verfügbar sind, aber in ABAP CDS unterstützt werden.

Fazit

CDS wurde als Infrastruktur für Datenmodellierung in SAP HANA eingeführt, um die Definition und Verwendung von den geschäftlichen Datenmodellen eines Unternehmens zu vereinfachen. Anstatt Daten zunächst in einen temporären Speicher zu kopieren, werden Operationen möglichst direkt im Arbeitsspeicher ausgeführt. Vorteile von CDS sind dabei beispielsweise die Kompatibilität, die Effizienz sowie die Erweiterbarkeit. Um alle Vorteile von SAP HANA zu nutzen, hat SAP die CDS auch in SAP ABAP eingeführt.

Swen Deobald

Swen Deobald

Mein Name ist Swen Deobald und ich bin begeisterter SAP Analytics Berater. Als Fachbereichsleiter von Compamind unterstütze ich Sie mit meinem Team bei allen Fragen rund um SAP Analytics, Business Warehouse, BusinessObjects und der SAP Analytics Cloud.

Sie haben Fragen? Kontaktieren Sie mich!


Das könnte Sie auch interessieren:

SAP Analytics

Das könnte Sie auch interessieren

Bei der Rekrutierung ist im Moment viel los und die innovativen Technologien verändern die Art und Weise, wie die Personalbeschaffung funktioniert. So profitieren Sie davon!

weiterlesen

Mit dem Analytics Hub von SAP können Anwender in den Unternehmen noch einfacher auf die Analytics-Lösungen in ihrer SAP Cloud zugreifen. SAP Cloud und Hub arbeiten also Hand in Hand. Damit soll es noch einfacher sein, anhand des gespeicherten Contents […]

weiterlesen

In unserer digitalen Welt ist die effektive Datenverarbeitung in Echtzeit einer der wichtigsten Schlüssel zum Erfolg. Dabei entstehen in jedem Unternehmen tagtäglich neue Informationen, die adäquat gesammelt, verwaltet, weiterverarbeitet und gewartet werden müssen.

weiterlesen

Unsere Produkte zu SAP Core Data Services (CDS)

Ihr Reporting besteht noch aus Exceltabellen? Für ein professionelles Frontend-Tool fehlt das Knowhow? Mit unserem Einführungsleitfaden für SAP BO schließen wir diese Lücke!

Mehr Informationen

SAP Analytics Updates im Reporting-Umfeld sind verwirrend und sowohl Manager als auch Entwickler behalten kaum den Überblick. Lassen Sie sich nicht ins Boxhorn jagen! Bevor Sie Ihre wertvolle Zeit verschwenden, lassen Sie sich die Updates doch einfach übersichtlich und verständlich […]

Mehr Informationen

BW-Datenflüsse erstellen ist aufwendig und nicht in Ihr Tagesgeschäft zu integrieren? Mit unserem standardisierten Vorgehen zur Konzeption können Sie sich weiter den wichtigen Aufgaben im Unternehmen widmen!

Mehr Informationen

Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.





Kontaktieren Sie uns!
Marie Frösener Kundenservice