Scalable heterogeneous stores for Digital City data - - PowerPoint PPT Presentation

scalable heterogeneous stores for digital city data
SMART_READER_LITE
LIVE PREVIEW

Scalable heterogeneous stores for Digital City data - - PowerPoint PPT Presentation

Scalable heterogeneous stores for Digital City data management applica8ons Francesca Bugio. , Damian Bursztyn , Alin Deutsch , Ioana Ileana , Ioana


slide-1
SLIDE 1

Scalable ¡heterogeneous ¡stores ¡for ¡ Digital ¡City ¡data ¡management ¡ applica8ons ¡ ¡

Francesca ¡Bugio.§, ¡Damian ¡Bursztyn§, ¡ ¡ Alin ¡Deutsch¶, ¡ Ioana ¡Ileana§, ¡Ioana ¡Manolescu§ ¡

¡ § ¡OAK ¡team, ¡INRIA, ¡France ¡ ¶ ¡DB ¡group, ¡UC. ¡California ¡San ¡Diego ¡ ¡ ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

slide-2
SLIDE 2

Data ¡management ¡case ¡study: ¡ ¡ smart ¡city ¡data ¡integraNon ¡

  • Datalyse ¡French ¡R&D ¡project ¡

– Rela8onal ¡transport ¡database ¡ – RDF ¡Open ¡Data ¡produced ¡by ¡the ¡city ¡administraNon ¡ (cultural ¡artefacts, ¡events…) ¡ – Graph ¡social ¡network ¡data ¡harvested ¡from ¡various ¡ applicaNons ¡ – May ¡be ¡used ¡with ¡or ¡without ¡log ¡data ¡from ¡city ¡Web ¡ site ¡and ¡various ¡apps ¡

  • Mid-­‑size ¡IT ¡companies ¡clueless ¡on ¡what ¡to ¡use ¡
  • Easy ¡to ¡be ¡wrong ¡by ¡orders ¡of ¡magnitude ¡ ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

slide-3
SLIDE 3

The ¡data ¡management ¡problem ¡

  • Glut ¡of ¡varied ¡data ¡management ¡systems ¡(DMS) ¡ ¡

– DM ¡includes ¡ ¡DBMS ¡

  • Different ¡data ¡models: ¡ ¡

– RelaNonal, ¡nested ¡relaNonal, ¡tree, ¡k-­‑v, ¡graphs, ¡… ¡ ¡

  • ­‑ Different ¡data ¡access ¡capabili8es ¡(from ¡simple ¡

API ¡to ¡various ¡query ¡languages) ¡ ¡

  • ­‑ Different ¡architectures: ¡disk-­‑ ¡vs. ¡memory-­‑based, ¡

centralized ¡vs. ¡distributed ¡etc. ¡

  • ­‑ Different ¡performance ¡ ¡ ¡
  • ­‑ Different ¡levels ¡of ¡transac8on ¡support ¡ ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

NoSQL ¡DMSs ¡ Cloud ¡DMSs ¡

slide-4
SLIDE 4

The ¡data ¡management ¡problem ¡

  • Glut ¡of ¡varied ¡data ¡management ¡systems ¡(DMS) ¡ ¡

– DM ¡includes ¡ ¡DBMS ¡

  • Different ¡data ¡models: ¡ ¡

– RelaNonal, ¡nested ¡relaNonal, ¡tree, ¡k-­‑v, ¡graphs, ¡… ¡ ¡

  • ­‑ Different ¡data ¡access ¡capabili8es ¡(from ¡simple ¡

API ¡to ¡various ¡query ¡languages) ¡ ¡

  • ­‑ Different ¡architectures: ¡disk-­‑ ¡vs. ¡memory-­‑based, ¡

centralized ¡vs. ¡distributed ¡etc. ¡

  • ­‑ Different ¡performance ¡ ¡ ¡
  • ­‑ Different ¡levels ¡of ¡transac8on ¡support ¡ ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

NoSQL ¡DMSs ¡ Cloud ¡DMSs ¡

How ¡do ¡we ¡get ¡ performance ¡ ¡ for ¡a ¡variety ¡of ¡datasets ¡

  • n ¡a ¡variety ¡of ¡DMSs ¡ ¡ ¡
