The distributed setting of RDF stores in the cloud poses many challenges. One such challenge is how the data placement on the compute nodes can be optimized to improve the query performance. To address this challenge, several evaluations in the literature have investigated the effects of existing data placement strategies on the query performance. A common drawback in theses evaluations is that it is unclear whether the observed behaviors were caused by the data placement strategies (if different RDF stores were evaluated as a whole) or reflect the behavior in distributed RDF stores (if cloud processing frameworks like Hadoop MapReduce are used for the evaluation). To overcome these limitations, this thesis develops a novel benchmarking methodology for data placement strategies that uses a data-placement-strategy-independent distributed RDF store to analyze the effect of the data placement strategies on query performance.
With this evaluation methodology the frequently used data placement strategies have been evaluated. This evaluation challenged the commonly held belief that data placement strategies that emphasize local computation, such as minimal edge-cut cover, lead to faster query executions. The results indicate that queries with a high workload may be executed faster on hash-based data placement strategies than on, e.g., minimal edge-cut covers. The analysis of the additional measurements indicates that vertical parallelization (i.e., a well-distributed workload) may be more important than horizontal containment (i.e., minimal data transport) for efficient query processing.
Moreover, to find a data placement strategy with a high vertical parallelization, the thesis tests the hypothesis that collocating small connected triple sets on the same compute node while balancing the amount of triples stored on the different compute nodes leads to a high vertical parallelization. Specifically, the thesis proposes two such data placement strategies. The first strategy called overpartitioned minimal edge-cut cover was found in the literature and the second strategy is the newly developed molecule hash cover. The evaluation revealed a balanced query workload and a high horizontal containment, which lead to a high vertical parallelization. As a result these strategies showed a better query performance than the frequently used data placement strategies.
Um Altsysteme beim sogenannten Software-Reengineering an neue Anforderungen mittels Computerunterstützung anpassen zu können, wird eine effiziente Repräsentation der vorliegenden und im Laufe des Prozesses anfallenden Daten und Informationen benötigt. Als geeignete Repräsentationsform haben sich TGraphen herausgestellt, da sowohl Knoten als auch gerichtete Kanten typisiert sind und über Attribute verfügen können. Darüber hinaus besteht eine globale Anordnung aller Elemente des Graphen sowie eine Reihenfolge der Inzidenzen jedes Knoten. In dieser Arbeit wurde die "Extractor Description Language" (EDL) entwickelt, um die Syntax der Eingabedaten zu beschreiben und mittels frei definierbarer semantischer Aktionen einen TGraphen aufzubauen. Im Gegensatz zu klassischen Parsergeneratoren wie ANTLR werden mehrdeutige Grammatiken, Modularisierung, Inselgrammatiken und Symboltabellen-Stacks von EDL unterstützt, wodurch die Erstellung der Syntaxbeschreibung vereinfacht wird. Nach der Erhebung der Anforderungen an EDL, werden zunächst die existierenden Parsergeneratoren daraufhin untersucht, welcher zur Realisierung der Anforderungen am geeignetsten ist.
Im Anschluss wird die Syntax sowie die Semantik von EDL beschrieben und unter Nutzung des geeigneten Parsergenerators implementiert. Anhand von zwei mittels EDL generierten exemplarischen Extraktoren für XML und Java wird der zeitliche Aufwand zum Verarbeiten der Eingabe gemessen.
TGraphBrowser
(2010)
Im Rahmen dieser Arbeit wird ein Webserver implementiert, mit dem man sich Graphen, die mit Hilfe des Java-Graphenlabors (JGraLab) erzeugt wurden, in einem Browser anzeigen lassen kann. Es werden dem Nutzer eine tabellarische und eine graphische Darstellung des Graphen angeboten. In jeder der beiden Darstellungsarten ist das Navigieren durch den Graphen möglich. Um Graphen mit mehreren tausend Elementen für den Nutzer überschaubarer zu machen, können die angezeigten Kanten und Knoten nach ihren Schematypen gefiltert werden. Ferner kann die dargestellte Menge an Graphelementen durch eine GReQL-Anfrage oder durch explizite Angabe bestimmt werden.