Dienstag, 16. Mai 2023

In-Memory Data Management Teil I

 Die Zukunft von Enterprise Computing

Es stellt sich die Frage ob ein neues Datenbank-Management-System wirklich notwendig ist. Die Antwort lautet: Ja! Moderne Unternehmen haben sich dramatisch verändert. Unternehmen basieren auf Informationen mehr als je zuvor. 

Es gibt zwei dominierende Anforderungen an ein modernes Datenbank-Management-System:

=> Daten aus verschiedenen Quellen müssen in einem einzigen Datenbank-Management-System kombiniert werden.

=> Diese Daten müssen in Near- Echtzeit analysiert werden , um eine interaktive Entscheidungsfindung zu unterstützen.

Die folgenden Anforderungen an ein neues Enterprise-Datenbank-Management-System  leiten sich von den Anforderungen für moderne Unternehmen ab.

Verarbeitung von Ereignisdaten

Ereignisdaten beeinflussen Unternehmen heute mehr und mehr. Sie zeichnen sich durch folgende Eigenschaften aus:

=> Jeder Ereignisdatensatz ist im Vergleich zur Größe traditioneller Unternehmensdaten, wie beispielsweise allen Daten, die in einem einzigen Kundenauftrag enthalten sind , klein (einige Bytes oder Kilobytes).

=> Verglichen mit der Menge an Entitäten ist die Anzahl der erzeugten Ereignisse pro Enität hoch, z.B. werden hunderte oder tausende Ereignisse für ein einzelne Produkt erzeugt.

Im Folgenden werden einige Anwendungsfälle von Ereignisdaten in modernen Unternehmen kurz vorgestellt.

Sensordaten

Heutzutage werden Sensoren eingesetzt, um die Funktion einer zunehmenden Anzahl von Systemen zu überwachen. Ein Beispiel ist das Tracking und Tracing von sensiblen Gütern wie Arzneimitteln, Kleidung oder Ersatzteilen. Dabei werden Pakete mit Radio-Frequency Identification (RFID)-Tags oder zweidimensionalen Barcodes, sogenannten QR-Codes, ausgestattet.

Tracking von Arzneimitteln


In Europa werden jährlich ca. 15 Milliarden verschreibungspflichtige Arzneimittel produziert. Diese werden an wichtigen Stellen in der Lieferkette getrackt. Das Tracking der Arzneimittelpackungen führt zu ca. 8.000 Leserereignismeldungen pro Sekunde.  Die In-Memory - Technologie ermöglicht Rückverfolgung von 10 Milliarden Ereignissen in weniger als 100 ms.

Formel-1-Rennwagen


Auch Formel-1-Rennwagen produzieren ein Übermaß an Sensordaten. Diese Sportwagen sind mit bis zu 600 Sensoren ausgestattet, die jeweils hunderte von Ereignissen pro Sekunden aufzeichnen. Abhängig von der Granularität der Datenaufzeichnung werden bei einem zweistündigen Rennen Sensordaten im Giga-oder Terabyte-Bereich erzeugt und erfasst. Die Herausforderung besteht darin, die gewonnenen Daten während des Rennens zu erfassen, zu verarbeiten und zu analysieren, um die Fahrzeugparameter sofort zu optimieren, um beispielsweise Bauteilfehler zu erkennen, den Kraftstoffverbrauch oder die Höchstgeschwindigkeit zu optimieren.

Analyse von Spiel-Ereignissen


personalisierte Inhalte in Online-Spielen sind ein Erfolgsfaktor für die Spiele-Industrie . Die deutsche Firma Bigpoint ist ein Anbieter von Browser-Spielen mit mehr als 200 Millionen aktiven Nutzern.
Ihrer Browser Spiele erzeigen einen stetigen Strom von mehr als 10 000 Ereignissen pro Sekunde, wie aktuelle Level, virtuelle Güter , Spielzeit usw. Bigpoint verfolgt mehr als 800 Millionen Ereignisse pro Tag. Traditionelle Datenbanken unterstützen  keine Verarbeitung solch großer Datenmengen in einer interaktiven Art und Weise. Beispielsweise erfordern Joins oder vollständige Tabellenscans komplexe Indexstrukturen oder optimierte Data-Warehouse-Systeme, um einige ausgewählte Informationen schnell zurückzuliefern. Allerdings können individuelle und flexible Anfragen von Entwicklern oder Marketing-Experten hierbei nicht interaktiv beantwortet werden.

In Memory-Technologie verbessert die Erkennung von Zielgruppen und das Testen von Beta-Funktionen, Echtzeit-Vorhersagen und die Auswertung von Anzeigen-Platzierungen.


Merkmale von Unternehmensanwendungen

