Emergent Relational Schemas for RDF
Total Page:16
File Type:pdf, Size:1020Kb
Emergent Relational Schemas for RDF Minh Duc Pham Committee prof.dr. Frank van Harmelen prof.dr. Martin Kersten prof.dr. Josep Lluis Larriba Pey prof.dr. Thomas Neumann dr. Jacopo Urbani The research reported in this thesis has been partially carried out at CWI, the Dutch National Research Laboratory for Mathematics and Computer Science, within the theme Database Architectures. The research reported in this thesis has been partially carried out as part of the continuous research and development of the MonetDB open-source database man- agement system. SIKS Dissertation Series No. 2018-19 The research reported in this thesis has been carried out under the auspices of SIKS, the Dutch Research School for Information and Knowledge Systems. The cover was designed by the author. Photo by Leo Rivas on Unsplash. The printing and binding of this dissertation was carried out by Ipskamp Printing. ISBN 978-94-028-1110-0 VRIJE UNIVERSITEIT Emergent Relational Schemas for RDF ACADEMISCH PROEFSCHRIFT ter verkrijging van de graad Doctor aan de Vrije Universiteit Amsterdam, op gezag van de rector magnificus prof.dr. V. Subramaniam, in het openbaar te verdedigen ten overstaan van de promotiecommissie van de Faculteit der Bètawetenschappen op donderdag 6 september 2018 om 15.45 uur in de aula van de universiteit, De Boelelaan 1105 door Minh Duc Pham geboren te Bac Ninh, Vietnam promotor: prof.dr. P.A. Boncz copromotor: prof.dr. S. Manegold Tặng bố mẹ của con vì tình yêu thương vô bờ bến, Tặng em yêu vì bao gian khổ, ngọt ngào và con trai - nguồn vui vô tận ... Abstract The main semantic web data model, RDF, has been gaining significant traction in various domains such as the life sciences and publishing, and has become the unri- valed standard behind the vision of global data standardization and interoperability over the web. This data model provides the necessary flexibility for users to repre- sent and evolve data without prior need of a schema, so that the global RDF graph (the semantic web) can be extended by everyone in a grass-roots and pay-as-you-go way. However, as identified in this thesis, this flexibility which de-emphasizes the need for a schema and the notion of structure in the RDF data poses a number of data management issues in systems that manage large amounts of RDF data. Specif- ically, it leads to (i) query plans with excessive join complexity which are difficult to optimize, (ii) low data locality which blocks the use of advanced relational phys- ical storage optimizations such as clustered indexing, data partitioning, and (iii) a lack of schema insight which makes it harder for end-users to write SPARQL queries with non-empty-results. This thesis addresses all three problems. We uncover and exploit the fact that real RDF data, while not as regularly structured as relational data, still has the great majority of triples conforming to regular patterns. Recognizing this structure in- formation allows RDF stores to become both more efficient and easier to use. An important take-away from this thesis is that the notion of “schema” is understood differently in semantic web than in databases. In semantic web “schema” refers to ontologies and vocabularies which are used to describe entities in terms of their properties and relationships in a generic manner, that is valuable across many differ- ent application contexts and datasets. In databases, “schema” means the properties of data stored in a single database. We argue both different notions of schema are valuable. Semantic schemas could be a valuable addition to relational databases, such that the semantics of a table (the entity it may represent) and of its columns and relationships is made explicit. This can facilitate data integration. Relational schemas are valuable for semantic web data, such that RDF stores can better orga- nize data on disk and in memory, SPARQL engines can do better optimizations, and SPARQL users can better understand the nature of an RDF dataset. This the- sis concentrates on these latter points. Concretely, we propose novel techniques to automatically derive a so-called emergent relational schema from an RDF dataset that recovers a compact and precise relational schema with high triple coverage and short human-readable labels. Beyond the use of the derived emergent relational schema for conveying the structure information of RDF dataset to users and al- lowing humans to understand RDF dataset better, we have exploited this emergent schema internally inside the RDF system (in storage, optimization, and execution) to make RDF stores more efficient. In particular, using emergent relational schema allows to make RDF storages more compact and faster-to-access, and helps reduc- ing the number of joins (i.e., self-joins) needed in SPARQL query execution as well as the complexity of query optimization, showing significant performance improve- ment in RDF systems. This approach opens a promising direction in developing efficient RDF stores which can bring RDF-based systems on par with relational- based systems in terms of performance without losing any of the flexibility offered by the RDF model. Besides the contributions on developing high performance RDF stores using the automatically derived emergent relational schema, in this thesis, we also pro- vided insights and materials for evaluating the performance and technical chal- lenges of RDF/graph systems. Particularly, we developed a scalable graph data generator which can generate synthetic RDF/graph data having skewed data dis- tributions and plausible structural correlations of a real social network. This data generator, by leveraging parallelism though the Hadoop/MapReduce paradigm, can generate a social network structure with billions of user profiles, enriched with interests/tags, posts, and comments using a cluster of commodity hardwares. The generated data also exhibited interesting realistic value correlations (e.g., names vs countries), structural correlations (e.g., friendships vs location), and statistical distributions (e.g., power-law distribution) akin to a real social network such as Facebook. Furthermore, the data generator has been extended and become a core ingredient of an RDF/graph benchmark, LDBC Social Network Benchmark (SNB), which is designed to evaluate technical challenges and solutions in RDF/graph sys- tems. Samenvatting Het semantische web-datamodel, RDF, wordt in toenemende gebruikt in verschil- lende domeinen zoals de life sciences en publishing, en is uitgegroeid tot standaard voor wereldwijde gegevensstandaardisatie en interoperabiliteit. RDF biedt flexi- biliteit voor gebruikers om gegevens weer te geven en te ontwikkelen zonder dat daar een schema voor nodig is, zodat de wereldwijde RDF-graaf (het “semantische web”) door iedereen kan worden uitgebreid op eigen initiatief. Deze flexibiliteit brengt een aantal problemen met zich mee in systemen die grote hoeveelheden RDF-gegevens beheren, omdat het de behoefte aan een schema en het begrip van structuur in de RDF-gegevens minder benadrukt. In de eerste plaats verhoogt het ontbreken van schema-informatie de complexiteit van query-optimalisatie, zodat in de praktijk RDF database-systemen een veel kleiner gedeelte van de zoekruimte kunnen bekijken, en er slechtere en dus veel langzamere query-plannen gevon- den worden. Daarnaast zorgt de lage gegevenslokaliteit ervoor dat het gebruik van geavanceerde fysieke opslagoptimalisaties voor relationele databases, zoals geclus- terde indexering en gegevenspartitionering, niet mogelijk is. Tot slot is het door een gebrek aan schema-inzicht moeilijk voor eindgebruikers om goede SPARQL queries te schrijven. Dit proefschrift gaat in op elk van deze drie problemen. We ontdekken en exploiteren het feit dat echte RDF datasets in vrij hoge mate tabu- lair gestructureerd zijn. Het automatisch herkennen van zulke structuur maakt het mogelijk RDF-opslag efficienter¨ en gebruiksvriendelijker te maken. Een belangrijke constatering van dit proefschrift is dat aan het begrip “schema” een verschillende betekenis toegekend wordt in het semantisch web dan in databases. Binnen het semantisch web verwijst “schema” naar ontologieen¨ en vocabulaires die worden gebruikt om concepten op een generieke manier te beschrijven, zodat die concepten in vele situaties en toepassingen (her-)bruikbaar zijn. In databases verwijst “schema” naar iets heel anders, namelijk naar de specifieke structuur van gegevens in een enkele dataset. Wij betogen dat beide betekenissen van een schema waardevol zijn. Semantische schema’s zouden een waardevolle toevoeging kunnen zijn aan relationele databases: de semantiek van een tabel (de entiteit die het kan vertegenwoordigen) en van zijn kolommen en relaties wordt expliciet gemaakt. Dit kan de integratie van gegevens uit verschillende databases vergemakkelijken. Rela- tionele schema’s zijn ook waardevol voor semantische webgegevens: de opslag van RDF-gegevens op een schijf of in geheugen kan er beter mee georganiseerd worden zodat RDF-databases betere optimalisaties kunnen uitvoeren, en gebruikers kunnen beter begrijpen welke attributen werkelijk in een RDF-dataset aanwezig zijn. Dit proefschrift stelt nieuwe technieken voor om automatisch een zogenaamd “emergent” relationeel schema af te leiden van een RDF-dataset. Het resultaat is een compact en nauwkeurig relationeel schema waarin tabellen, kolommen en re- laties korte namen krijgen die makkelijk voor mensen leesbaar zijn. Dit emergente relationele schema is niet alleen nuttig om mensen de structuur RDF-gegevens beter te laten