slide-5
SLIDE 5

The ¡data ¡management ¡problem ¡

  • Glut ¡of ¡varied ¡data ¡management ¡systems ¡(DMS) ¡ ¡

– DM ¡includes ¡ ¡DBMS ¡

  • Different ¡data ¡models: ¡ ¡

– RelaNonal, ¡nested ¡relaNonal, ¡tree, ¡k-­‑v, ¡graphs, ¡… ¡ ¡

  • ­‑ Different ¡data ¡access ¡capabili8es ¡(from ¡simple ¡

API ¡to ¡various ¡query ¡languages) ¡ ¡

  • ­‑ Different ¡architectures: ¡disk-­‑ ¡vs. ¡memory-­‑based, ¡

centralized ¡vs. ¡distributed ¡etc. ¡

  • ­‑ Different ¡performance ¡ ¡ ¡
  • ­‑ Different ¡levels ¡of ¡transac8on ¡support ¡ ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

NoSQL ¡DMSs ¡ Cloud ¡DMSs ¡

How ¡do ¡we ¡get ¡ performance ¡ ¡ for ¡a ¡variety ¡of ¡datasets ¡

  • n ¡a ¡variety ¡of ¡DMSs ¡ ¡ ¡

Focus ¡not ¡on ¡bea8ng ¡the ¡most ¡ specialized ¡op8miza8ons ¡of ¡the ¡ most ¡specialized ¡engine ¡for ¡a ¡ given ¡model/applicaNon. ¡

slide-6
SLIDE 6

The ¡data ¡management ¡problem ¡

  • Glut ¡of ¡varied ¡data ¡management ¡systems ¡(DMS) ¡ ¡

– DM ¡includes ¡ ¡DBMS ¡

  • Different ¡data ¡models: ¡ ¡

– RelaNonal, ¡nested ¡relaNonal, ¡tree, ¡k-­‑v, ¡graphs, ¡… ¡ ¡

  • ­‑ Different ¡data ¡access ¡capabili8es ¡(from ¡simple ¡

API ¡to ¡various ¡query ¡languages) ¡ ¡

  • ­‑ Different ¡architectures: ¡disk-­‑ ¡vs. ¡memory-­‑based, ¡

centralized ¡vs. ¡distributed ¡etc. ¡

  • ­‑ Different ¡performance ¡ ¡ ¡
  • ­‑ Different ¡levels ¡of ¡transac8on ¡support ¡ ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

NoSQL ¡DMSs ¡ Cloud ¡DMSs ¡

How ¡do ¡we ¡get ¡ performance ¡ ¡ for ¡a ¡variety ¡of ¡datasets ¡

  • n ¡a ¡variety ¡of ¡DMSs ¡ ¡ ¡

Focus ¡not ¡on ¡bea8ng ¡the ¡most ¡ specialized ¡op8miza8ons ¡of ¡the ¡ most ¡specialized ¡engine ¡for ¡a ¡ given ¡model/applicaNon. ¡ Focus ¡on ¡robust ¡performance ¡for ¡ varied ¡data ¡models ¡across ¡a ¡ changing ¡set ¡of ¡heterogeneous ¡ DMSs ¡ ¡

slide-7
SLIDE 7

The ¡problem, ¡qualified ¡

  • Glut ¡of ¡varied ¡data ¡management ¡systems ¡(DMS) ¡ ¡

– DM ¡includes ¡ ¡DBMS ¡

  • Different ¡data ¡models: ¡ ¡

– RelaNonal, ¡nested ¡relaNonal, ¡tree, ¡k-­‑v, ¡graphs, ¡… ¡ ¡

  • ­‑ Different ¡data ¡access ¡capabili8es ¡(from ¡simple ¡

API ¡to ¡various ¡query ¡languages) ¡ ¡

  • ­‑ Different ¡architectures: ¡disk-­‑ ¡vs. ¡memory-­‑based, ¡

centralized ¡vs. ¡distributed ¡etc. ¡

  • ­‑ Different ¡performance ¡ ¡ ¡
  • ­‑ Different ¡levels ¡of ¡transac8on ¡support ¡ ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

