Dissertation/Thesis Abstract

Specification and Optimization of Analytical Data Flows
by Hüske, Fabian, Ph.D., Technische Universitaet Berlin (Germany), 2016, 210; 27610212
Abstract (Summary)

In der Vergangenheit wurde die überwiegende Mehrheit der Datenanalyseanwendungen durch die Aggregation von relationalen Daten abgedeckt. Seit einigen Jahren entwickelt sich ein Trend der “Big Data” genannt wird und der große Auswirkungen auf den Bereich der Datenanalyse hat. Im Vergleich zu bisherigen Analyseanwendungen, werden nun wesentlich größere Datenmengen mit deutlich aufwändigeren und vielfältigeren Analysemethoden wie zum Beispiel Techniken der Informationsextraktion, des Data Minings, und Verfahren des maschinellen Lernens ausgewertet. Dabei werden auch Daten in die Analyse einbezogen, die weniger stark oder überhaupt nicht strukturiert sind. Die Veränderungen der Eigenschaften von Datenanalyseanwendungen wirken sich auch auf die Anforderungen an Systeme zur Datenverarbeitung aus. Aufgrund des gestiegenen Datenvolumens und des durch komplexere Analyseverfahren deutlich höheren Berechnungsaufwands müssen Daten massiv parallel verarbeitet werden. Die gestiegene Vielfalt von Analyseverfahren und die geringere Struktur der Daten erfordern häufig den Einsatz von benutzerdefinierten Funktionen und Datenstrukturen. Viele traditionelle Datenbanksysteme sind nicht flexibel genug, um diesen Anforderungen gerecht zu werden. Deshalb gibt es ein großes Interesse an neuen Programmierabstraktionen mit denen komplexe und parallele Datenanalyseanwendungen spezifiziert und effizient ausgeführt werden können. Der Erfolg der Anfragesprache SQL hat die Vorzüge von deklarativer Anfragespezifikation, wie zum Beispiel Optimierungspotenzial und Benutzerfreundlichkeit, deutlich gezeigt. Heute nutzt nahezu jedes relationale Datenbanksystem einen Anfrageoptimierer der deklarative Anfragen in physische Ausführungspläne übersetzt. Kostenbasierte Optimierer sind in der Lage aus Milliarden von möglichen Plänen einen effizienten Plan auszuwählen. Allerdings lassen sich traditionelle Optimierungsmethoden nicht ohne weiteres in Systeme integrieren, die neuartige Anwendungsfälle von Datenanalyse unterstützen wollen. Zum Beispiel kann der Einsatz von benutzerdefinierten Operationen das Optimierungspotenzial sehr stark reduzieren. Darüberhinaus sind selten detaillierte Datenstatistiken verfügbar, wenn große unstrukturierte Datensätze analysiert werden. Fehlende Statistiken haben häufig ungenaue Kostenschätzungen des Optimierers und somit die Auswahl von suboptimalen Ausführungsplänen zur Folge. In dieser Arbeit adressieren wir drei Herausforderungen im Kontext der Spezifikation und Optimierung von parallelen Datenanalyseprogrammen mit benutzerdefinierten Funktionen. Zunächst stellen wir ein paralleles Programmiermodell mit deklarativen Eigenschaften vor um Datenanalyseprogramme als Datenflußprogramme zu spezifizieren. In diesem Modell bestehen Datenverarbeitungsoperatoren aus einer systemeigenen Funktion zweiter Ordnung und einer benutzerdefinierten Funktion erster Ordnung. Ein kostenbasierter Optimierer übersetzt Datenflußprogramme, die in unserem Programmiermodell definiert wurden, in parallele Datenflüße. Unser Optimierer baut auf viele Techniken der relationalen Optimierung auf und überträgt sie in die Domäne von universellen parallelen Programmiermodellen. Zweitens präsentieren wir einen Ansatz zur Verbesserung der Optimierung von Datenflußprogrammen, die benutzerdefinierte Operatoren mit unbekannter Semantik enthalten. Wir identifizieren Eigenschaften von Operatoren und Bedingungen, um die Reihenfolge von benachbarten benutzerdefinierten Operatoren zu verändern ohne die Semantik eines Programms zu ändern. Wir zeigen wie diese Eigenschaften für benutzerdefinierte Operatoren vollautomatisch mit Hilfe von statischer Codeanalyse aus deren Quellcode extrahiert werden können. Mit unserem Ansatz können viele relational Optimierungen wie zum Beispiel die Optimierung der Reihenfolge von Filtern, Joins und Aggregationen emuliert werden ohne jedoch auf relationale Operatoren beschränkt zu sein. Drittens analysieren wir den Einfluß von sich verändernden Ausführungsbedingungen wie zum Beispiel variierenden Prädikatselektivitäten und verfügbaren Hauptspeichermengen auf die Laufzeit von relationalen Ausführungsplänen. Wir identifizieren Planeigenschaften, die deutliche Laufzeitschwankungen auslösen können. Im Fall von ungenauen Optimiererschätzungen können Pläne, die diese Eigenschaften enthalten, ein sehr großes Risiko darstellen. Wir präsentieren einen Ansatz, um die Auswahl von riskanten Plänen zu vermeiden. Darüberhinaus stellen wir eine Methode vor, um das Risiko von Ausführungsplänen mit Hilfe eines maschinell-gelernten Modells vorher zusagen. Unsere Evaluation zeigt, dass mit unserem Vorhersagemodell das Risikopotenzial eines Plans besser abgeschätzt werden kann als mit Hilfe eines kostenbasierten Optimierers.

Indexing (document details)
Advisor: Markl, Volker
Commitee:
School: Technische Universitaet Berlin (Germany)
School Location: Germany
Source: DAI-C 81/4(E), Dissertation Abstracts International
Source Type: DISSERTATION
Subjects: Computer science
Keywords: Data flows, Optimization
Publication Number: 27610212
ISBN: 9781392713488
Copyright © 2020 ProQuest LLC. All rights reserved. Terms and Conditions Privacy Policy Cookie Policy
ProQuest