chameleon-‑db ¡ Presented ¡by ¡ ¡ ����� ¡Aluç ¡ ¡ Joint ¡work ¡with ¡ M. ¡Tamer ¡Özsu, ¡Khuzaima ¡Daudjee ¡and ¡Olaf ¡Hartig ¡
What ¡is ¡ chameleon-‑db ? ¡ ¡ � A ¡ native ¡RDF ¡data ¡management ¡system ¡that ¡is ¡ workload-‑aware , ¡ ¡ � which ¡means ¡that ¡it ¡ automatically ¡and ¡ periodically ¡adjusts ¡ its ¡physical ¡layout ¡to ¡optimize ¡for ¡queries ¡so ¡that ¡they ¡can ¡ be ¡executed ¡efficiently; ¡ � which ¡sets ¡it ¡apart ¡from ¡any ¡of ¡the ¡existing ¡RDF ¡data ¡ management ¡systems. ¡
What ¡is ¡ chameleon-‑db ? ¡ ¡ Q : ¡Why ¡is ¡it ¡necessary/important ¡to ¡have ¡a ¡workload-‑ aware ¡system ¡as ¡such? ¡ � First, ¡we ¡need ¡to ¡ � characterize ¡ emerging ¡SPARQL ¡workloads, ¡and ¡ � understand ¡how ¡ real ¡RDF ¡data ¡on ¡the ¡Web ¡look ¡like. ¡
Characterization ¡of ¡SPARQL ¡Workloads ¡ � Emerging ¡SPARQL ¡workloads ¡are ¡ diverse ¡ � Sources ¡of ¡diversity: ¡ � Triple ¡pattern ¡composition ¡ � Structural ¡diversity ¡ ¡ � Emerging ¡SPARQL ¡workloads ¡are ¡ dynamic ¡ ¡ ¡
Characterization ¡of ¡SPARQL ¡Workloads ¡ � A ¡single ¡triple ¡pattern ¡can ¡be ¡composed ¡in ¡8 ¡different ¡ ways: ¡ ¡ ¡ ¡ <s> ¡ <p> ¡ <o> ¡ ¡ ¡ ¡ <s> ¡ <p> ¡ ?o ¡ ¡ ¡ ¡ <s> ¡ ?p ¡ <o> ¡ ¡ ¡ ¡ ?s ¡ <p> ¡ <o> ¡ ¡ ¡ ¡ ?s ¡ ?p ¡ <o> ¡ ¡ ¡ ¡ ?s ¡ <p> ¡ ?o ¡ ¡ ¡ ¡ <s> ¡ ?p ¡ ?o ¡ ¡ ¡ ¡ ?s ¡ ?p ¡ ?o ¡
Characterization ¡of ¡SPARQL ¡Workloads ¡ � Multiple ¡triple ¡patterns ¡ can ¡be ¡combined ¡in ¡ various ¡ways ¡to ¡form ¡ � Linear ¡ � Star-‑shaped ¡ � Snowflake-‑shaped, ¡or ¡ � Complex ¡structures ¡
Characterization ¡of ¡SPARQL ¡Workloads ¡ � Emerging ¡SPARQL ¡workloads ¡are ¡dynamic: ¡ � set ¡of ¡frequently ¡queried ¡structures ¡change, ¡and ¡ � frequently ¡queried ¡resources ¡change. ¡ M. ¡Arias, ¡J. ¡D. ¡Fernandez, ¡M. ¡A. ¡Martinez-‑Prieto, ¡and ¡P. ¡de ¡la ¡Fuente. ¡An ¡empirical ¡study ¡of ¡real-‑world ¡SPARQL ¡ queries. ¡In ¡Proc. ¡1st ¡Int. ¡Workshop ¡on ¡Usage ¡Analysis ¡and ¡the ¡Web ¡of ¡Data, ¡2011. ¡ ¡ M. ¡Kirchberg, ¡R. ¡K. ¡L. ¡Ko, ¡and ¡B. ¡S. ¡Lee. ¡From ¡linked ¡data ¡to ¡relevant ¡data-‑-‑-‑time ¡is ¡the ¡essence. ¡In ¡Proc. ¡1st ¡Int. ¡ Workshop ¡on ¡Usage ¡Analysis ¡and ¡the ¡Web ¡of ¡Data, ¡2011. ¡ ¡ S. ¡Duan, ¡A. ¡Kementsietsidis, ¡K. ¡Srinivas, ¡and ¡O. ¡Udrea. ¡Apples ¡and ¡oranges: ¡a ¡comparison ¡of ¡RDF ¡benchmarks ¡ and ¡real ¡RDF ¡datasets. ¡In ¡SIGMOD ¡Conference, ¡pages ¡145-‑-‑156, ¡2011. ¡
RDF ¡Data ¡on ¡the ¡Web ¡
What ¡is ¡ chameleon-‑db ? ¡ ¡ Q ������������������������������������������������������ papers ¡that ¡I ¡have ¡read, ¡it ¡seems ¡like ¡existing ¡systems ¡ are ¡doing ¡a ¡pretty ¡good ¡job ¡on ¡SPARQL ¡benchmarks. ¡ ¡ � Problem : ¡Existing ¡benchmarks ¡are ¡truly ¡unrepresentative ¡ of ¡the ¡real ¡RDF ¡data ¡and ¡workloads! ¡
���������� ¡ S. ¡Duan, ¡A. ¡Kementsietsidis, ¡K. ¡Srinivas, ¡and ¡O. ¡Udrea. ¡Apples ¡and ¡oranges: ¡a ¡comparison ¡of ¡RDF ¡benchmarks ¡ and ¡real ¡RDF ¡datasets. ¡In ¡SIGMOD ¡Conference, ¡pages ¡145-‑-‑156, ¡2011. ¡ ¡
���������� ¡ Q ������������������������������������������� ¡ � Consider ¡the ¡following ¡query ¡
���������� ¡ Q ������������������������������������������� ¡ � ������������������������������������� ¡ D1: ¡data ¡are ¡ well-‑structured ¡ D2: ¡data ¡are ¡ less ¡ well-‑structured ¡
���������� ¡ � Let ¡us ¡try ¡to ¡emulate ¡how ¡ RDF-‑3x ¡would ¡answer ¡this ¡ query ¡ ������� ¡ T. ¡Neumann ¡and ¡G. ¡Weikum. ¡The ¡RDF-‑3X ¡engine ¡for ¡scalable ¡management ¡of ¡RDF ¡data. ¡VLDB ¡J., ¡19(1):91-‑-‑113, ¡ 2010. ¡ ¡
���������� ¡ � Let ¡us ¡try ¡to ¡emulate ¡how ¡ RDF-‑3x ¡would ¡answer ¡this ¡ query ¡ �� on ¡D2 ¡ ¡ ¡ ¡ ¡ ¡ ¡ � There ¡are ¡lots ¡of ¡intermediate ¡tuples, ¡which ¡do ¡not ¡en ¡up ¡in ¡the ¡final ¡query ¡result! ¡ ¡
���������� ¡ � Now ¡let ¡us ¡take ¡a ¡look ¡at ¡ gStore ¡ � gStore ¡creates ¡an ¡index ¡over ¡the ¡vertices ¡in ¡the ¡RDF ¡graph ¡such ¡that ¡ for ¡each ¡vertex ¡edges ¡that ¡are ¡incident ¡on ¡that ¡vertex ¡are ¡stored ¡ � Hence, ¡given ¡a ¡set ¡of ¡edge ¡labels, ¡ gStore ¡can ¡more ¡easily ¡pinpoint ¡ those ¡vertices ¡that ¡have ¡incident ¡edges ¡with ¡those ¡labels ¡ � As ¡we ¡will ¡show ¡in ¡our ¡experiments, ¡ gStore ¡does ¡a ¡much ¡better ¡job ¡for ¡ this ¡query ¡than ¡other ¡systems ¡ � However, ¡for ¡linear ¡queries, ¡it ¡runs ¡into ¡the ¡same ¡problem ¡as ¡RDF-‑3x ¡ L. ¡Zou, ¡J. ¡Mo, ¡D. ¡Zhao, ¡L. ¡Chen, ¡and ¡M. ¡T. ¡Özsu. ¡gStore: ¡Answering ¡SPARQL ¡queries ¡via ¡subgraph ¡matching. ¡Proc. ¡ VLDB, ¡4(1):482-‑-‑493, ¡2011. ¡ ¡
Waterloo ¡SPARQL ¡Diversity ¡Test ¡Suite ¡ � Designed ¡a ¡dataset ¡such ¡that ¡ � some ¡entities ¡are ¡well-‑structured, ¡while ¡ � others ¡are ¡less ¡well-‑structured. ¡ ¡ � Generated ¡queries ¡in ¡4 ¡different ¡categories ¡ � Linear ¡ � Star-‑shaped ¡ � Snowflake-‑shaped ¡ � Complex ¡ https://cs.uwaterloo.ca/~galuc/wsdts/ ¡
Waterloo ¡SPARQL ¡Diversity ¡Test ¡Suite ¡ � ������������������������������������������������� ¡ � at ¡the ¡two ¡extremes ¡we ¡have ¡ ¡ ¡ ¡ ¡ ¡ ¡ https://cs.uwaterloo.ca/~galuc/wsdts/ ¡
Waterloo ¡SPARQL ¡Diversity ¡Test ¡Suite ¡ � We ¡generated ¡20 ¡query ¡skeletons ¡(templates) ¡which ¡ look ¡like ¡ ¡ ¡ ¡ ¡ ¡ ¡ https://cs.uwaterloo.ca/~galuc/wsdts/ ¡
Waterloo ¡SPARQL ¡Diversity ¡Test ¡Suite ¡ � A ¡snapshot ¡of ¡our ¡results ¡
What ¡is ¡ chameleon-‑db ? ¡ Q : ¡Okay, ¡I ¡understand ¡the ¡issue ¡here, ¡but ¡cannot ¡we ¡ choose ¡the ¡system ¡that ¡performs ¡best ¡for ¡a ¡given ¡ workload? ¡ ¡
What ¡is ¡ chameleon-‑db ? ¡ ¡ � chameleon-‑db ¡does ¡not ¡have ¡a ¡fixed ¡physical ¡design ¡ ¡ � On ¡the ¡contrary, ¡ ¡ � the ¡workload ¡dictates ¡its ¡physical ¡design, ¡and ¡ � this ¡physical ¡design ¡changes ¡as ¡the ¡workload ¡changes. ¡
What ¡is ¡ chameleon-‑db ? ¡ Q : ¡What ¡do ¡you ¡mean ¡by ¡physical ¡design? ¡ 1. RDF ¡graph ¡is ¡logically ¡partitioned ¡into ¡edge-‑disjoint ¡partitions ¡(otherwise, ¡partitions ¡can ¡ be ¡arbitrary) ¡ 2. Each ¡partition ¡is ¡physically ¡stored ¡as ¡a ¡record ¡of ¡triples, ¡sorted ¡on ¡their ¡subject ¡attributes ¡ 3. Whenever ¡a ¡record ¡is ¡retrieved ¡from ¡disk, ¡it ¡is ¡stored ¡in ¡the ¡buffer ¡pool ¡as ¡an ¡adjacency ¡ list ¡(more ¡complex ¡indexes ¡can ¡be ¡built; ¡however, ¡this ¡is ¡an ¡orthogonal ¡work) ¡ 4. An ¡in-‑ ��������������������������������������������������������������� ¡ ¡
Query ¡Evaluation ¡ � Before ¡I ¡step ¡into ¡ i. how ¡partitioning ¡affects ¡performance, ¡and ¡ ii. ������������������������������������� ¡ let ¡me ¡first ¡explain ¡how ¡queries ¡are ¡evaluated ¡in ¡ chameleon-‑db. ¡ ¡ � chameleon-‑db ¡relies ¡on ¡a ¡query ¡evaluation ¡model ¡that ¡we ¡call ¡ partition-‑restricted ¡evaluation ¡(PRE). ¡ ¡ � In ¡a ¡nutshell, ¡PRE ¡depends ¡on ¡one ¡major ¡operation ¡that ¡we ¡ call ¡ partitioned-‑match . ¡
Query ¡Evaluation ¡ � Partitioned-‑match: ¡ � � � ¡ ¡ ¡ Given ¡ ¡ � a ¡constrained-‑pattern ¡graph ¡(CPG) ¡ � � , ¡and ¡ � a ¡partitioning ¡ � � � � � � � � � ¡of ¡an ¡RDF ¡graph ¡ �� ¡ we ¡define ¡partitioned-‑ ���������� ¡
Query ¡Evaluation ¡ � ���������������������������������� ¡ ¡ � � �� � � � ¡ ¡ � This ¡is ¡a ¡conscious ¡design ¡decision ¡and ¡I ¡will ¡explain ¡why ¡it ¡is ¡ important... ¡For ¡now, ¡just ¡bear ¡with ¡me ¡when ¡I ¡say ¡it ¡has ¡ important ¡consequences ¡on ¡ � indexing ¡ � the ¡way ¡partitions ¡are ¡updated ¡ ¡ ¡
Recommend
More recommend