NoSQL ¡DMSs ¡ Cloud ¡DMSs ¡

How ¡do ¡we ¡get ¡ performance ¡ ¡ for ¡a ¡variety ¡of ¡datasets ¡

  • n ¡a ¡variety ¡of ¡DMSs ¡ ¡ ¡

Automa8cally ¡ With ¡ correctness ¡ guarantees ¡ With ¡no ¡hassle ¡ for ¡the ¡ applica8on ¡layer ¡ Resilient ¡to ¡ changes ¡

slide-8
SLIDE 8

A ¡piece ¡of ¡self-­‑derision: ¡The ¡Next ¡Data ¡Model ¡ That ¡Will ¡Save ¡The ¡World ¡

New ¡Data ¡Model: ¡ early ¡days ¡ ¡ New ¡ApplicaNon: ¡ Previous ¡Data ¡Model ¡Can’t ¡Do ¡It! ¡ For ¡Previous ¡Data ¡Model, ¡ ¡ Everything ¡Is ¡Undecidable! ¡ First ¡Papers: ¡

  • ­‑

First ¡formalism ¡ ¡ (relaNvely ¡ ¡ ¡simple ¡and ¡clean) ¡

  • ­‑

First ¡query ¡language, ¡ ¡ toy ¡implementaNon ¡ New ¡Data ¡Model: ¡ golden ¡days ¡ ¡ This ¡Simple ¡Model ¡ Needs ¡Extensions! ¡ The ¡Baseline ¡ ¡ Method ¡Needs ¡ ¡ Op8miza8ons! ¡ New ¡Data ¡Model: ¡ StandardizaNon ¡(?) ¡ Blessing/curse ¡ Industrial ¡adopNon ¡ New ¡Data ¡Model: ¡ Hybrid ¡soluNons ¡ You ¡Can ¡Have ¡This ¡ Data ¡Model ¡and ¡the ¡ ¡ Previous ¡One! ¡ Formerly ¡New ¡ ¡ Data ¡ ¡Model: ¡we’re ¡ ¡ ¡ done ¡with ¡it ¡ “XML ¡Research ¡ ¡ Is ¡Passé” ¡ Self-­‑Tuning ¡ Technique ¡for ¡ ¡ New ¡Data ¡Model! ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

slide-9
SLIDE 9

A ¡piece ¡of ¡self-­‑derision: ¡The ¡Next ¡Data ¡Model ¡ That ¡Will ¡Save ¡The ¡World ¡

New ¡Model: ¡ early ¡days ¡ ¡ New ¡ApplicaNon: ¡ Previous ¡Model ¡Can’t ¡Do ¡It! ¡ For ¡Previous ¡Model, ¡ ¡ Everything ¡Is ¡Undecidable! ¡ First ¡Papers: ¡

  • ­‑

First ¡formalism ¡ ¡ (relaNvely ¡ ¡ ¡simple ¡and ¡clean) ¡

  • ­‑

Toy ¡implementaNon ¡ New ¡Model: ¡ golden ¡days ¡ ¡ This ¡Simple ¡Model ¡ Needs ¡Extensions! ¡ The ¡Baseline ¡ ¡ Method ¡Needs ¡ ¡ Op8miza8ons! ¡ New ¡Model: ¡ StandardizaNon ¡(?) ¡ Blessing/curse ¡ Industrial ¡adopNon ¡ New ¡Model: ¡ Hybrid ¡soluNons ¡ You ¡Can ¡Have ¡This ¡ Model ¡and ¡the ¡ ¡ Previous ¡One! ¡ Formerly ¡New ¡ ¡ Model: ¡we’re ¡ ¡ ¡ done ¡with ¡it ¡ “MapReduce ¡ ¡ is ¡out” ¡ Self-­‑Tuning ¡ Technique ¡for ¡ ¡ New ¡Model! ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

CompuNng ¡

slide-10
SLIDE 10

invisible ¡glue ¡for ¡ heterogeneous ¡stores ¡

  • Data ¡models: ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡(side ¡by ¡side) ¡

– As ¡the ¡data ¡is ¡

  • Systems: ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡(side ¡by ¡side) ¡