Ein Enterprise-Datenbank-Management-System sollte in der Lage sein, Daten zu bearbeiten, die aus mehreren unterschiedlichen Quellen stammen.

=> Transaktionale Daten stammen aus verschiedenen Anwendungen, wie z.B. Enterprise Resource Planning (ERP)-Systemen.

=> Den Ursprung von Event-Processing - und Stream-Daten bilden Maschinen und Sensoren, in der Regel stark ausgelastete Systeme.

=> Echtzeitanalysen stützen sich in der Regel auf strukturierte Daten für Transaktions-Reporting , klassische Vorhersagen, Planung und Simulation.

=> Textanalyse schließlich basiert in der Regel auf unstrukturierten Daten aus dem Web, sozialen Netzwerken, Log-Dateien, Hilfesystemen etc.

OLTP versus OLAP

Ein Enterprise-Datenbank-Management-System sollte in der Lage sein, transaktionale und analytische Abfragetypen, die sich in mehreren Dimensionen unterscheiden , zu verarbeiten.

Die Erstellung von Kundenaufträgen , von Rechnungen, von Abbrechnungsdaten, die Anzeige eines Kundenauftrags für einen einzelnen Kunden oder die Anzeige von Kundenstammdaten stellen typische Abfragen im Online Transaction Processing (OLTP) dar. Das Online Analytical Processing (OLAP) besteht hingegen aus analytischen Abfragen. Typische OLAP-Produkte oder Dienstleistungen an einen Kunden), operatives Reporting oder die Analyse von Trends , die auf früheren Absatzdaten basieren. 

Nachteile der Trennung von OLAP und OLTP

Obwohl die Trennung der Datenbank in zwei Systeme Workload-spezifische Optimierungen in beiden Systemen ermöglicht, hat sie auch eine Reihe von Nachteilen:

=> Das OLAP-System verfügt nicht über die aktuellsten Daten, weil die Latenz zwischen den Systemen von Minuten bis zu Stunden oder sogar Tagen reichen kann. Folglich werden viele Entscheidungen auf veraltenden Daten getroffen, weil die aktuellsten Informationen zum Abfragezeitpunkt zur Verfügung stehen.

=> Im eine akzeptable Leistung zu erreichen , arbeiten OLAP-Systeme mit vordefinierten materialisierten Aggregaten, die jedoch die Flexibilität der Abfragen des Anwenders verringern.

=> Die Redundanz der Daten ist hoch. In beiden Systemen werden gleiche , nur unterschiedlich optimierte Informationen gespeichert.

=>Die Schemata der OLTP- und OLAP-Systeme sind unterschiedlich. Das führt einerseits zu einer erhöhten Komplexität von Anwendungen, die beide Systemtypen nutzen, und anderseits zu einer hohen Komplexität des ETL-Prozess , der die daten zwischen den Systemen synchronisiert.

Kombinieren von OLTP- und OLAP-Daten

Der Hauptvorteil dieser Kombination besteht darin , das sowohl transaktionale als auch analytische Abfragen auf denselben Server mit demselben Satz von Daten ausgeführt werden können. Diese kombinierte Datenquelle stellt eine sog. „Single Source of Truth“ dar, jegliche ETL-Verarbeitung wird damit überflüssig.
Durch den Einsatz moderner Hardware können zusätzlich vorberechnete Aggregate und materialisierte Sichten eliminiert werden, weil Daten-Aggregationen nach Bedarf vorgenommen und virtuelle Sichten auf Daten  (sogenannte Views) zur Verfügung gestellt werden können. Mit einer erwarteten Antwortzeit bei Analyseabfragen von unter einer Sekunden ist es möglich , den analytischen Abfrageprozess der transaktionalen Daten jederzeit und überall direkt durchzuführen. Durch Verzicht auf die Vorausberechnung von Aggregaten und die Materialisierung von Sichten können außerdem Anwendungen  und Datenstrukturen vereinfacht werden, da die Verwaltung von Aggregaten und materialisierten Views (d.h. Deren Aufbau, Pflege und Speicherung ) nicht länger notwendig ist.
Der entstehende gemischte Workload kombiniert die Eigenschaften von OLAP- und OLTP-Workloads . Die Abfragen können sowohl volle Zeilenoperationen aufweisen als auch nur eine kleine Anzahl von Spalten erfassen. Abfragen können einfach oder komplex sein, vorgegeben oder ad hoc. Dies umfasst analytische Abfragen , die mit den aktuellsten Transaktionsdaten laufen und in der Lage sind, Änderungen in Echtzeit zu verwerten.

Folgende Teile werden folgen:

Teil II: in-Memory Datenbank Theorie und Algorithmen

Teil III: SAP HANA Datenbank

Teil IV: SQL Script für SAP HANA

Keine Kommentare:

Kommentar veröffentlichen