Invisible Glue: Scalable Self-Tuning Mul5-Stores Francesca - - PowerPoint PPT Presentation

invisible glue scalable self tuning mul5 stores
SMART_READER_LITE
LIVE PREVIEW

Invisible Glue: Scalable Self-Tuning Mul5-Stores Francesca - - PowerPoint PPT Presentation

Invisible Glue: Scalable Self-Tuning Mul5-Stores Francesca Bugio; , Damian Bursztyn , Alin Deutsch , Ioana Ileana , Ioana Manolescu OAK


slide-1
SLIDE 1

Invisible ¡Glue: ¡ ¡ Scalable ¡Self-­‑Tuning ¡Mul5-­‑Stores ¡

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

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

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡2015 ¡

slide-2
SLIDE 2

The ¡problem ¡

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

– DM ¡includes ¡ ¡DBMS ¡

  • Different ¡data ¡models: ¡ ¡

– Rela5onal, ¡nested ¡rela5onal, ¡tree, ¡k-­‑v, ¡graphs, ¡… ¡ ¡

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

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

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

centralized ¡vs. ¡distributed ¡etc. ¡

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

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡2015 ¡

NoSQL ¡DMSs ¡ Cloud ¡DMSs ¡

slide-3
SLIDE 3

The ¡problem ¡

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

– DM ¡includes ¡ ¡DBMS ¡

  • Different ¡data ¡models: ¡ ¡

– Rela5onal, ¡nested ¡rela5onal, ¡tree, ¡k-­‑v, ¡graphs, ¡… ¡ ¡

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

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

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

centralized ¡vs. ¡distributed ¡etc. ¡

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

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡2015 ¡

NoSQL ¡DMSs ¡ Cloud ¡DMSs ¡

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

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

The ¡problem ¡

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

– DM ¡includes ¡ ¡DBMS ¡

  • Different ¡data ¡models: ¡ ¡

– Rela5onal, ¡nested ¡rela5onal, ¡tree, ¡k-­‑v, ¡graphs, ¡… ¡ ¡

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

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

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

centralized ¡vs. ¡distributed ¡etc. ¡

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

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡2015 ¡

NoSQL ¡DMSs ¡ Cloud ¡DMSs ¡

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

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

Focus ¡not ¡on ¡bea2ng ¡the ¡most ¡ specialized ¡op2miza2ons ¡of ¡the ¡ most ¡specialized ¡engine ¡for ¡a ¡ given ¡model/applica5on. ¡

slide-5
SLIDE 5

The ¡problem ¡

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

– DM ¡includes ¡ ¡DBMS ¡

  • Different ¡data ¡models: ¡ ¡

– Rela5onal, ¡nested ¡rela5onal, ¡tree, ¡k-­‑v, ¡graphs, ¡… ¡ ¡

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

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

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

centralized ¡vs. ¡distributed ¡etc. ¡

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

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡2015 ¡

NoSQL ¡DMSs ¡ Cloud ¡DMSs ¡

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

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

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

slide-6
SLIDE 6

The ¡problem, ¡qualified ¡

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

– DM ¡includes ¡ ¡DBMS ¡

  • Different ¡data ¡models: ¡ ¡

– Rela5onal, ¡nested ¡rela5onal, ¡tree, ¡k-­‑v, ¡graphs, ¡… ¡ ¡

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

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

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

centralized ¡vs. ¡distributed ¡etc. ¡

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

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡2015 ¡

NoSQL ¡DMSs ¡ Cloud ¡DMSs ¡

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

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

Automa2cally ¡ With ¡ correctness ¡ guarantees ¡ With ¡no ¡hassle ¡ for ¡the ¡ applica2on ¡layer ¡ Resilient ¡to ¡ changes ¡

slide-7
SLIDE 7

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

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

  • ­‑

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

  • ­‑

First ¡query ¡language, ¡ ¡ toy ¡implementa5on ¡ New ¡Data ¡Model: ¡ golden ¡days ¡ ¡ This ¡Simple ¡Model ¡ Needs ¡Extensions! ¡ The ¡Baseline ¡ ¡ Method ¡Needs ¡ ¡ Op2miza2ons! ¡ New ¡Data ¡Model: ¡ Standardiza5on ¡(?) ¡ Blessing/curse ¡ Industrial ¡adop5on ¡ New ¡Data ¡Model: ¡ Hybrid ¡solu5ons ¡ 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! ¡

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡2015 ¡