– Those ¡available ¡

  • Store ¡each ¡data ¡set ¡as ¡a ¡set ¡of ¡ ¡

– Or ¡splits ¡/ ¡shards ¡/ ¡parNNons ¡/ ¡indexes ¡/ ¡ ¡ materialized ¡(potenNally ¡indexed) ¡ – Each ¡fragment ¡resides ¡in ¡a ¡DMS ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

slide-11
SLIDE 11

Dataset ¡fragmentaNons ¡

A ¡ B ¡ C ¡ D ¡ 1 ¡ 2 ¡ 3 ¡ 4 ¡ 5 ¡ 6 ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

A ¡ B ¡ C ¡ D ¡ 1 ¡ 2 ¡ A ¡ B ¡ C ¡ D ¡ 3 ¡ 4 ¡ A ¡ B ¡ C ¡ D ¡ 5 ¡ 6 ¡ A ¡ B ¡ C ¡ D ¡ 1 ¡ 3 ¡ A ¡ B ¡ 1 ¡ 2 ¡ 3 ¡ 4 ¡ 5 ¡ 6 ¡ A ¡ C ¡ 1 ¡ 2 ¡ 3 ¡ 4 ¡ 5 ¡ 6 ¡ A ¡ D ¡ 1 ¡ 2 ¡ 3 ¡ 4 ¡ 5 ¡ 6 ¡ A ¡ B ¡ C ¡ D ¡ 5 ¡ 6 ¡

slide-12
SLIDE 12

Dataset ¡fragmentaNons ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

Example: ¡relaNonal ¡dataset ¡R ¡

slide-13
SLIDE 13

Dataset ¡fragmentaNons ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

Example: ¡relaNonal ¡dataset ¡R ¡

slide-14
SLIDE 14

Dataset ¡fragmentaNons ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

Example: ¡relaNonal ¡dataset ¡R ¡

slide-15
SLIDE 15

Dataset ¡fragmentaNons ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

Example: ¡relaNonal ¡dataset ¡R ¡

slide-16
SLIDE 16

Dataset ¡fragmentaNons ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

Example: ¡relaNonal ¡dataset ¡R ¡

slide-17
SLIDE 17

Dataset ¡fragmentaNons ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

Example: ¡relaNonal ¡dataset ¡R ¡

slide-18
SLIDE 18

Dataset ¡fragmentaNons ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

Example: ¡relaNonal ¡dataset ¡R ¡

slide-19
SLIDE 19

¡ ¡FragmentaNons ¡made ¡of ¡views ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

  • The ¡content ¡of ¡each ¡fragment ¡is ¡described ¡

declara8vely ¡ ¡

  • Fragment ¡= ¡(materialized) ¡view ¡[+ ¡parameters] ¡

– « ¡The ¡name ¡and ¡addresses ¡of ¡all ¡clients ¡» ¡ – « ¡The ¡sales ¡parNNoned ¡by ¡zipcode ¡» ¡

  • Index ¡= ¡view ¡with ¡binding ¡paHern ¡

– « ¡The ¡name ¡and ¡addresses ¡of ¡all ¡clients, ¡by ¡their ¡age ¡ and ¡zipcode ¡» ¡ – Also: ¡navigaNon ¡in ¡trees ¡or ¡graphs ¡ key-­‑value ¡stores ¡ ¡

Fragment ¡= ¡materialized ¡view ¡[+ ¡parameters] ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡[+ ¡binding ¡paHern] ¡ ¡

slide-20
SLIDE 20

Fragments ¡distribuNon ¡across ¡stores ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

slide-21
SLIDE 21

Fragments ¡distribuNon ¡across ¡stores ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

RDF ¡ DMS ¡

slide-22
SLIDE 22

Fragments ¡distribuNon ¡across ¡stores ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

RDF ¡ DMS ¡ K-­‑v ¡ store ¡

slide-23
SLIDE 23

Fragments ¡distribuNon ¡across ¡stores ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

RDF ¡ DMS ¡ K-­‑v ¡ store ¡ JSON ¡ DMS ¡

slide-24
SLIDE 24

Fragments ¡distribuNon ¡across ¡stores ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

