chameleon db
play

chameleon-db Presented by Alu Joint work with - PowerPoint PPT Presentation

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


  1. chameleon-­‑db ¡ Presented ¡by ¡ ¡ ����� ¡Aluç ¡ ¡ Joint ¡work ¡with ¡ M. ¡Tamer ¡Özsu, ¡Khuzaima ¡Daudjee ¡and ¡Olaf ¡Hartig ¡

  2. 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. ¡

  3. 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. ¡

  4. Characterization ¡of ¡SPARQL ¡Workloads ¡ � Emerging ¡SPARQL ¡workloads ¡are ¡ diverse ¡ � Sources ¡of ¡diversity: ¡ � Triple ¡pattern ¡composition ¡ � Structural ¡diversity ¡ ¡ � Emerging ¡SPARQL ¡workloads ¡are ¡ dynamic ¡ ¡ ¡

  5. 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 ¡

  6. Characterization ¡of ¡SPARQL ¡Workloads ¡ � Multiple ¡triple ¡patterns ¡ can ¡be ¡combined ¡in ¡ various ¡ways ¡to ¡form ¡ � Linear ¡ � Star-­‑shaped ¡ � Snowflake-­‑shaped, ¡or ¡ � Complex ¡structures ¡

  7. 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. ¡

  8. RDF ¡Data ¡on ¡the ¡Web ¡

  9. 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! ¡

  10. ���������� ¡ 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. ¡ ¡

  11. ���������� ¡ Q ������������������������������������������� ¡ � Consider ¡the ¡following ¡query ¡

  12. ���������� ¡ Q ������������������������������������������� ¡ � ������������������������������������� ¡ D1: ¡data ¡are ¡ well-­‑structured ¡ D2: ¡data ¡are ¡ less ¡ well-­‑structured ¡

  13. ���������� ¡ � 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. ¡ ¡

  14. ���������� ¡ � 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! ¡ ¡

  15. ���������� ¡ � 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. ¡ ¡

  16. 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/ ¡

  17. Waterloo ¡SPARQL ¡Diversity ¡Test ¡Suite ¡ � ������������������������������������������������� ¡ � at ¡the ¡two ¡extremes ¡we ¡have ¡ ¡ ¡ ¡ ¡ ¡ ¡ https://cs.uwaterloo.ca/~galuc/wsdts/ ¡

  18. Waterloo ¡SPARQL ¡Diversity ¡Test ¡Suite ¡ � We ¡generated ¡20 ¡query ¡skeletons ¡(templates) ¡which ¡ look ¡like ¡ ¡ ¡ ¡ ¡ ¡ ¡ https://cs.uwaterloo.ca/~galuc/wsdts/ ¡

  19. Waterloo ¡SPARQL ¡Diversity ¡Test ¡Suite ¡ � A ¡snapshot ¡of ¡our ¡results ¡

  20. What ¡is ¡ chameleon-­‑db ? ¡ Q : ¡Okay, ¡I ¡understand ¡the ¡issue ¡here, ¡but ¡cannot ¡we ¡ choose ¡the ¡system ¡that ¡performs ¡best ¡for ¡a ¡given ¡ workload? ¡ ¡

  21. 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. ¡

  22. 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-­‑ ��������������������������������������������������������������� ¡ ¡

  23. 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 . ¡

  24. Query ¡Evaluation ¡ � Partitioned-­‑match: ¡ � � � ¡ ¡ ¡ Given ¡ ¡ � a ¡constrained-­‑pattern ¡graph ¡(CPG) ¡ � � , ¡and ¡ � a ¡partitioning ¡ � � � � � � � � � ¡of ¡an ¡RDF ¡graph ¡ �� ¡ we ¡define ¡partitioned-­‑ ���������� ¡

  25. 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