slide-8
SLIDE 8

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 ¡/ ¡par55ons ¡/ ¡indexes ¡/ ¡ ¡ materialized ¡(poten5ally ¡indexed) ¡ – Each ¡fragment ¡resides ¡in ¡a ¡DMS ¡

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡2015 ¡

slide-9
SLIDE 9

Dataset ¡fragmenta5ons ¡

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

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡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-10
SLIDE 10

Dataset ¡fragmenta5ons ¡

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡2015 ¡

Example: ¡rela5onal ¡dataset ¡R ¡

slide-11
SLIDE 11

Dataset ¡fragmenta5ons ¡

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡2015 ¡

Example: ¡rela5onal ¡dataset ¡R ¡

slide-12
SLIDE 12

Dataset ¡fragmenta5ons ¡

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡2015 ¡

Example: ¡rela5onal ¡dataset ¡R ¡

slide-13
SLIDE 13

Dataset ¡fragmenta5ons ¡

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡2015 ¡

Example: ¡rela5onal ¡dataset ¡R ¡

slide-14
SLIDE 14

Dataset ¡fragmenta5ons ¡

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡2015 ¡

Example: ¡rela5onal ¡dataset ¡R ¡

slide-15
SLIDE 15

Dataset ¡fragmenta5ons ¡

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡2015 ¡

Example: ¡rela5onal ¡dataset ¡R ¡

slide-16
SLIDE 16

Dataset ¡fragmenta5ons ¡

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡2015 ¡

Example: ¡rela5onal ¡dataset ¡R ¡

slide-17
SLIDE 17

¡ ¡Fragmenta5ons ¡made ¡of ¡views ¡

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡2015 ¡

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

declara2vely ¡ ¡

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

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

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

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

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

slide-18
SLIDE 18

Fragments ¡distribu5on ¡across ¡stores ¡

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡2015 ¡

slide-19
SLIDE 19

Fragments ¡distribu5on ¡across ¡stores ¡

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡2015 ¡

RDF ¡ DMS ¡

slide-20
SLIDE 20

Fragments ¡distribu5on ¡across ¡stores ¡

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡2015 ¡

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

slide-21
SLIDE 21

Fragments ¡distribu5on ¡across ¡stores ¡

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡2015 ¡

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

slide-22
SLIDE 22

Fragments ¡distribu5on ¡across ¡stores ¡

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡2015 ¡

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

slide-23
SLIDE 23

Fragments ¡distribu5on ¡across ¡stores ¡

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡2015 ¡

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

Pig ¡store ¡ ¡

  • n ¡top ¡of ¡DFS ¡

Data ¡model ¡transla2on ¡ applied ¡at ¡loading ¡

  • « ¡Dumb ¡» ¡transla5on ¡ ¡
  • The ¡extrac5on ¡logic ¡is ¡

in ¡the ¡view ¡

slide-24
SLIDE 24

Fragments ¡distribu5on ¡across ¡stores ¡

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡2015 ¡

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

Pig ¡store ¡ ¡

  • n ¡DFS ¡

Applica5ons ¡ ¡ query ¡the ¡data ¡in ¡ na5ve ¡format ¡

slide-25
SLIDE 25

Fragments ¡distribu5on ¡across ¡stores ¡

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡2015 ¡

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

Pig ¡store ¡ ¡

  • n ¡DFS ¡

Fragment ¡ descrip5on ¡by ¡ views ¡guarantees ¡ proper5es ¡such ¡as: ¡ ¡completeness ¡ inclusion, ¡ equivalence, ¡etc. ¡

slide-26
SLIDE 26

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

  • VBR ¡known ¡for ¡drama5c ¡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 ¡» ¡media5on ¡

– ≠ ¡data ¡models ¡

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡2015 ¡

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

  • vs. ¡
slide-27
SLIDE 27

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

  • VBR ¡known ¡for ¡drama5c ¡performance ¡improvements ¡
  • Comparison ¡with ¡« ¡Local ¡As ¡Views ¡» ¡media5on: ¡ ¡

– ≠ ¡data ¡models ¡ – Side-­‑by-­‑side ¡data ¡models ¡at ¡the ¡top ¡ à Common ¡benefit ¡with ¡LAV: ¡Applica5ons ¡unaware ¡of ¡the ¡fragmenta2on! ¡ à Novel ¡benefit: ¡fragments ¡can ¡migrate ¡to ¡≠ ¡systems ¡and ¡data ¡models ¡

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡2015 ¡