RDF ¡ DMS ¡ K-­‑v ¡ store ¡ JSON ¡ DMS ¡ Rel ¡ DBMS ¡

slide-25
SLIDE 25

Fragments ¡distribuNon ¡across ¡stores ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

RDF ¡ DMS ¡ K-­‑v ¡ store ¡ JSON ¡ DMS ¡ Rel ¡ DBMS ¡

Pig ¡store ¡ ¡

  • n ¡top ¡of ¡DFS ¡

Data ¡model ¡transla8on ¡ applied ¡at ¡loading ¡

  • « ¡Dumb ¡» ¡translaNon ¡ ¡
  • The ¡extracNon ¡logic ¡is ¡

in ¡the ¡view ¡

slide-26
SLIDE 26

Fragments ¡distribuNon ¡across ¡stores ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

RDF ¡ DMS ¡ K-­‑v ¡ store ¡ JSON ¡ DMS ¡ Rel ¡ DBMS ¡

Pig ¡store ¡ ¡

  • n ¡DFS ¡

ApplicaNons ¡ ¡ query ¡the ¡data ¡in ¡ naNve ¡format ¡

slide-27
SLIDE 27

Fragments ¡distribuNon ¡across ¡stores ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

RDF ¡ DMS ¡ K-­‑v ¡ store ¡ JSON ¡ DMS ¡ Rel ¡ DBMS ¡

Pig ¡store ¡ ¡

  • n ¡DFS ¡

Fragment ¡ descripNon ¡by ¡ views ¡guarantees ¡ properNes ¡such ¡as: ¡ ¡completeness ¡ inclusion, ¡ equivalence, ¡etc. ¡

slide-28
SLIDE 28

Query ¡answering ¡= ¡View-­‑Based ¡RewriNng ¡

  • VBR ¡known ¡for ¡dramaNc ¡performance ¡improvements ¡

– Basically ¡no ¡limit ¡(e.g. ¡view ¡= ¡query)! ¡ – P. ¡Larson ¡(2011 ¡SIGMOD ¡ToT): ¡« ¡the ¡problem ¡is ¡explaining ¡to ¡a ¡ disappointed ¡user ¡that ¡a ¡modified ¡view ¡doesn’t ¡match ¡any ¡more! ¡» ¡

  • Comparison ¡with ¡« ¡Local ¡As ¡Views ¡» ¡mediaNon ¡

– ≠ ¡data ¡models ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

Common ¡data ¡model ¡(V1, ¡…, ¡Vn, ¡Q) ¡ ¡ ¡ V1 ¡(DMS1) ¡ Vn ¡(DMSn) ¡ … ¡ Mediator ¡ ¡ schema ¡ Source ¡ schema ¡ Source ¡ schema ¡ Query ¡ ¡ Q ¡ NaNve ¡dataset ¡model ¡ V1 ¡(DMS1) ¡ Vn ¡(DMSn) ¡ … ¡ Dataset ¡ schema ¡ Source ¡ schema ¡ Source ¡ schema ¡ Query ¡ ¡ Q ¡

  • vs. ¡
slide-29
SLIDE 29

Query ¡answering ¡= ¡view-­‑based ¡rewriNng ¡

  • VBR ¡known ¡for ¡dramaNc ¡performance ¡improvements ¡
  • Comparison ¡with ¡« ¡Local ¡As ¡Views ¡» ¡mediaNon: ¡ ¡

– ≠ ¡data ¡models ¡ – Side-­‑by-­‑side ¡data ¡models ¡at ¡the ¡top ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

NaNve ¡model ¡of ¡dataset ¡k ¡ Vk

1 ¡(DMSk1) ¡

Vk

nk ¡(DMSknk) ¡

… ¡ Dataset ¡k ¡ schema ¡ Source ¡ schema ¡ Source ¡ schema ¡ Query ¡ ¡ Q ¡ NaNve ¡model ¡of ¡dataset ¡1 ¡ V1

1 ¡(DMS1) ¡

V1

n1 ¡(DMSn) ¡

… ¡ Dataset ¡1 ¡ schema ¡ Source ¡ schema ¡ Source ¡ schema ¡ Query ¡ ¡ Q ¡

