Nachdem wir uns mit relevanten Selektionstechniken und mit den unterschiedlichen Arten von internen Tabellen auseinandergesetzt haben, sind die wichtigsten Performanceoptimierungen für die Lookups in unseren BW-Transformationen zunächst einmal sichergestellt.
Hiermit ist das Thema jedoch nicht komplett abgedeckt. Denn bis jetzt sind wir davon ausgegangen, dass nur die relevanten Informationen in unseren Lookup-Tabellen durchsucht werden. Wie können wir dies aber sicherstellen?
Table of Contents
Anhand unseres Beispiels wird in diesem Artikel verdeutlicht, wie man aus der Datenbanktabelle Y nur die relevanten Datensätze in der internen Tabelle Z zum Durchsuchen selektiert. Die Größe der Datenbanktabelle Y ist hier von zentraler Bedeutung. Wenn in der Transformation die Datenpakete 50.000 Datensätzen beinhalten, die Y-Tabelle allerdings Millionen von Datensätzen enthält, muss sichergestellt werden, dass diese nicht bei jedem Datenpaket komplett durchsucht werden.
Um dies zu gewährleisten, wenden wir folgende Vorgehensweise an. Wir nutzen bei der SELECT aus der Datenbank die Anweisung FOR ALL ENTRIES. Dabei sollte man unbedingt folgende Punkten beachten:
Um FOR ALL ENTRIES performant durchzuführen, ist es unabdingbar, immer den vollständigen Schlüssel der zu lesenden LOOKUP-Tabelle abzufragen.
FOR ALL ENTRIES liefert nur eindeutige Schlüsselwerte (siehe DISTINCT).
Wenn FOR ALL ENTRIES verwendet wird, können die Daten nur mit dem Zusatz PRIMARY KEY sortiert aus der Datenbank abgefragt werden (Anweisung: ORDER BY).
Außerdem gelten bei der Verwendung dieses Zusatzes mehrere Einschränkungen, die berücksichtigt werden sollten. Unter anderem kann man damit keine SINGLES, keine UNIONS und keine GROUP BY-Selektionen durchführen.
Da FOR ALL ENTRIES keine Standard-SQL-Anweisung ist, sondern eine SAP-Erweiterung darstellt, wird bei der Verarbeitung auf den unterschiedlichen Datenbanken letztendlich die Anweisung vom ABAP-Stack ins Standard-SQL übersetzt. Bei sehr komplexen FOR ALL ENTRIES bestehen aus dem Grund weitere Optimierungsmöglichkeiten mithilfe von Parametrisierungen oder Hinweisen. Wenn man eine SAP-HANA-Datenbank im Einsatz hat, kann sogar ein Funktionsmodul (RSDU_CREATE_HINT_FAE) Anwendung finden, das die optimale Durchführung von FOR ALL ENTRIES vorbereitet. Weitere hilfreiche Informationen zu dem Thema können den folgenden SAP-Hinweisen entnommen werden:
Du willst den IoT Core durch eine Multi-Cloud-Lösung ersetzen und die Vorteile weiterer IoT-Services von Azure oder Amazon Web Services nutzen? Dann melde Dich bei uns und wir unterstützen Dich bei der Umsetzung mit unserer Expertise und dem b.telligent Partnernetzwerk.
Exasol ist ein führender Hersteller von analytischen Datenbanksystemen. Das Kernprodukt ist eine auf In-Memory-Technologie basierende Software für die professionelle, parallele und schnelle Datenanalyse. Normalerweise werden SQL-Statements in einem SQL-Skript sequenziell abgearbeitet. Wie können aber mehrere Statements gleichzeitig ausgeführt werden? Dies zeigen wir anhand eines einfachen Skripts in diesem Blogbeitrag.
Viele Unternehmen mit SAP-Quellsystemen kennen diese Herausforderung: Sie wollen ihre Daten in einen Azure Data Lake integrieren, um sie dort mit Daten aus anderen Quellsystemen und Applikationen für Reporting und Advanced Analytics weiterzuverarbeiten. Auch die neuen SAP-Informationen zur Nutzung des SAP-ODP-Frameworks führten bei b.telligent Kunden zu Fragen. In diesem Blogbeitrag stellen wir drei gute Ansätze zur Datenintegration (in die Microsoft Azure Cloud) vor, die wir bei b.telligent empfehlen und die von der SAP unterstützt werden.
In Teil 1 fassen wir die Anforderungen der Kunden zusammen.
Viele Unternehmen entscheiden sich im Rahmen ihrer aktuellen Modernisierung- und Digitalisierungsinitiativen, ihr Datawarehouse (DWH) oder auch ihre Datenplattform in die Cloud zu heben. Dieser Beitrag diskutiert aus fachlicher/organisatorischer Sicht, welche Aspekte dafür besonders wichtig sind und welche Strategien dabei helfen, etwaige Risiken zu minimieren. Eine Migration sollte nicht als rein technische Übung verstanden werden. "Weiche" Faktoren und Fachlichkeit haben einen deutlich höheren Einfluss.