TY - THES A1 - Benson, Lawrence T1 - Efficient state management with persistent memory N2 - Efficiently managing large state is a key challenge for data management systems. Traditionally, state is split into fast but volatile state in memory for processing and persistent but slow state on secondary storage for durability. Persistent memory (PMem), as a new technology in the storage hierarchy, blurs the lines between these states by offering both byte-addressability and low latency like DRAM as well persistence like secondary storage. These characteristics have the potential to cause a major performance shift in database systems. Driven by the potential impact that PMem has on data management systems, in this thesis we explore their use of PMem. We first evaluate the performance of real PMem hardware in the form of Intel Optane in a wide range of setups. To this end, we propose PerMA-Bench, a configurable benchmark framework that allows users to evaluate the performance of customizable database-related PMem access. Based on experimental results obtained with PerMA-Bench, we discuss findings and identify general and implementation-specific aspects that influence PMem performance and should be considered in future work to improve PMem-aware designs. We then propose Viper, a hybrid PMem-DRAM key-value store. Based on PMem-aware access patterns, we show how to leverage PMem and DRAM efficiently to design a key database component. Our evaluation shows that Viper outperforms existing key-value stores by 4–18x for inserts while offering full data persistence and achieving similar or better lookup performance. Next, we show which changes must be made to integrate PMem components into larger systems. By the example of stream processing engines, we highlight limitations of current designs and propose a prototype engine that overcomes these limitations. This allows our prototype to fully leverage PMem's performance for its internal state management. Finally, in light of Optane's discontinuation, we discuss how insights from PMem research can be transferred to future multi-tier memory setups by the example of Compute Express Link (CXL). Overall, we show that PMem offers high performance for state management, bridging the gap between fast but volatile DRAM and persistent but slow secondary storage. Although Optane was discontinued, new memory technologies are continuously emerging in various forms and we outline how novel designs for them can build on insights from existing PMem research. N2 - Die effiziente Verwaltung großer Zustände ist eine zentrale Herausforderung für Datenverwaltungssysteme. Traditionell wird der Zustand in einen schnellen, aber flüchtigen Zustand im Speicher für die Verarbeitung und einen persistenten, aber langsamen Zustand im Sekundärspeicher für die Speicherung unterteilt. Persistenter Speicher (PMem), eine neue Technologie in der Speicherhierarchie, lässt die Grenzen zwischen diesen Zuständen verschwimmen, indem er sowohl Byte-Adressierbarkeit und geringe Latenz wie DRAM als auch Persistenz wie Sekundärspeicher bietet. Diese Eigenschaften haben das Potenzial, die Leistung von Datenbanksystemen grundlegend zu verändern. Aufgrund der potenziellen Auswirkungen, die PMem auf Datenverwaltungssysteme hat, untersuchen wir in dieser Arbeit ihre Verwendung von PMem. Zunächst evaluieren wir die Leistung von echter PMem-Hardware in Form von Intel Optane in einer Vielzahl von Konfigurationen. Zu diesem Zweck stellen wir PerMA-Bench vor, ein konfigurierbares Benchmark-Framework, mit dem Benutzer die Leistung von anpassbaren datenbankbezogenen PMem-Zugriffen untersuchen können. Auf der Grundlage der mit PerMA-Bench erzielten experimentellen Ergebnisse diskutieren wir unsere Erkenntnisse und identifizieren allgemeine und implementierungsspezifische Aspekte, die die PMem-Leistung beeinflussen und in zukünftigen Arbeiten berücksichtigt werden sollten, um PMem-fähige Designs zu verbessern. Anschließend präsentieren wir Viper, einen hybriden PMem-DRAM Key-Value-Store. Basierend auf PMem-bewussten Zugriffsmustern zeigen wir, wie PMem und DRAM effizient genutzt werden können, um eine wichtige Datenbankkomponente zu entwickeln. Unsere Evaluierung zeigt, dass Viper bestehende Key-Value-Stores bei Einfügungen um 4- bis 18-mal übertrifft, während er gleichzeitig vollständige Datenpersistenz bietet und ähnliche oder bessere Lookup-Leistung erzielt. Als nächstes zeigen wir, welche Änderungen vorgenommen werden müssen, um PMem-Komponenten in größere Systeme zu integrieren. Am Beispiel von Datenstromverarbeitungssystemen zeigen wir die Einschränkungen aktueller Designs auf und stellen einen Prototyp eines Systems vor, das diese Einschränkungen überwindet. Dadurch kann unser Prototyp die Leistung von PMem für die interne Zustandsverwaltung voll ausnutzen. Schließlich erörtern wir angesichts der Abkündigung von Optane, wie Erkenntnisse aus der PMem-Forschung am Beispiel von Compute Express Link (CXL) auf künftige mehrstufige Speicher-Setups übertragen werden können. Insgesamt zeigen wir, dass PMem eine hohe Leistungsfähigkeit für die Zustandsverwaltung bietet und die Lücke zwischen schnellem, aber flüchtigem DRAM und beständigem, aber langsamem Sekundärspeicher schließt. Obwohl Optane eingestellt wurde, entstehen ständig neue Speichertechnologien in verschiedenen Formen, und wir skizzieren, wie neuartige Entwürfe für sie auf den Erkenntnissen aus der bestehenden PMem-Forschung aufbauen können. KW - persistent memory KW - pmem KW - database KW - data management KW - state management KW - Datenverwaltung KW - Datenbank KW - persistenter Speicher KW - pmem KW - Zustandsverwaltung Y1 - 2024 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus4-625637 ER - TY - THES A1 - Hameed, Mazhar T1 - Structural preparation of raw data files T1 - Strukturelle Aufbereitung von unverarbeiteten Dateien N2 - Data preparation stands as a cornerstone in the landscape of data science workflows, commanding a significant portion—approximately 80%—of a data scientist's time. The extensive time consumption in data preparation is primarily attributed to the intricate challenge faced by data scientists in devising tailored solutions for downstream tasks. This complexity is further magnified by the inadequate availability of metadata, the often ad-hoc nature of preparation tasks, and the necessity for data scientists to grapple with a diverse range of sophisticated tools, each presenting its unique intricacies and demands for proficiency. Previous research in data management has traditionally concentrated on preparing the content within columns and rows of a relational table, addressing tasks, such as string disambiguation, date standardization, or numeric value normalization, commonly referred to as data cleaning. This focus assumes a perfectly structured input table. Consequently, the mentioned data cleaning tasks can be effectively applied only after the table has been successfully loaded into the respective data cleaning environment, typically in the later stages of the data processing pipeline. While current data cleaning tools are well-suited for relational tables, extensive data repositories frequently contain data stored in plain text files, such as CSV files, due to their adaptable standard. Consequently, these files often exhibit tables with a flexible layout of rows and columns, lacking a relational structure. This flexibility often results in data being distributed across cells in arbitrary positions, typically guided by user-specified formatting guidelines. Effectively extracting and leveraging these tables in subsequent processing stages necessitates accurate parsing. This thesis emphasizes what we define as the “structure” of a data file—the fundamental characters within a file essential for parsing and comprehending its content. Concentrating on the initial stages of the data preprocessing pipeline, this thesis addresses two crucial aspects: comprehending the structural layout of a table within a raw data file and automatically identifying and rectifying any structural issues that might hinder its parsing. Although these issues may not directly impact the table's content, they pose significant challenges in parsing the table within the file. Our initial contribution comprises an extensive survey of commercially available data preparation tools. This survey thoroughly examines their distinct features, the lacking features, and the necessity for preliminary data processing despite these tools. The primary goal is to elucidate the current state-of-the-art in data preparation systems while identifying areas for enhancement. Furthermore, the survey explores the encountered challenges in data preprocessing, emphasizing opportunities for future research and improvement. Next, we propose a novel data preparation pipeline designed for detecting and correcting structural errors. The aim of this pipeline is to assist users at the initial preprocessing stage by ensuring the correct loading of their data into their preferred systems. Our approach begins by introducing SURAGH, an unsupervised system that utilizes a pattern-based method to identify dominant patterns within a file, independent of external information, such as data types, row structures, or schemata. By identifying deviations from the dominant pattern, it detects ill-formed rows. Subsequently, our structure correction system, TASHEEH, gathers the identified ill-formed rows along with dominant patterns and employs a novel pattern transformation algebra to automatically rectify errors. Our pipeline serves as an end-to-end solution, transforming a structurally broken CSV file into a well-formatted one, usually suitable for seamless loading. Finally, we introduce MORPHER, a user-friendly GUI integrating the functionalities of both SURAGH and TASHEEH. This interface empowers users to access the pipeline's features through visual elements. Our extensive experiments demonstrate the effectiveness of our data preparation systems, requiring no user involvement. Both SURAGH and TASHEEH outperform existing state-of-the-art methods significantly in both precision and recall. N2 - Die Datenaufbereitung ist ein wesentlicher Bestandteil von Data-Science-Workflows und nimmt einen beträchtlichen Teil - etwa 80% - der Zeit eines Datenwissenschaftlers in Anspruch. Der hohe Zeitaufwand für die Datenaufbereitung ist in erster Linie auf die komplizierte Herausforderung zurückzuführen, der sich Datenwissenschaftler bei der Entwicklung maßgeschneiderter Lösungen für nachgelagerte Aufgaben gegenübersehen. Diese Komplexität wird noch verstärkt durch die unzureichende Verfügbarkeit von Metadaten, den oft ad-hoc-Charakter der Aufbereitungsaufgaben und die Notwendigkeit für Datenwissenschaftler, sich mit einer Vielzahl von hochentwickelten Tools auseinanderzusetzen, von denen jedes seine eigenen Schwierigkeiten und Anforderungen an dessen Beherrschung aufweist. Bisherige Forschung im Bereich der Datenverwaltung konzentriert sich traditionell auf die Aufbereitung der Inhalte innerhalb der Spalten und Zeilen einer relationalen Tabelle und befasst sich mit Aufgaben wie der Disambiguierung von Zeichenketten, der Standardisierung von Datumsangaben oder der Normalisierung numerischer Werte, die gemeinhin unter dem Begriff der Datenbereinigung zusammengefasst werden. Dieser Forschungsschwerpunkt geht von einer perfekt strukturierten Eingabetabelle aus. Folglich können die genannten Datenbereinigungsaufgaben erst dann effektiv durchgeführt werden, wenn die Tabelle erfolgreich in die entsprechende Datenbereinigungsumgebung geladen wurde, was in der Regel in den späteren Phasen der Datenverarbeitungspipeline geschieht. Während aktuelle Datenbereinigungstools gut für relationale Tabellen geeignet sind, enthalten große Datenrrepositories aufgrund ihres flexiblen Standards häufig Daten, die in reinen Textdateien, wie z. B. CSV-Dateien, gespeichert sind. Folglich weisen diese Dateien oft Tabellen mit einem flexiblen Layout von Zeilen und Spalten auf, denen eine relationale Struktur fehlt. Diese Flexibilität führt häufig dazu, dass die Daten beliebig über die einzelnen Zellen der Tabelle verteilt sind, was in der Regel durch benutzerdefinierte Formatierungsrichtlinien gesteuert wird. Um diese Tabellen effektiv zu extrahieren und in den nachgelagerten Verarbeitungsschritten nutzen zu können, ist ein präzises Parsen erforderlich. In dieser Arbeit wird der Schwerpunkt auf das gelegt, was wir als “Struktur” einer Datendatei definieren - die grundlegenden Zeichen innerhalb einer Datei, die für das Parsen und Verstehen ihres Inhalts wesentlich sind. Die vorliegende Arbeit konzentriert sich auf die ersten Stufen der Datenvorverarbeitung und behandelt zwei entscheidende Aspekte: Das Verstehen des strukturellen Layouts einer Tabelle in einer Rohdatendatei und das automatische Erkennen und Korrigieren von strukturellen Problemen, die das Parsen der Datei erschweren könnten. Auch wenn sich diese Probleme nicht direkt auf den Inhalt der Tabelle auswirken, stellen sie eine große Herausforderung beim Parsen der Tabelle in der Datei dar. Unser erster Beitrag besteht aus einem umfassenden Überblick über kommerziell verfügbare Datenaufbereitungstools. In dieser Übersicht werden ihre besonderen Merkmale, die fehlenden Merkmale und die Notwendigkeit einer vorläufigen Datenverarbeitung trotz dieser Werkzeuge eingehend untersucht. Das primäre Ziel ist es, den aktuellen Stand der Technik bei den Datenaufbereitungssystemen zu ermitteln und gleichzeitig Bereiche zu identifizieren, die verbessert werden können. Darüber hinaus werden die bei der Datenvorverarbeitung aufgetretenen Herausforderungen untersucht und Möglichkeiten für künftige Forschung und Weiterentwicklungen aufgezeigt. Als Nächstes schlagen wir eine neuartige Datenaufbereitungspipeline zur Erkennung und Korrektur von strukturellen Fehlern vor. Ziel dieser Pipeline ist es, die Nutzer in der anfänglichen Vorverarbeitungsphase zu unterstützen, indem das korrekte Laden ihrer Daten in ihre bevorzugten Systeme sichergestellt wird. Unser Ansatz beginnt mit der Einführung von SURAGH, einem unüberwachten System, das eine musterbasierte Methode verwendet, um dominante Muster innerhalb einer Datei zu identifizieren, unabhängig von externen Informationen wie Datentypen, Zeilenstrukturen oder Schemata. Durch die Identifizierung von Abweichungen vom vorherrschenden Muster werden fehlerhafte Zeilen erkannt. Anschließend sammelt unser Strukturkorrektursystem, TASHEEH, die identifizierten fehlerhaften Zeilen zusammen mit den dominanten Mustern und verwendet eine neuartige Mustertransformationsalgebra, um Fehler automatisch zu korrigieren. Unsere Pipeline dient als End-to-End-Lösung, die eine strukturell fehlerhafte CSV-Datei in eine gut formatierte Datei umwandelt, die in der Regel für ein nahtloses Laden geeignet ist. Schließlich stellen wir MORPHER vor, eine benutzerfreundliche GUI, die die Funktionen von SURAGH und TASHEEH integriert. Mit Hilfe von visuellen Elementen ermöglicht diese Schnittstelle den Benutzern den Zugriff auf die Funktionen der Pipeline. Unsere umfangreichen Experimente zeigen die Effektivität unserer Datenaufbereitungssysteme, die kein Eingreifen des Benutzers erfordern. Sowohl SURAGH als auch TASHEEH übertreffen bestehende State-of-the-Art-Methoden in den beiden Metriken Precision und Recall deutlich. KW - Datenaufbereitung KW - Datenintegration KW - Datenverwaltung KW - Datenqualität KW - data preparation KW - data integration KW - data management KW - data quality Y1 - 2024 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus4-655678 ER -