à ¡Common ¡benefit ¡with ¡LAV: ¡ApplicaNons ¡unaware ¡of ¡the ¡fragmenta8on! ¡ à ¡Novel ¡benefit: ¡fragments ¡can ¡migrate ¡to ¡≠ ¡systems ¡and ¡data ¡models ¡

¡ ¡

slide-30
SLIDE 30

View-­‑based ¡rewriNng ¡with ¡ heterogeneous ¡data ¡models ¡

  • Model ¡all ¡problems ¡as ¡the ¡most ¡complex ¡and ¡

solve ¡it ¡there ¡

– No! ¡(complexity; ¡also: ¡The ¡Next ¡Data ¡Model ¡that ¡will ¡Save ¡the ¡World... ¡J ¡ ¡) ¡

  • Have ¡a ¡set ¡of ¡side-­‑by-­‑side ¡rewri8ng ¡algorithms ¡

(dataset ¡model ¡M0, ¡DMS ¡models ¡M1, ¡M2, ¡… ¡) ¡

– ImpracNcal ¡due ¡to ¡many ¡data ¡model ¡combinaNons ¡

  • Our ¡soluNon ¡

– IdenNfy ¡a ¡small ¡set ¡of ¡« ¡core ¡» ¡data ¡models ¡which ¡ include ¡the ¡others ¡ – Have ¡side-­‑by-­‑side ¡rewri8ng ¡algorithms ¡for ¡this ¡small ¡ core ¡(hint: ¡many ¡reuse ¡opportuniNes) ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

slide-31
SLIDE 31

VBR ¡with ¡heterogeneous ¡data ¡models ¡

  • At ¡the ¡core: ¡ ¡

– The ¡capacity ¡to ¡describe ¡dataset ¡proper8es ¡

  • Structure: ¡(nested) ¡tuples, ¡trees, ¡graphs, ¡bags ¡
  • Constraints: ¡keys, ¡foreign ¡keys, ¡inclusion ¡dependencies ¡

(e.g. ¡also ¡RDF ¡semanNcs) ¡

– A ¡rewri8ng ¡algorithm ¡capable ¡of ¡leveraging ¡all ¡the ¡ informa8on ¡to ¡find ¡all ¡equivalent ¡query ¡rewriNngs ¡ ¡

  • Constraints ¡enable ¡rewriNngs ¡in ¡cases ¡when ¡there ¡would ¡

be ¡none ¡without ¡them! ¡

  • StarNng ¡point: ¡efficient ¡Chase-­‑and-­‑Backchase ¡algorithm ¡ ¡

[Ileana, ¡CauNs, ¡Deutsch, ¡Katsis, ¡SIGMOD ¡2014] ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

slide-32
SLIDE 32

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

architecture ¡

F1 F3 F2

Dataset 2 Dataset n Dataset 2 Estocada Storage Descriptors Manager Dataset 1

D1 / F2 D1/F3

Key-value store

D1/F4

Document store Query Evaluator Runtime Execution Engine Query Execution Plan Data Centric Application

F1 F2 F3 F4

Dataset 1 Store Storage Advisor

… …

NoSQL System

D1/F1 D2/F2

Relational store

D2/F1

Query Dataset n Dataset 2 Dataset 1

D2 / F3

Nested relations store

slide-33
SLIDE 33

core ¡modules ¡

  • VBR ¡

– Outputs: ¡queries ¡to ¡DMSs ¡(in ¡their ¡naNve ¡ language) ¡+ ¡remaining ¡integraNon ¡operaNons ¡ – DMS ¡capability ¡descripNons ¡exploited ¡here. ¡

  • RunNme ¡

– To ¡perform ¡integraNon ¡operaNons ¡ ¡ – For ¡this, ¡a ¡single ¡runNme ¡(for ¡the ¡most ¡expressive ¡ model, ¡e.g. ¡nested ¡relaNons), ¡should ¡do ¡ – We ¡may ¡borrow ¡one ¡of ¡the ¡DMSs’s ¡runNme ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

slide-34
SLIDE 34

