Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Perm
Processing Provenance and Data on the
Same Data Model through Query
Rewriting
Boris
Glavic
Database Technology Group
...
2
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
Overview
1. Introduction to Perm
2. The Perm Provenance Repres...
3
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
1. Introduction
Query Transformation
Data items: Result relati...
4
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
1. Introduction
Query
 Which input data item(s)
influenced wh...
5
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
 The problem of computing this type of
provenance has been so...
6
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
1. Introduction
 Perm
 Provenance Extension of the Relationa...
7
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
1. Introduction
 Benefits: Provenance can be...
 ... Stored ...
8
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
1. Introduction
 Provenance Computation
 -> Use query rewrit...
9
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
1. Introduction
 Benefits:
 Rewritten query is expressed in ...
10
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
Overview
1. Introduction to Perm
2. The Perm Provenance Repre...
11
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
2. The Perm Approach
sNam
e
itemID
Migros 1
Migros 2
Migros 2...
12
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
2. The Perm Approach
 Compute the sum of sales for each shop...
13
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
2. The Perm Approach
sNam
e
itemID
Migros 1
Migros 2
Migros 2...
14
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
2. The Perm Approach
sNam
e
itemID
Migros 1
Migros 2
Migros 2...
15
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
2. The Perm Approach
sNam
e
itemID
Migros 1
Migros 2
Migros 2...
16
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
2. The Perm Approach
 Desired result format:
Original
Attrib...
17
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
2. The Perm Approach
name sum(price) P(sName) P(itemId) P(id)...
18
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
Overview
1. Introduction to Perm
2. The Perm Provenance Repre...
19
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
3. Query Rewriting for
Provenance Computation
 Rewrite metho...
20
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
3. Query Rewriting for
Provenance Computation
 Rewrite proce...
21
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
3. Query Rewriting for
Provenance Computation
 Rewrite proce...
22
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
3. Query Rewriting for
Provenance Computation
 Rewrite proce...
23
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
3. Query Rewriting for
Provenance Computation
 Rewrite rules...
24
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
3. Query Rewriting for
Provenance Computation
 Rewrite rules...
25
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
3. Query Rewriting for
Provenance Computation
 Rewrite rules...