Na5ve ¡model ¡of ¡dataset ¡k ¡ Vk

1 ¡(DMSk1) ¡

Vk

nk ¡(DMSknk) ¡

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

1 ¡(DMS1) ¡

V1

n1 ¡(DMSn) ¡

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

slide-28
SLIDE 28

View-­‑based ¡rewri5ng ¡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 ¡rewri2ng ¡algorithms ¡

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

– Imprac5cal ¡due ¡to ¡many ¡data ¡model ¡combina5ons ¡

  • Our ¡solu5on ¡

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

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡2015 ¡

slide-29
SLIDE 29

VBR ¡with ¡heterogeneous ¡data ¡models ¡

  • At ¡the ¡core: ¡ ¡

– The ¡capacity ¡to ¡describe ¡dataset ¡proper2es ¡

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

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

– A ¡rewri2ng ¡algorithm ¡capable ¡of ¡leveraging ¡all ¡the ¡ informa2on ¡to ¡find ¡all ¡equivalent ¡query ¡rewri5ngs ¡ ¡

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

be ¡none ¡without ¡them! ¡

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

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

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡2015 ¡

slide-30
SLIDE 30

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡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-31
SLIDE 31

core ¡modules ¡

  • VBR ¡

– Outputs: ¡queries ¡to ¡DMSs ¡(in ¡their ¡na5ve ¡ language) ¡+ ¡remaining ¡integra5on ¡opera5ons ¡ – DMS ¡capability ¡descrip5ons ¡exploited ¡here. ¡

  • Run5me ¡

– To ¡perform ¡integra5on ¡opera5ons ¡ ¡ – For ¡this, ¡a ¡single ¡run5me ¡(for ¡the ¡most ¡expressive ¡ model, ¡e.g. ¡nested ¡rela5ons), ¡should ¡do ¡ – We ¡may ¡borrow ¡one ¡of ¡the ¡DMSs’s ¡run5me ¡

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡2015 ¡

slide-32
SLIDE 32

What ¡about ¡performance? ¡

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

evalua5on ¡performance ¡

– Cross-­‑system ¡cost ¡model ¡

  • Not ¡as ¡crazy ¡as ¡it ¡looks ¡(cost ¡model ¡calibra5on ¡’86; ¡it ¡works!) ¡
  • Modest ¡extension ¡for ¡binding ¡payerns ¡
  • View ¡recommenda5on ¡

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

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡2015 ¡

slide-33
SLIDE 33

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 ¡integra2on ¡(wrappers ¡/ ¡mediators) ¡up ¡to ¡VIDA ¡ [Karpathiotakis, ¡Alagiannis, ¡Heinis, ¡Branco, ¡Ailamaki, ¡ CIDR ¡2015] ¡ – Recent ¡hybrid ¡systems ¡[LeFevre, ¡Sankaranarayanan, ¡ Hacigumus, ¡Tatemura, ¡Polyzo5s, ¡Carey, ¡SIGMOD ¡ 2014]; ¡[Jindal, ¡Quiané-­‑Ruiz, ¡Diyrich, ¡CIDR ¡2013] ¡ ¡

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡2015 ¡

slide-34
SLIDE 34

Related ¡issues ¡

  • Orthogonal ¡concerns ¡

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

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

– Cleaning ¡and ¡extrac5ng ¡the ¡data ¡ ¡

  • Not ¡so ¡orthogonal ¡concerns ¡

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

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡2015 ¡

slide-35
SLIDE 35

Sample ¡applica5on: ¡smart ¡city ¡data ¡ integra5on ¡

  • Datalyse ¡French ¡R&D ¡project ¡

– Rela2onal ¡transport ¡database ¡ – RDF ¡Open ¡Data ¡produced ¡by ¡the ¡city ¡administra5on ¡ (cultural ¡artefacts, ¡events…) ¡ – Graph ¡social ¡network ¡data ¡harvested ¡from ¡various ¡ applica5ons ¡ – 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 ¡ ¡

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡2015 ¡

slide-36
SLIDE 36

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 ¡rewri5ng ¡for ¡mul5ple ¡data ¡models, ¡ under ¡constraints ¡

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

Bugio;, ¡Bursztyn, ¡Deutsch, ¡Ileana, ¡Manolescu ¡/ ¡Estocada ¡/ ¡CIDR ¡2015 ¡