What ¡about ¡performance? ¡

  • Select ¡the ¡rewriNng ¡likely ¡to ¡lead ¡to ¡the ¡best ¡query ¡

evaluaNon ¡performance ¡

– Cross-­‑system ¡cost ¡model ¡

  • Not ¡as ¡crazy ¡as ¡it ¡looks ¡(cost ¡model ¡calibraNon ¡’86; ¡it ¡works!) ¡
  • Modest ¡extension ¡for ¡binding ¡pa{erns ¡
  • View ¡recommendaNon ¡

– « ¡Cross-­‑model, ¡cross-­‑system ¡data ¡storage ¡advisor ¡» ¡ – Great ¡progress ¡in ¡recent ¡years ¡on ¡single-­‑model ¡storage ¡ (view, ¡index ¡etc.) ¡recommendaNon ¡ ¡ – Combinatorial ¡problem ¡(select ¡a ¡subset ¡of ¡the ¡possible ¡ views ¡minimizing ¡cost ¡esNmaNon) ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

slide-35
SLIDE 35

Closest ¡related ¡work ¡

  • Mixed-­‑model ¡VBR ¡

– Agora ¡[Manolescu, ¡Florescu, ¡Kossmann, ¡VLDB ¡2001], ¡ Mars ¡[Deutsch ¡& ¡Tannen, ¡VLDB ¡2003]: ¡XML ¡

  • Running ¡a ¡DMS ¡on ¡top ¡of ¡heterogeneous ¡stores ¡

– Federated ¡databases ¡(Tomasic, ¡Valduriez ¡et ¡al., ¡1996) ¡ – Data ¡integra8on ¡(wrappers ¡/ ¡mediators) ¡up ¡to ¡VIDA ¡ [Karpathiotakis, ¡Alagiannis, ¡Heinis, ¡Branco, ¡Ailamaki, ¡ CIDR ¡2015] ¡ – Recent ¡hybrid ¡systems ¡[LeFevre, ¡Sankaranarayanan, ¡ Hacigumus, ¡Tatemura, ¡PolyzoNs, ¡Carey, ¡SIGMOD ¡ 2014]; ¡[Jindal, ¡Quiané-­‑Ruiz, ¡Di{rich, ¡CIDR ¡2013] ¡ ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

slide-36
SLIDE 36

Related ¡issues ¡

  • Orthogonal ¡concerns ¡

– Offering ¡users ¡a ¡single ¡integrated ¡view ¡

  • A ¡la ¡« ¡global-­‑as-­‑views ¡» ¡data ¡integraNon ¡

– Cleaning ¡and ¡extracNng ¡the ¡data ¡ ¡

  • Not ¡so ¡orthogonal ¡concerns ¡

– Providing ¡common ¡transacNonal ¡properNes ¡across ¡ different ¡DMS ¡ – « ¡Failsafe ¡mode ¡»: ¡use ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡only ¡for ¡ performance ¡on ¡top ¡of ¡a ¡« ¡vanilla ¡» ¡store ¡ ¡ – « ¡Gradual ¡»: ¡failsafe ¡ ¡à ¡monitor ¡applicaNon ¡à ¡ recommend ¡fragment ¡deployment) ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

slide-37
SLIDE 37

Wrap-­‑up ¡

  • Goal: ¡ ¡

– Handle ¡data ¡efficiently ¡on ¡top ¡of ¡a ¡given ¡set ¡of ¡ systems, ¡even ¡if ¡it ¡changes ¡ – Make ¡the ¡most ¡out ¡of ¡each ¡system ¡ ¡

  • Method: ¡

– View-­‑based ¡rewriNng ¡for ¡mulNple ¡data ¡models, ¡ under ¡constraints ¡

  • Status: ¡VBR ¡ongoing, ¡recommendaNon ¡next ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

slide-38
SLIDE 38

Fragments ¡distribuNon ¡across ¡stores ¡

Ioana ¡Manolescu ¡/ ¡Ecole ¡RESCOM ¡2015 ¡

JSON ¡ DMS ¡ RDF ¡ DMS ¡ Rel ¡ DBMS ¡ K-­‑v ¡ store ¡

Pig ¡store ¡ ¡

  • n ¡top ¡of ¡DFS ¡