26
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
3. Query Rewriting for
Provenance Computation
SELECT sum, sho...
27
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
SELECT sum, shop, pShop, pMonth, pRevenue
FROM
(SELECT sum(re...
28
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
SELECT sum, shop, pShop, pMonth, pRevenue
FROM
(SELECT sum(re...
29
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
Overview
1. Introduction to Perm
2. The Perm Provenance Repre...
30
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
4. Perm Implementation
 Extension of PostgreSQL DBMS
 Imple...
31
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
4. Perm Implementation
 SQL-PLE: SQL extension
 SELECT PROV...
32
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
4. Perm Implementation
 Perm Architecture
Parser & Analyser
...
33
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
Overview
1. Introduction to Perm
2. The Perm Provenance Repre...
34
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
5. Experimental Results
 TPC-H benchmark
Zur Anzeige wird de...
35
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
Overview
1. Introduction to Perm
2. The Perm Provenance Repre...
36
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
6. Conclusion
 Benefits
 Compute provenance for SQL
 Full ...
37
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
6. Conclusion
 Future work
 Physical operators for more eff...
38
Zur Anzeige wird der QuickTime™
Dekompressor „“
benötigt.
Questions
Zur Anzeige wird der QuickTime™
Dekompressor „“
ben...
Upcoming SlideShare
Loading in …5
×

ICDE 2009 - Perm: Processing Provenance and Data on the same Data Model through Query Rewriting

553 views

Published on

Data provenance is information that describes how a given data item was produced. The provenance includes source and intermediate data as well as the transformations involved in producing the concrete data item. In the context of a relational databases, the source and intermediate data
items are relations, tuples and attribute values. The transformations are SQL queries and/or functions on the relational data items. Existing approaches capture provenance information by extending the underlying data model. This has the intrinsic disadvantage that the provenance must be stored and accessed using a different model than the actual data. In this paper, we present an alternative approach that uses query rewriting to annotate result tuples with provenance information. The rewritten query and its result use the same model and can, thus, be queried, stored and optimized using standard relational database techniques. In the paper we formalize the query rewriting procedures, prove their correctness, and evaluate a first implementation of the ideas using PostgreSQL. As the experiments indicate, our approach efficiently provides provenance information inducing only a small overhead on normal operations.

Published in: Science, Technology
  • Be the first to comment

  • Be the first to like this

ICDE 2009 - Perm: Processing Provenance and Data on the same Data Model through Query Rewriting

  1. 1. Perm Processing Provenance and Data on the Same Data Model through Query Rewriting Boris Glavic Database Technology Group Department of Informatics University of Zurich glavic@ifi.uzh.ch Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. Gustavo Alonso Systems Group Department of Computer Science ETH Zurich alonso@inf.ethz.ch
  2. 2. 2 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. Overview 1. Introduction to Perm 2. The Perm Provenance Representation 3. Query Rewriting for Provenance Computation 4. Perm Implementation 5. Experimental Results 6. Conclusion
  3. 3. 3 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. 1. Introduction Query Transformation Data items: Result relation Data items: Base relations  Relational Provenance
  4. 4. 4 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. 1. Introduction Query  Which input data item(s) influenced which output data item(s)?  Granularity  Tuple  Attribute Value  ...  Contribution semantics  Influence (Why)  Copy (Where)  ...
  5. 5. 5 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt.  The problem of computing this type of provenance has been solved before  See e.g. [Cui, Widom ICDE ‘00]  but...  Non-relational representation of provenance data  Separation of provenance and “normal” data  Non-relational computation of provenance data 1. Introduction
  6. 6. 6 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. 1. Introduction  Perm  Provenance Extension of the Relational Model  Provenance Management System  “Pure” Relational representation of provenance  Query result tuples and provenance tuples are represented as a single relation
  7. 7. 7 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. 1. Introduction  Benefits: Provenance can be...  ... Stored in standard DBMS  ... Queried using SQL  ... Directly interpreted by a user  Direct association between provenance and “normal data”
  8. 8. 8 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. 1. Introduction  Provenance Computation  -> Use query rewrite  Given query q  Generate query q+  Computes the provenance of all result tuples from q
  9. 9. 9 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. 1. Introduction  Benefits:  Rewritten query is expressed in relational algebra  Can be optimized and executed by a R-DBMS  E.g. can be stored as a view  Used as a subquery
  10. 10. 10 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. Overview 1. Introduction to Perm 2. The Perm Provenance Representation 3. Query Rewriting for Provenance Computation 4. Perm Implementation 5. Results 6. Conclusion
  11. 11. 11 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. 2. The Perm Approach sNam e itemID Migros 1 Migros 2 Migros 2 Coop 3 Coop 3 id price 1 100 2 10 3 25 itemssales
  12. 12. 12 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. 2. The Perm Approach  Compute the sum of sales for each shop SELECT sName, sum(price) FROM sales, items WHERE itemId = id GROUP BY sName;
  13. 13. 13 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. 2. The Perm Approach sNam e itemID Migros 1 Migros 2 Migros 2 Coop 3 Coop 3 id price 1 100 2 10 3 25 itemssales name Sum(price) Migros 120 Coop 50 result
  14. 14. 14 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. 2. The Perm Approach sNam e itemID Migros 1 Migros 2 Migros 2 Coop 3 Coop 3 id price 1 100 2 10 3 25 itemssales name Sum(price) Migros 120 Coop 50 result
  15. 15. 15 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. 2. The Perm Approach sNam e itemID Migros 1 Migros 2 Migros 2 Coop 3 Coop 3 id price 1 100 2 10 3 25 itemssales name Sum(price) Migros 120 Coop 50 result
  16. 16. 16 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. 2. The Perm Approach  Desired result format: Original Attributes Relation 1 Attributes Relation n Attributes
  17. 17. 17 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. 2. The Perm Approach name sum(price) P(sName) P(itemId) P(id) P(price) Migros 120 Migros 1 1 100 Migros 120 Migros 2 2 10 Migros 120 Migros 2 2 10 Coop 10 Coop 3 3 25 Coop 10 Coop 3 3 25 Original result sales items
  18. 18. 18 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. Overview 1. Introduction to Perm 2. The Perm Provenance Representation 3. Query Rewriting for Provenance Computation 4. Perm Implementation 5. Results 6. Conclusion
  19. 19. 19 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. 3. Query Rewriting for Provenance Computation  Rewrite method basics  Use algebra representation of the query  Replace every algebra operator with an algebra statement that propagates provenance alongside with the original results  -> need a rewrite rule for each relational algebra operator
  20. 20. 20 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. 3. Query Rewriting for Provenance Computation  Rewrite process op3 op1 op2
  21. 21. 21 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. 3. Query Rewriting for Provenance Computation  Rewrite process op3 op1 op2 op3 op1b op2 op1a op1c Apply Rewrite rule
  22. 22. 22 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. 3. Query Rewriting for Provenance Computation  Rewrite process op3 op1b op2 op1a op1c Apply Rewrite rules
  23. 23. 23 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. 3. Query Rewriting for Provenance Computation  Rewrite rules notations: Rewritten statement (query) Provenance attributes T + P(T + )
  24. 24. 24 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. 3. Query Rewriting for Provenance Computation  Rewrite rules example: SELECT agg, G FROM T GROUP BY G SELECT agg, G, P(T) FROM (SELECT agg, G FROM T GROUP BY G) AS agg LEFT OUTER JOIN (SELECT G AS G’, P(T) FROM T ) AS prov ON (G = G’) +
  25. 25. 25 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. 3. Query Rewriting for Provenance Computation  Rewrite rules example: SELECT sum(revenue) AS sum, shop FROM sales GROUP BY shop shop month revenue Migros Jan 100 Migros Feb 10 Migros Mar 10 Coop Jan 25 Coop Feb 25 sales sum shop 120 Migros 50 Coop result
  26. 26. 26 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. 3. Query Rewriting for Provenance Computation SELECT sum, shop, pShop, pMonth, pRevenue FROM (SELECT sum(revenue) AS sum, shop FROM sales GROUP BY shop) AS agg LEFT OUTER JOIN (SELECT shop AS shop’, pShop, pMonth, pRevenue FROM sales ) AS prov ON (shop = shop’) sum shop pShop pMonth pRevenu e 120 Migros Migros Jan 100 120 Migros Migros Feb 10 120 Migros Migros Mar 10 50 Coop Coop Jan 25 50 Coop Coop Feb 25 +
  27. 27. 27 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. SELECT sum, shop, pShop, pMonth, pRevenue FROM (SELECT sum(revenue) AS sum, shop FROM sales GROUP BY shop) AS agg LEFT OUTER JOIN (SELECT shop AS shop’, pShop, pMonth, pRevenue FROM sales ) AS prov ON (shop = shop’) 3. Query Rewriting for Provenance Computation sum shop pShop pMonth pRevenu e 120 Migros Migros Jan 100 120 Migros Migros Feb 10 120 Migros Migros Mar 10 50 Coop Coop Jan 25 50 Coop Coop Feb 25 +
  28. 28. 28 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. SELECT sum, shop, pShop, pMonth, pRevenue FROM (SELECT sum(revenue) AS sum, shop FROM sales GROUP BY shop) AS agg LEFT OUTER JOIN (SELECT shop AS shop’, pShop, pMonth, pRevenue FROM sales ) AS prov ON (shop = shop’) 3. Query Rewriting for Provenance Computation sum shop pShop pMonth pRevenu e 120 Migros Migros Jan 100 120 Migros Migros Feb 10 120 Migros Migros Mar 10 50 Coop Coop Jan 25 50 Coop Coop Feb 25 +
  29. 29. 29 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. Overview 1. Introduction to Perm 2. The Perm Provenance Representation 3. Query Rewriting for Provenance Computation 4. Perm Implementation 5. Results 6. Conclusion
  30. 30. 30 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. 4. Perm Implementation  Extension of PostgreSQL DBMS  Implemented inside of PostgreSQL  -> does not affect client applications  Extended SQL language  Perm module  Implements algebraic rewrite rules as query rewrites
  31. 31. 31 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. 4. Perm Implementation  SQL-PLE: SQL extension  SELECT PROVENANCE ...  Nice benefits:  CREATE VIEW x AS SELECT PROVENANCE ...  SELECT PROVENANCE ... INTO x ...  SELECT ... FROM (SELECT PROVENANCE ...
  32. 32. 32 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. 4. Perm Implementation  Perm Architecture Parser & Analyser Rewriter Perm Module Planner Executor SELECT PROVENANCE .... Q =... Q’+ =... MergeJoin (... Q’ =...
  33. 33. 33 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. Overview 1. Introduction to Perm 2. The Perm Provenance Representation 3. Query Rewriting for Provenance Computation 4. Perm Implementation 5. Experimental Results 6. Conclusion
  34. 34. 34 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. 5. Experimental Results  TPC-H benchmark Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt.
  35. 35. 35 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. Overview 1. Introduction to Perm 2. The Perm Provenance Representation 3. Query Rewriting for Provenance Computation 4. Perm Implementation 5. Experimental Results 6. Conclusion
  36. 36. 36 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. 6. Conclusion  Benefits  Compute provenance for SQL  Full SQL query power for provenance data  Lazy or eager computation  Reuse existing database technology  Supports external provenance
  37. 37. 37 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. 6. Conclusion  Future work  Physical operators for more efficient provenance computation  Storage compression  Include transformation provenance  Support different contribution semantics  Support various granularities
  38. 38. 38 Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. Questions Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. Zur Anzeige wird der QuickTime™Dekompressor „“benötigt. Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt. Zur Anzeige wird der QuickTime™ Dekompressor „“ benötigt.

×