On Enabling Efficient and Scalable Processing of Semi-Structured Data

  • Semi-structured data is a common data format in many domains. It is characterized by a hierarchical structure and a schema that is not fixed. Efficient and scalable processing of this data is therefore challenging, as many existing indexing and processing techniques are not well-suited for this data format. This dissertation presents a novel approach to processing large JSON datasets. We describe a new data processor, JODA, that is designed to process semi-structured data by using all available computing resources and state-of-the-art techniques. Using a custom query language and a vertically-scaling pipeline query execution engine, JODA can process large datasets with high throughput. We optimize JODA by using a novel optimization for iterative query workloads called delta trees, which succinctly represent the changes between two documents. This allows us to process iterative and exploratory queries efficiently. We improve the filtering performance of JODA by implementing a holistic adaptive indexing approach that creates and improves structural and content indices on the fly, depending on the query load. No prior knowledge about the data is required, and the indices are automatically improved over time. JODA is also modularized and can be extended with new user-defined predicates, functions, indices, import, and export functionalities. These modules can be written in an external programming language and integrated into the query execution pipeline at runtime. To evaluate this system against competitors, we introduce a benchmark generator, coined BETZE, which aims to simulate data scientists exploring unknown JSON datasets. The generator can be tweaked to generate query workload with different characteristics, or predefined presets can be used to quickly generate a benchmark. We see that JODA outperforms competitors in most tasks over a wide range of datasets and use-cases.
  • Semi-strukturierte Daten sind ein weit verbreitetes Datenformat, welches in vielen verschiedenen Domänen benutzt wird. Sie zeichnen sich durch eine hierarchische Struktur und ein nicht festes Schema aus. Dies macht es schwierig, diese Daten effizient und skalierbar zu verarbeiten. In dieser Dissertation stellen wir einen neuen Ansatz zur Verarbeitung von großen Mengen an semi-strukturierten Daten vor. Wir beschreiben einen neuen Datenprozessor, JODA, der für die Verarbeitung von semi-strukturierten Daten jegliche verfügbaren Rechenleistung und state-of-the-art Techniken nutzt. Anhand einer eignenen Anfragesprache und einer vertikal skalierenden Query-Verarbeitung, kann JODA große Datensätze mit hoher Durchsatzleistung verarbeiten. Wir optimieren JODA durch eine neue Datenstruktur, Delta Trees, welche die Änderungen zwischen zwei Dokumenten kompakt speichern kann, wodurch iterative Anfragen performanter ausgeführt werden. Dies ermöglicht es, iterative und explorative Anfragen effizient zu verarbeiten. Wir verbessern die Filterleistung von JODA durch die Implementierung einer ganzheitlichen adaptiven Indexierung, die je nach Inhalt der Anfragen während der Anfrageverarbeitung strukturelle und inhaltliche Indizes erstellt und verbessert. Keine vorherige Kenntnis über die Struktur oder den Inhalt der Daten ist erforderlich. Weiterhin werden die Indizes voll-automatisch über die Zeit verbessert. Wir modularisieren JODA um es dem Benutzer zu ermöglichen neue benutzerdefinierte Prädikate, Funktionen, Indizes, Import- und Exportfunktionalitäten zu implementieren. Diese Module können in einer externen Programmiersprache geschrieben werden und zur Laufzeit in die Anfrageverarbeitungspipeline integriert werden. Um dieses System Konkurrenten gegenüberzustellen, haben wir einen Benchmarkgenerator BETZE entwickelt, der Data-Scientists simuliert, die unbekannte JSON-Datensätze untersuchen. Der Generator kann angepasst werden, um Anfragen mit verschiedenen Charakteristiken zu erstellen. Alternativ können vorgefertigte Presets verwendet werden, um schnell einen Benchmark zu generieren. Wir sehen, dass JODA in den meisten Aufgaben, über eine breite Palette von Datensätzen und Anwendungsfällen, besser abschneidet als Konkurrenten.

Download full text files

Export metadata

Metadaten
Author:Nico Schäfer
URN:urn:nbn:de:hbz:386-kluedo-73130
DOI:https://doi.org/10.26204/KLUEDO/7313
Advisor:Sebastian Michel
Document Type:Doctoral Thesis
Language of publication:English
Date of Publication (online):2023/06/13
Year of first Publication:2023
Publishing Institution:Rheinland-Pfälzische Technische Universität Kaiserslautern-Landau
Granting Institution:Rheinland-Pfälzische Technische Universität Kaiserslautern-Landau
Acceptance Date of the Thesis:2023/05/19
Date of the Publication (Server):2023/06/14
Page Number:144
Faculties / Organisational entities:Kaiserslautern - Fachbereich Informatik
CCS-Classification (computer science):H. Information Systems
DDC-Cassification:0 Allgemeines, Informatik, Informationswissenschaft / 004 Informatik
Licence (German):Creative Commons 4.0 - Namensnennung (CC BY 4.0)