CSE 232A Graduate Database Systems Arun Kumar Topic 4: Query - - PowerPoint PPT Presentation

cse 232a graduate database systems
SMART_READER_LITE
LIVE PREVIEW

CSE 232A Graduate Database Systems Arun Kumar Topic 4: Query - - PowerPoint PPT Presentation

CSE 232A Graduate Database Systems Arun Kumar Topic 4: Query Optimization Chapters 12 and 15 of Cow Book Slide ACKs: Jignesh Patel, Paris Koutris 1 Lifecycle of a Query Query Result Query Database Server Query Execute Parser


slide-1
SLIDE 1

Topic 4: Query Optimization Chapters 12 and 15 of Cow Book

Arun Kumar

1

CSE 232A
 Graduate Database Systems

Slide ACKs: Jignesh Patel, Paris Koutris

slide-2
SLIDE 2

2

Query Query Result

Database Server

Select R.text from Report R, Weather W where W.image.rain() and W.city = R.city and W.date = R.date and R.text. matches(“insurance claims”)

Query Syntax Tree and Logical Query Plan Parser Physical Query Plan Optimizer Segments Query 
 Scheduler

|…|……|………..|………..| |…|……|………..|………..| |…|……|………..|………..| |…|……|………..|………..| |…|……|………..|………..| |…|……|………..|………..| |…|……|………..|………..| |…|……|………..|………..| |…|……|………..|………..| |…|……|………..|………..| |…|……|………..|………..|

Query Result Execute Operators

Lifecycle of a Query

slide-3
SLIDE 3

3

Recall the Netflix Schema

RatingID Stars RateDate UID MID 1 3.5 08/27/15 79 20 … … … … … UID Name Age JoinDate 79 Alice 23 01/10/13 80 Bob 41 05/10/13 MID Name Year Director 20 Inception 2010 Christopher Nolan 16 Avatar 2009 Jim Cameron

Ratings Users Movies

slide-4
SLIDE 4

4

Example SQL Query

RatingID Stars RateDate UID MID UID Name Age JoinDate MID Name Year Director

SELECT M.Year, COUNT(*) AS NumBest FROM Ratings R, Movies M WHERE R.MID = M.MID AND R.Stars = 5 GROUP BY M.Year ORDER BY NumBest DESC

Suppose, we also have a B+Tree Index on Ratings (Stars)

slide-5
SLIDE 5

Logical Query Plan

5

SELECT R.stars = 5 Ratings Table SELECT No predicate Movies Table JOIN R.MID = M.MID GROUP BY AGGREGATE M.Year, COUNT(*) SORT On NumBest Result Table

Called “Logical” Operators From extended RA Each one has alternate “physical” implementations

slide-6
SLIDE 6

6

Indexed Access Use Index on Stars Ratings Table File Scan Read heapfile Movies Table Index-Nested Loop Join Sort-based Aggregate External Merge-Sort In-mem quicksort; B=50 Result Table

Physical Query Plan

Called “Physical” Operators Specifies exact algorithm/code to run for each logical

  • perator, with all

parameters (if any) Aka “Query Evaluation Plan”

slide-7
SLIDE 7

7

File Scan Read Index leaf pages Ratings Table File Scan Read heapfile Movies Table Hash Join Hash-based Aggregate External Merge-Sort In-mem quicksort; B=50 Result Table

Physical Query Plan

This is also a correct PQP for the given LQP! Q: Which PQP is faster? This is a key job of the RDBMS Query Optimizer!

slide-8
SLIDE 8

So, what is query optimization and how does it work?

8

slide-9
SLIDE 9

9

Meet Query Optimization

A given LQP could have several possible PQPs with very different runtime performance Basic Idea: Get the optimal (fastest) PQP for a given LQP Goal (Ideal): Goal (Realistic): Fine, just avoid the “clearly awful” PQPs! Query optimization is a metaphor for life itself! It is often hard to even know what an optimal plan would be, but it is feasible to avoid many

  • bviously bad plans!

Jeff Naughton

slide-10
SLIDE 10

10

Query Optimization

❖ Overview of Query Optimizer ❖ Physical Query Plan (PQP) Concept: Pipelining Mechanism: Iterator Interface ❖ Enumerating Alternative PQPs Logical: Algebraic Rewrites Physical: Choosing Phy. Op. Impl. ❖ Costing PQPs ❖ Materialized Views

slide-11
SLIDE 11

11

Overview of Query Optimizer

SQL Query Logical Query Plan Physical Query Plan (Optimized) Parser Plan Enumerator Plan Cost Estimator Optimizer To Scheduler/Executor Catalog

slide-12
SLIDE 12

System Catalog

12

❖ Set of pre-defined relations for metadata about DB (schema) ❖ For each Relation: Relation name, File name File structure (heap file vs. clustered B+ tree, etc.) Attribute names and types; Integrity constraints; Indexes ❖ For each Index: Index name, Structure (B+ tree vs. hash, etc.); Index key ❖ For each View: View name, and View definition

slide-13
SLIDE 13

Statistics in the System Catalog

13

❖ RDBMS periodically collects stats about DB (instance) ❖ For each Table R: Cardinality, i.e., number of tuples, NTuples (R) Size, i.e., number of pages, NPages (R), or just NR ❖ For each Index X: Cardinality, i.e., number of distinct keys IKeys (X) Size, i.e., number of pages IPages (X) (for a B+ tree, this is the number of leaf pages only) Height (for tree indexes) IHeight (X) Min and max keys in index ILow (X), IHigh (X)

slide-14
SLIDE 14

14

Query Optimization

❖ Overview of Query Optimizer ❖ Physical Query Plan (PQP) Concept: Pipelining Mechanism: Iterator Interface ❖ Enumerating Alternative PQPs Logical: Algebraic Rewrites Physical: Choosing Phy. Op. Impl. ❖ Costing PQPs ❖ Materialized Views

slide-15
SLIDE 15

15

File Scan Read Index leaf pages Movies Table File Scan Read heapfile RatingsTable Hash Join Hash-based Aggregate External Merge-Sort In-mem quicksort; B=50 Result Table

Concept: Pipelining

Q: Does the hash-based aggregate have to wait till the entire output of the “upstream” hash join is available? No! We can “pipeline” the output

  • f the join – pass on

a join output tuple as soon as it is obtained!

slide-16
SLIDE 16

16

Concept: Pipelining

Do not force “downstream” physical operators to wait till the entire output is available Basic Idea: Display output to the user incrementally CPU Parallelism in multi-core systems! Benefits: Tuples File Scan Hash Join Hash-based Aggregate

slide-17
SLIDE 17

17

Concept: Pipelining

❖ Crucial for PQPs with workflow of many phy. ops. ❖ Common feature of almost all RDBMSs ❖ Works for many operators: SCAN, HASH JOIN, etc. Q: Are all physical operators amenable to pipelining? No! Some may “stall” the pipeline: “Blocking Op” Usually, any phy. op. involving sorting is blocking! A blocking op. requires its output to be Materialized as a temporary table

slide-18
SLIDE 18

18

File Scan Read heapfile Movies Table File Scan Read heapfile RatingsTable Sort-Merge Join Hash-based Aggregate External Merge-Sort In-mem quicksort; B=50 Result Table

Blocking Op

This phy. op. is blocking because we need to sort Movies and sort Ratings (materialize the output) before we can start any aggregate computations!

slide-19
SLIDE 19

19

Query Optimization

❖ Overview of Query Optimizer ❖ Physical Query Plan (PQP) Concept: Pipelining Mechanism: Iterator Interface ❖ Enumerating Alternative PQPs Logical: Algebraic Rewrites Physical: Choosing Phy. Op. Impl. ❖ Costing PQPs ❖ Materialized Views

slide-20
SLIDE 20

20

Mechanism: Iterator Interface

❖ Software API to process PQP; makes pipelining easy to impl. ❖ Enables us to abstract away individual phy. op. impl. details ❖ Three main functions in usage interface of each phy. op.: Open(): Initialize the phy. op. “state”, get arguments Allocate input and output buffers GetNext(): Ask the phy. op. impl. to “deliver” next

  • utput tuple; pass it on; if blocking, wait

Close(): Clear phy. op. state, free up space

slide-21
SLIDE 21

21

Query Optimization

❖ Overview of Query Optimizer ❖ Physical Query Plan (PQP) Concept: Pipelining Mechanism: Iterator Interface ❖ Enumerating Alternative PQPs Logical: Algebraic Rewrites Physical: Choosing Phy. Op. Impl. ❖ Costing PQPs ❖ Materialized Views

slide-22
SLIDE 22

22

Overview of Query Optimizer

SQL Query Logical Query Plan Physical Query Plan (Optimized) Parser Plan Enumerator Plan Cost Estimator Optimizer To Scheduler/Executor Catalog

slide-23
SLIDE 23

23

Enumerating Alternative PQPs

❖ Plan Enumerator explores various PQPs for a given LQP ❖ Challenge: Space of plans is huge! How to make it feasible? ❖ RDBMS Plan Enumerator has Rules to help determine what plans to enumerate, and also consults Cost models ❖ Two main sources of Rules for enumerating plans: Logical: Algebraic Rewrites: Use relational algebra equivalence to rewrite LQP itself! Physical: Choosing Phy. Op. Impl.: Use different phy. op. impl. for a given log. op. in LQP

slide-24
SLIDE 24

24

Query Optimization

❖ Overview of Query Optimizer ❖ Physical Query Plan (PQP) Concept: Pipelining Mechanism: Iterator Interface ❖ Enumerating Alternative PQPs Logical: Algebraic Rewrites Physical: Choosing Phy. Op. Impl. ❖ Costing PQPs ❖ Materialized Views

slide-25
SLIDE 25

25

Algebraic Rewrite Rules

❖ Rewrite a given RA query in to another that is equivalent (a logical property) but might be faster (a physical property) ❖ RA operators have some formal properties we can exploit ❖ We will cover only a few rewrite rules: Single-operator Rewrites Unary operators Binary operators Cross-operator Rewrites

slide-26
SLIDE 26

26

Unary Operator Rewrites

Q: Why are cascading rewrites beneficial?

σp1(σp2(R)) = σp2(σp1(R))

❖ Key unary operators in RA: ❖ Commutativity of ❖ Cascading of ❖ Cascading of

σ σ σ π π

σp1(σp2(. . . σpn(R) . . . )) = σp1∧p2∧···∧pn(R) πA1(πA2(. . . πAn(R) . . . )) = πA1(R)

Ai ⊆ Ai+1∀i = 1 . . . (n − 1)

slide-27
SLIDE 27

27

Binary Operator Rewrites

Q: Why are these properties beneficial? Q: What other binary operators in RA satisfy these? ❖ Key binary operator in RA: ❖ Associativity of ❖ Commutativity of

R . / S = S . / R

. / . / . /

(R . / S) . / T = R . / (S . / T)

slide-28
SLIDE 28

28

Cross-Operator Rewrites

❖ Commuting and

σ π

A ⊆ B

σp(A)(πB(R)) = πB(σp(A)(R))

❖ Combining and

σ ×

❖ “Pushing the select” ❖ Commuting with and

A ⊆ R.∗

× π . /

p(R × S) = R . /p S

p(A)(R . / S) = p(A)(R) . / S

σp(A)(R × S) = σp(A)(R) × S πA(R × S) = πA∩R.∗(R) × πA∩S.∗(S)

⇡A(R . /p(B) S) = ⇡A∩R.∗(R) . /p(B) ⇡A∩S.∗(S)

B ⊆ A

slide-29
SLIDE 29

29

Review Question

slide-30
SLIDE 30

30

Query Optimization

❖ Overview of Query Optimizer ❖ Physical Query Plan (PQP) Concept: Pipelining Mechanism: Iterator Interface ❖ Enumerating Alternative PQPs Logical: Algebraic Rewrites Physical: Choosing Phy. Op. Impl. ❖ Costing PQPs ❖ Materialized Views

slide-31
SLIDE 31

31

Choosing Phy. Op. Impl.

3 options 3 options 4 options = 36 PQPs! Q: With algebraic rewrites?! ❖ Given a (rewritten) LQP, pick phy. op. impl. for each log. op. ❖ Recall various RA op. impl. with their I/O (and CPU costs) File scan vs Indexed (B+ Tree vs Hash) Hashing-based vs Sorting-based vs Indexed BNLJ vs INLJ vs SMJ vs HJ etc.

σ π

. /

slide-32
SLIDE 32

32

  • Phy. Op. Impl.: Other Factors

❖ Are the indexes clustered or unclustered? ❖ Are there multiple matching indexes? Use multiple? ❖ Are index-only access paths possible for some ops? ❖ Are there “interesting orderings” among the inputs? ❖ Would sorted outputs benefit downstream ops? ❖ Estimation of cardinality of intermediate results! ❖ How best to reorder multi-table joins? Still a hard, open research problem! Query optimizers are complex beasts!

slide-33
SLIDE 33

33

  • Phy. Op. Impl.: Join Orderings

❖ Since joins are associative, exponential number of orderings! Left Deep tree Right Deep tree “Bushy” tree ❖ Almost all RDBMSs consider only left deep join trees Enables easy pipelining! Why? ❖ “Interesting orderings” idea from System R optimizer paper ❖ Dynamic program to combine enumeration and costing

“Access Path Selection in a Relational Database Management System” SIGMOD’79

slide-34
SLIDE 34

34

Query Optimization

❖ Overview of Query Optimizer ❖ Physical Query Plan (PQP) Concept: Pipelining Mechanism: Iterator Interface ❖ Enumerating Alternative PQPs Logical: Algebraic Rewrites Physical: Choosing Phy. Op. Impl. ❖ Costing PQPs ❖ Materialized Views

slide-35
SLIDE 35

35

Overview of Query Optimizer

SQL Query Logical Query Plan Physical Query Plan (Optimized) Parser Plan Enumerator Plan Cost Estimator Optimizer To Scheduler/Executor Catalog

slide-36
SLIDE 36

36

Costing PQPs

❖ For each PQP considered by the Plan Enumerator, the Plan Cost Estimator computes “Cost” of the PQP Weighted sum of I/O cost and CPU cost (Distributed RDBMSs also include Network cost) ❖ Challenge: Given a PQP, compute overall cost ❖ Issues to consider: Pipelining vs. blocking ops; cannot simply add costs! Cardinality estimation for intermediate tables! Q: What statistics does the catalog have to help?

slide-37
SLIDE 37

37

Costing PQPs

❖ Most RDBMSs use various heuristics to make costing tractable; so, it is approximate! ❖ Example: Complex predicates Not enough info! But, most RDBMSs use the independence heuristic! Selectivity of conjunction = Product of selectivities Thus, ≈ 0.05 * 0.1 = 0.005, i.e., 0.5%

slide-38
SLIDE 38

38

Query Optimization: Summary

❖ Plan Enumerator and Cost Estimator work in lock step: Rules determine what PQPs are enumerated Logical: Algebraic rewrites of LQP Physical: Op. Impl. and ordering alternatives Cost models and heuristics help cost the PQPs ❖ Still an active research area! Parametric Q.O., Multi-objective Q.O., Multi-objective parametric Q.O., Multiple Q.O., Online/Adaptive Q.O., Dynamic re-optimization, etc.

slide-39
SLIDE 39

39

Review Question

RatingID Stars RateDate UID MID

SELECT COUNT(DISTINCT UID) FROM Ratings

Page size 8KB; Buffer memory 4GB; 8B for each field Propose an efficient physical plan and compute its I/O cost. 10m pages Q: What if there was an unclustered B+ tree index on UID? (RecordID pointers can be assumed to be 8B too)

slide-40
SLIDE 40

40

Review Question

RatingID Stars RateDate UID MID MID Name Year Director

SELECT AVG(Stars) FROM Ratings R, Movies M WHERE R.MID = M.MID AND M.Director = “Christopher Nolan” AND R.UID = 1234;

10m pages 100k pages Page size 8KB; Buffer memory 4GB Propose an efficient physical plan that does not materialize any intermediate data (fully pipelined) and compute its I/O cost.

slide-41
SLIDE 41

41

Query Optimization

❖ Overview of Query Optimizer ❖ Physical Query Plan (PQP) Concept: Pipelining Mechanism: Iterator Interface ❖ Enumerating Alternative PQPs Logical: Algebraic Rewrites Physical: Choosing Phy. Op. Impl. ❖ Costing PQPs ❖ Materialized Views

slide-42
SLIDE 42

42

Introducing Materialized Views

❖ A View is a “virtual table” created with an SQL query ❖ A Materialized View is a physically instantiated/stored view RatingID Stars RateDate UID MID UID Name Age JoinDate MID Name Year Director Example:

SELECT AVG(Stars) FROM Ratings R, Movies M, Users U WHERE R.MID = M.MID AND R.UID = U.UID M.Director = “Christopher Nolan” AND U.Age >= 20 AND U.Age < 30;

AVG(Stars)(R . / Director=“Christopher Nolan”(M) . / 20≤Age<30(U))

<latexit sha1_base64="4hc4knyHFKtKx2FU4HrZUrW2DfY=">ACeXicbVFNbxMxEPUuXyV8NIUjHEyjog2HardFKgeQCkWC6h8JK2UjdJZ7Kxaq9X9iwoWi2/gd/GjT/ChQtOmkjQMJKl5zdvPOM3Wamkozj+GYRXrl67fmPjZuvW7Tt3N9tb9/rOVFZgTxhl7GkGDpUsEeSFJ6WFkFnCk+y86N5/uQLWidN8ZlmJQ415IWcSAHkqVH7e5qD1jBKNdBUv2y/yb6RGBdt+HR5m5itJ5KmTuVfVK9lraVGQsc2Ls7MVdzS1fl5TtF+e28UFM12E73r2xF/NU+euqY4Nf873Y9+w1+2O2p14N14EXwfJEnTYMo5H7R/p2IhKY0FCgXODJC5pWIMlKRQ2rbRyWI4hxwHhag0Q3rhXMN3/HMmE+M9acgvmD/rqhBOzfTmVfOx3WXc3Pyf7lBRZNnw1oWZUVYiItGk0pxMny+Bj5eGKhmHoCw0s/KxRQsCPLankTkstfXgf9vd3E4w9PO4evlnZsAdsm0UsYQfskL1lx6zHBPsVPAx2gsfB7/BRGIVPLqRhsKy5z/6JcP8PbkK/yg=</latexit><latexit sha1_base64="4hc4knyHFKtKx2FU4HrZUrW2DfY=">ACeXicbVFNbxMxEPUuXyV8NIUjHEyjog2HardFKgeQCkWC6h8JK2UjdJZ7Kxaq9X9iwoWi2/gd/GjT/ChQtOmkjQMJKl5zdvPOM3Wamkozj+GYRXrl67fmPjZuvW7Tt3N9tb9/rOVFZgTxhl7GkGDpUsEeSFJ6WFkFnCk+y86N5/uQLWidN8ZlmJQ415IWcSAHkqVH7e5qD1jBKNdBUv2y/yb6RGBdt+HR5m5itJ5KmTuVfVK9lraVGQsc2Ls7MVdzS1fl5TtF+e28UFM12E73r2xF/NU+euqY4Nf873Y9+w1+2O2p14N14EXwfJEnTYMo5H7R/p2IhKY0FCgXODJC5pWIMlKRQ2rbRyWI4hxwHhag0Q3rhXMN3/HMmE+M9acgvmD/rqhBOzfTmVfOx3WXc3Pyf7lBRZNnw1oWZUVYiItGk0pxMny+Bj5eGKhmHoCw0s/KxRQsCPLankTkstfXgf9vd3E4w9PO4evlnZsAdsm0UsYQfskL1lx6zHBPsVPAx2gsfB7/BRGIVPLqRhsKy5z/6JcP8PbkK/yg=</latexit><latexit sha1_base64="4hc4knyHFKtKx2FU4HrZUrW2DfY=">ACeXicbVFNbxMxEPUuXyV8NIUjHEyjog2HardFKgeQCkWC6h8JK2UjdJZ7Kxaq9X9iwoWi2/gd/GjT/ChQtOmkjQMJKl5zdvPOM3Wamkozj+GYRXrl67fmPjZuvW7Tt3N9tb9/rOVFZgTxhl7GkGDpUsEeSFJ6WFkFnCk+y86N5/uQLWidN8ZlmJQ415IWcSAHkqVH7e5qD1jBKNdBUv2y/yb6RGBdt+HR5m5itJ5KmTuVfVK9lraVGQsc2Ls7MVdzS1fl5TtF+e28UFM12E73r2xF/NU+euqY4Nf873Y9+w1+2O2p14N14EXwfJEnTYMo5H7R/p2IhKY0FCgXODJC5pWIMlKRQ2rbRyWI4hxwHhag0Q3rhXMN3/HMmE+M9acgvmD/rqhBOzfTmVfOx3WXc3Pyf7lBRZNnw1oWZUVYiItGk0pxMny+Bj5eGKhmHoCw0s/KxRQsCPLankTkstfXgf9vd3E4w9PO4evlnZsAdsm0UsYQfskL1lx6zHBPsVPAx2gsfB7/BRGIVPLqRhsKy5z/6JcP8PbkK/yg=</latexit><latexit sha1_base64="4hc4knyHFKtKx2FU4HrZUrW2DfY=">ACeXicbVFNbxMxEPUuXyV8NIUjHEyjog2HardFKgeQCkWC6h8JK2UjdJZ7Kxaq9X9iwoWi2/gd/GjT/ChQtOmkjQMJKl5zdvPOM3Wamkozj+GYRXrl67fmPjZuvW7Tt3N9tb9/rOVFZgTxhl7GkGDpUsEeSFJ6WFkFnCk+y86N5/uQLWidN8ZlmJQ415IWcSAHkqVH7e5qD1jBKNdBUv2y/yb6RGBdt+HR5m5itJ5KmTuVfVK9lraVGQsc2Ls7MVdzS1fl5TtF+e28UFM12E73r2xF/NU+euqY4Nf873Y9+w1+2O2p14N14EXwfJEnTYMo5H7R/p2IhKY0FCgXODJC5pWIMlKRQ2rbRyWI4hxwHhag0Q3rhXMN3/HMmE+M9acgvmD/rqhBOzfTmVfOx3WXc3Pyf7lBRZNnw1oWZUVYiItGk0pxMny+Bj5eGKhmHoCw0s/KxRQsCPLankTkstfXgf9vd3E4w9PO4evlnZsAdsm0UsYQfskL1lx6zHBPsVPAx2gsfB7/BRGIVPLqRhsKy5z/6JcP8PbkK/yg=</latexit>

Requires file scans of R, M, and U and, say, hash joins

slide-43
SLIDE 43

43

Materialized Views Example

CREATE MATERIALIZED VIEW NolanRatings AS SELECT RatingID, Stars, UID, MID FROM Ratings R, Movies M WHERE R.MID = M.MID AND M.Director = “Christopher Nolan”;

AVG(Stars)(R . / Director=“Christopher Nolan”(M) . / 20≤Age<30(U))

<latexit sha1_base64="4hc4knyHFKtKx2FU4HrZUrW2DfY=">ACeXicbVFNbxMxEPUuXyV8NIUjHEyjog2HardFKgeQCkWC6h8JK2UjdJZ7Kxaq9X9iwoWi2/gd/GjT/ChQtOmkjQMJKl5zdvPOM3Wamkozj+GYRXrl67fmPjZuvW7Tt3N9tb9/rOVFZgTxhl7GkGDpUsEeSFJ6WFkFnCk+y86N5/uQLWidN8ZlmJQ415IWcSAHkqVH7e5qD1jBKNdBUv2y/yb6RGBdt+HR5m5itJ5KmTuVfVK9lraVGQsc2Ls7MVdzS1fl5TtF+e28UFM12E73r2xF/NU+euqY4Nf873Y9+w1+2O2p14N14EXwfJEnTYMo5H7R/p2IhKY0FCgXODJC5pWIMlKRQ2rbRyWI4hxwHhag0Q3rhXMN3/HMmE+M9acgvmD/rqhBOzfTmVfOx3WXc3Pyf7lBRZNnw1oWZUVYiItGk0pxMny+Bj5eGKhmHoCw0s/KxRQsCPLankTkstfXgf9vd3E4w9PO4evlnZsAdsm0UsYQfskL1lx6zHBPsVPAx2gsfB7/BRGIVPLqRhsKy5z/6JcP8PbkK/yg=</latexit><latexit sha1_base64="4hc4knyHFKtKx2FU4HrZUrW2DfY=">ACeXicbVFNbxMxEPUuXyV8NIUjHEyjog2HardFKgeQCkWC6h8JK2UjdJZ7Kxaq9X9iwoWi2/gd/GjT/ChQtOmkjQMJKl5zdvPOM3Wamkozj+GYRXrl67fmPjZuvW7Tt3N9tb9/rOVFZgTxhl7GkGDpUsEeSFJ6WFkFnCk+y86N5/uQLWidN8ZlmJQ415IWcSAHkqVH7e5qD1jBKNdBUv2y/yb6RGBdt+HR5m5itJ5KmTuVfVK9lraVGQsc2Ls7MVdzS1fl5TtF+e28UFM12E73r2xF/NU+euqY4Nf873Y9+w1+2O2p14N14EXwfJEnTYMo5H7R/p2IhKY0FCgXODJC5pWIMlKRQ2rbRyWI4hxwHhag0Q3rhXMN3/HMmE+M9acgvmD/rqhBOzfTmVfOx3WXc3Pyf7lBRZNnw1oWZUVYiItGk0pxMny+Bj5eGKhmHoCw0s/KxRQsCPLankTkstfXgf9vd3E4w9PO4evlnZsAdsm0UsYQfskL1lx6zHBPsVPAx2gsfB7/BRGIVPLqRhsKy5z/6JcP8PbkK/yg=</latexit><latexit sha1_base64="4hc4knyHFKtKx2FU4HrZUrW2DfY=">ACeXicbVFNbxMxEPUuXyV8NIUjHEyjog2HardFKgeQCkWC6h8JK2UjdJZ7Kxaq9X9iwoWi2/gd/GjT/ChQtOmkjQMJKl5zdvPOM3Wamkozj+GYRXrl67fmPjZuvW7Tt3N9tb9/rOVFZgTxhl7GkGDpUsEeSFJ6WFkFnCk+y86N5/uQLWidN8ZlmJQ415IWcSAHkqVH7e5qD1jBKNdBUv2y/yb6RGBdt+HR5m5itJ5KmTuVfVK9lraVGQsc2Ls7MVdzS1fl5TtF+e28UFM12E73r2xF/NU+euqY4Nf873Y9+w1+2O2p14N14EXwfJEnTYMo5H7R/p2IhKY0FCgXODJC5pWIMlKRQ2rbRyWI4hxwHhag0Q3rhXMN3/HMmE+M9acgvmD/rqhBOzfTmVfOx3WXc3Pyf7lBRZNnw1oWZUVYiItGk0pxMny+Bj5eGKhmHoCw0s/KxRQsCPLankTkstfXgf9vd3E4w9PO4evlnZsAdsm0UsYQfskL1lx6zHBPsVPAx2gsfB7/BRGIVPLqRhsKy5z/6JcP8PbkK/yg=</latexit><latexit sha1_base64="4hc4knyHFKtKx2FU4HrZUrW2DfY=">ACeXicbVFNbxMxEPUuXyV8NIUjHEyjog2HardFKgeQCkWC6h8JK2UjdJZ7Kxaq9X9iwoWi2/gd/GjT/ChQtOmkjQMJKl5zdvPOM3Wamkozj+GYRXrl67fmPjZuvW7Tt3N9tb9/rOVFZgTxhl7GkGDpUsEeSFJ6WFkFnCk+y86N5/uQLWidN8ZlmJQ415IWcSAHkqVH7e5qD1jBKNdBUv2y/yb6RGBdt+HR5m5itJ5KmTuVfVK9lraVGQsc2Ls7MVdzS1fl5TtF+e28UFM12E73r2xF/NU+euqY4Nf873Y9+w1+2O2p14N14EXwfJEnTYMo5H7R/p2IhKY0FCgXODJC5pWIMlKRQ2rbRyWI4hxwHhag0Q3rhXMN3/HMmE+M9acgvmD/rqhBOzfTmVfOx3WXc3Pyf7lBRZNnw1oWZUVYiItGk0pxMny+Bj5eGKhmHoCw0s/KxRQsCPLankTkstfXgf9vd3E4w9PO4evlnZsAdsm0UsYQfskL1lx6zHBPsVPAx2gsfB7/BRGIVPLqRhsKy5z/6JcP8PbkK/yg=</latexit>

RatingID Stars RateDate UID MID UID Name Age JoinDate MID Name Year Director Example: Creates a subset of R with ratings for only Nolan’s movies

V ← ⇡RatingID,Stars,UID,MID(R . / Director=“Christopher Nolan”(M))

<latexit sha1_base64="g7FJnXzvcMJEoRqMazKC0TO5kSk=">ACZnicbZHBaxNBFMZn16pt1Da2iIdehgYhVJ2RdCLUNoc7KFSq0kL2ZC+nbxNhs7OLDNvW8Ky/pHePHvxz3A2jaitDwZ+fN97zJtv0kJR1H0PQgfrDx89Hh1rfXk6bP1jfbzYEzpRXYF0YZe5GCQyU19kmSwovCIuSpwvP06qjxz6/ROmn0F5oXOMphqmUmBZCXxu16wBOFGYG15oYnhRxXSQ40k1Sd+RY9Pe7t8c/ednu83/DJca+uefeMJ6m5IYk8cXKaw5+xnrQoyNj6/eXlb+1oZv1TDFD+/WjUaDrnbp7srs7bnei/WhR/D7ES+iwZ2O29+SiRFljpqEAueGcVTQqAJLUisW0npsABxBVMcetSQoxtVi5hq/sorE54Z648mvlD/nqgd26ep76z2dvd9Rrxf96wpOzdqJK6KAm1uL0oKxUnw5vM+WQRiZp7AGl35WLGVgQ5H+m5UOI7z75Pgxe78eP73pHBwu41hl2yHdVnM3rID9oGdsj4T7EewFmwGW8HPcD18Eb68bQ2D5cwW+6dC/gvzI7i/</latexit><latexit sha1_base64="g7FJnXzvcMJEoRqMazKC0TO5kSk=">ACZnicbZHBaxNBFMZn16pt1Da2iIdehgYhVJ2RdCLUNoc7KFSq0kL2ZC+nbxNhs7OLDNvW8Ky/pHePHvxz3A2jaitDwZ+fN97zJtv0kJR1H0PQgfrDx89Hh1rfXk6bP1jfbzYEzpRXYF0YZe5GCQyU19kmSwovCIuSpwvP06qjxz6/ROmn0F5oXOMphqmUmBZCXxu16wBOFGYG15oYnhRxXSQ40k1Sd+RY9Pe7t8c/ednu83/DJca+uefeMJ6m5IYk8cXKaw5+xnrQoyNj6/eXlb+1oZv1TDFD+/WjUaDrnbp7srs7bnei/WhR/D7ES+iwZ2O29+SiRFljpqEAueGcVTQqAJLUisW0npsABxBVMcetSQoxtVi5hq/sorE54Z648mvlD/nqgd26ep76z2dvd9Rrxf96wpOzdqJK6KAm1uL0oKxUnw5vM+WQRiZp7AGl35WLGVgQ5H+m5UOI7z75Pgxe78eP73pHBwu41hl2yHdVnM3rID9oGdsj4T7EewFmwGW8HPcD18Eb68bQ2D5cwW+6dC/gvzI7i/</latexit><latexit sha1_base64="g7FJnXzvcMJEoRqMazKC0TO5kSk=">ACZnicbZHBaxNBFMZn16pt1Da2iIdehgYhVJ2RdCLUNoc7KFSq0kL2ZC+nbxNhs7OLDNvW8Ky/pHePHvxz3A2jaitDwZ+fN97zJtv0kJR1H0PQgfrDx89Hh1rfXk6bP1jfbzYEzpRXYF0YZe5GCQyU19kmSwovCIuSpwvP06qjxz6/ROmn0F5oXOMphqmUmBZCXxu16wBOFGYG15oYnhRxXSQ40k1Sd+RY9Pe7t8c/ednu83/DJca+uefeMJ6m5IYk8cXKaw5+xnrQoyNj6/eXlb+1oZv1TDFD+/WjUaDrnbp7srs7bnei/WhR/D7ES+iwZ2O29+SiRFljpqEAueGcVTQqAJLUisW0npsABxBVMcetSQoxtVi5hq/sorE54Z648mvlD/nqgd26ep76z2dvd9Rrxf96wpOzdqJK6KAm1uL0oKxUnw5vM+WQRiZp7AGl35WLGVgQ5H+m5UOI7z75Pgxe78eP73pHBwu41hl2yHdVnM3rID9oGdsj4T7EewFmwGW8HPcD18Eb68bQ2D5cwW+6dC/gvzI7i/</latexit><latexit sha1_base64="g7FJnXzvcMJEoRqMazKC0TO5kSk=">ACZnicbZHBaxNBFMZn16pt1Da2iIdehgYhVJ2RdCLUNoc7KFSq0kL2ZC+nbxNhs7OLDNvW8Ky/pHePHvxz3A2jaitDwZ+fN97zJtv0kJR1H0PQgfrDx89Hh1rfXk6bP1jfbzYEzpRXYF0YZe5GCQyU19kmSwovCIuSpwvP06qjxz6/ROmn0F5oXOMphqmUmBZCXxu16wBOFGYG15oYnhRxXSQ40k1Sd+RY9Pe7t8c/ednu83/DJca+uefeMJ6m5IYk8cXKaw5+xnrQoyNj6/eXlb+1oZv1TDFD+/WjUaDrnbp7srs7bnei/WhR/D7ES+iwZ2O29+SiRFljpqEAueGcVTQqAJLUisW0npsABxBVMcetSQoxtVi5hq/sorE54Z648mvlD/nqgd26ep76z2dvd9Rrxf96wpOzdqJK6KAm1uL0oKxUnw5vM+WQRiZp7AGl35WLGVgQ5H+m5UOI7z75Pgxe78eP73pHBwu41hl2yHdVnM3rID9oGdsj4T7EewFmwGW8HPcD18Eb68bQ2D5cwW+6dC/gvzI7i/</latexit>
slide-44
SLIDE 44

44

AVG(Stars)(R . / Director=“Christopher Nolan”(M) . / 20≤Age<30(U))

<latexit sha1_base64="4hc4knyHFKtKx2FU4HrZUrW2DfY=">ACeXicbVFNbxMxEPUuXyV8NIUjHEyjog2HardFKgeQCkWC6h8JK2UjdJZ7Kxaq9X9iwoWi2/gd/GjT/ChQtOmkjQMJKl5zdvPOM3Wamkozj+GYRXrl67fmPjZuvW7Tt3N9tb9/rOVFZgTxhl7GkGDpUsEeSFJ6WFkFnCk+y86N5/uQLWidN8ZlmJQ415IWcSAHkqVH7e5qD1jBKNdBUv2y/yb6RGBdt+HR5m5itJ5KmTuVfVK9lraVGQsc2Ls7MVdzS1fl5TtF+e28UFM12E73r2xF/NU+euqY4Nf873Y9+w1+2O2p14N14EXwfJEnTYMo5H7R/p2IhKY0FCgXODJC5pWIMlKRQ2rbRyWI4hxwHhag0Q3rhXMN3/HMmE+M9acgvmD/rqhBOzfTmVfOx3WXc3Pyf7lBRZNnw1oWZUVYiItGk0pxMny+Bj5eGKhmHoCw0s/KxRQsCPLankTkstfXgf9vd3E4w9PO4evlnZsAdsm0UsYQfskL1lx6zHBPsVPAx2gsfB7/BRGIVPLqRhsKy5z/6JcP8PbkK/yg=</latexit><latexit sha1_base64="4hc4knyHFKtKx2FU4HrZUrW2DfY=">ACeXicbVFNbxMxEPUuXyV8NIUjHEyjog2HardFKgeQCkWC6h8JK2UjdJZ7Kxaq9X9iwoWi2/gd/GjT/ChQtOmkjQMJKl5zdvPOM3Wamkozj+GYRXrl67fmPjZuvW7Tt3N9tb9/rOVFZgTxhl7GkGDpUsEeSFJ6WFkFnCk+y86N5/uQLWidN8ZlmJQ415IWcSAHkqVH7e5qD1jBKNdBUv2y/yb6RGBdt+HR5m5itJ5KmTuVfVK9lraVGQsc2Ls7MVdzS1fl5TtF+e28UFM12E73r2xF/NU+euqY4Nf873Y9+w1+2O2p14N14EXwfJEnTYMo5H7R/p2IhKY0FCgXODJC5pWIMlKRQ2rbRyWI4hxwHhag0Q3rhXMN3/HMmE+M9acgvmD/rqhBOzfTmVfOx3WXc3Pyf7lBRZNnw1oWZUVYiItGk0pxMny+Bj5eGKhmHoCw0s/KxRQsCPLankTkstfXgf9vd3E4w9PO4evlnZsAdsm0UsYQfskL1lx6zHBPsVPAx2gsfB7/BRGIVPLqRhsKy5z/6JcP8PbkK/yg=</latexit><latexit sha1_base64="4hc4knyHFKtKx2FU4HrZUrW2DfY=">ACeXicbVFNbxMxEPUuXyV8NIUjHEyjog2HardFKgeQCkWC6h8JK2UjdJZ7Kxaq9X9iwoWi2/gd/GjT/ChQtOmkjQMJKl5zdvPOM3Wamkozj+GYRXrl67fmPjZuvW7Tt3N9tb9/rOVFZgTxhl7GkGDpUsEeSFJ6WFkFnCk+y86N5/uQLWidN8ZlmJQ415IWcSAHkqVH7e5qD1jBKNdBUv2y/yb6RGBdt+HR5m5itJ5KmTuVfVK9lraVGQsc2Ls7MVdzS1fl5TtF+e28UFM12E73r2xF/NU+euqY4Nf873Y9+w1+2O2p14N14EXwfJEnTYMo5H7R/p2IhKY0FCgXODJC5pWIMlKRQ2rbRyWI4hxwHhag0Q3rhXMN3/HMmE+M9acgvmD/rqhBOzfTmVfOx3WXc3Pyf7lBRZNnw1oWZUVYiItGk0pxMny+Bj5eGKhmHoCw0s/KxRQsCPLankTkstfXgf9vd3E4w9PO4evlnZsAdsm0UsYQfskL1lx6zHBPsVPAx2gsfB7/BRGIVPLqRhsKy5z/6JcP8PbkK/yg=</latexit><latexit sha1_base64="4hc4knyHFKtKx2FU4HrZUrW2DfY=">ACeXicbVFNbxMxEPUuXyV8NIUjHEyjog2HardFKgeQCkWC6h8JK2UjdJZ7Kxaq9X9iwoWi2/gd/GjT/ChQtOmkjQMJKl5zdvPOM3Wamkozj+GYRXrl67fmPjZuvW7Tt3N9tb9/rOVFZgTxhl7GkGDpUsEeSFJ6WFkFnCk+y86N5/uQLWidN8ZlmJQ415IWcSAHkqVH7e5qD1jBKNdBUv2y/yb6RGBdt+HR5m5itJ5KmTuVfVK9lraVGQsc2Ls7MVdzS1fl5TtF+e28UFM12E73r2xF/NU+euqY4Nf873Y9+w1+2O2p14N14EXwfJEnTYMo5H7R/p2IhKY0FCgXODJC5pWIMlKRQ2rbRyWI4hxwHhag0Q3rhXMN3/HMmE+M9acgvmD/rqhBOzfTmVfOx3WXc3Pyf7lBRZNnw1oWZUVYiItGk0pxMny+Bj5eGKhmHoCw0s/KxRQsCPLankTkstfXgf9vd3E4w9PO4evlnZsAdsm0UsYQfskL1lx6zHBPsVPAx2gsfB7/BRGIVPLqRhsKy5z/6JcP8PbkK/yg=</latexit>

RatingID Stars RateDate UID MID UID Name Age JoinDate MID Name Year Director Example: Given the materialized view V, RDBMS optimizer can automatically rewrite to use V to avoid scans of R and M

V ← ⇡RatingID,Stars,UID,MID(R . / Director=“Christopher Nolan”(M))

<latexit sha1_base64="g7FJnXzvcMJEoRqMazKC0TO5kSk=">ACZnicbZHBaxNBFMZn16pt1Da2iIdehgYhVJ2RdCLUNoc7KFSq0kL2ZC+nbxNhs7OLDNvW8Ky/pHePHvxz3A2jaitDwZ+fN97zJtv0kJR1H0PQgfrDx89Hh1rfXk6bP1jfbzYEzpRXYF0YZe5GCQyU19kmSwovCIuSpwvP06qjxz6/ROmn0F5oXOMphqmUmBZCXxu16wBOFGYG15oYnhRxXSQ40k1Sd+RY9Pe7t8c/ednu83/DJca+uefeMJ6m5IYk8cXKaw5+xnrQoyNj6/eXlb+1oZv1TDFD+/WjUaDrnbp7srs7bnei/WhR/D7ES+iwZ2O29+SiRFljpqEAueGcVTQqAJLUisW0npsABxBVMcetSQoxtVi5hq/sorE54Z648mvlD/nqgd26ep76z2dvd9Rrxf96wpOzdqJK6KAm1uL0oKxUnw5vM+WQRiZp7AGl35WLGVgQ5H+m5UOI7z75Pgxe78eP73pHBwu41hl2yHdVnM3rID9oGdsj4T7EewFmwGW8HPcD18Eb68bQ2D5cwW+6dC/gvzI7i/</latexit><latexit sha1_base64="g7FJnXzvcMJEoRqMazKC0TO5kSk=">ACZnicbZHBaxNBFMZn16pt1Da2iIdehgYhVJ2RdCLUNoc7KFSq0kL2ZC+nbxNhs7OLDNvW8Ky/pHePHvxz3A2jaitDwZ+fN97zJtv0kJR1H0PQgfrDx89Hh1rfXk6bP1jfbzYEzpRXYF0YZe5GCQyU19kmSwovCIuSpwvP06qjxz6/ROmn0F5oXOMphqmUmBZCXxu16wBOFGYG15oYnhRxXSQ40k1Sd+RY9Pe7t8c/ednu83/DJca+uefeMJ6m5IYk8cXKaw5+xnrQoyNj6/eXlb+1oZv1TDFD+/WjUaDrnbp7srs7bnei/WhR/D7ES+iwZ2O29+SiRFljpqEAueGcVTQqAJLUisW0npsABxBVMcetSQoxtVi5hq/sorE54Z648mvlD/nqgd26ep76z2dvd9Rrxf96wpOzdqJK6KAm1uL0oKxUnw5vM+WQRiZp7AGl35WLGVgQ5H+m5UOI7z75Pgxe78eP73pHBwu41hl2yHdVnM3rID9oGdsj4T7EewFmwGW8HPcD18Eb68bQ2D5cwW+6dC/gvzI7i/</latexit><latexit sha1_base64="g7FJnXzvcMJEoRqMazKC0TO5kSk=">ACZnicbZHBaxNBFMZn16pt1Da2iIdehgYhVJ2RdCLUNoc7KFSq0kL2ZC+nbxNhs7OLDNvW8Ky/pHePHvxz3A2jaitDwZ+fN97zJtv0kJR1H0PQgfrDx89Hh1rfXk6bP1jfbzYEzpRXYF0YZe5GCQyU19kmSwovCIuSpwvP06qjxz6/ROmn0F5oXOMphqmUmBZCXxu16wBOFGYG15oYnhRxXSQ40k1Sd+RY9Pe7t8c/ednu83/DJca+uefeMJ6m5IYk8cXKaw5+xnrQoyNj6/eXlb+1oZv1TDFD+/WjUaDrnbp7srs7bnei/WhR/D7ES+iwZ2O29+SiRFljpqEAueGcVTQqAJLUisW0npsABxBVMcetSQoxtVi5hq/sorE54Z648mvlD/nqgd26ep76z2dvd9Rrxf96wpOzdqJK6KAm1uL0oKxUnw5vM+WQRiZp7AGl35WLGVgQ5H+m5UOI7z75Pgxe78eP73pHBwu41hl2yHdVnM3rID9oGdsj4T7EewFmwGW8HPcD18Eb68bQ2D5cwW+6dC/gvzI7i/</latexit><latexit sha1_base64="g7FJnXzvcMJEoRqMazKC0TO5kSk=">ACZnicbZHBaxNBFMZn16pt1Da2iIdehgYhVJ2RdCLUNoc7KFSq0kL2ZC+nbxNhs7OLDNvW8Ky/pHePHvxz3A2jaitDwZ+fN97zJtv0kJR1H0PQgfrDx89Hh1rfXk6bP1jfbzYEzpRXYF0YZe5GCQyU19kmSwovCIuSpwvP06qjxz6/ROmn0F5oXOMphqmUmBZCXxu16wBOFGYG15oYnhRxXSQ40k1Sd+RY9Pe7t8c/ednu83/DJca+uefeMJ6m5IYk8cXKaw5+xnrQoyNj6/eXlb+1oZv1TDFD+/WjUaDrnbp7srs7bnei/WhR/D7ES+iwZ2O29+SiRFljpqEAueGcVTQqAJLUisW0npsABxBVMcetSQoxtVi5hq/sorE54Z648mvlD/nqgd26ep76z2dvd9Rrxf96wpOzdqJK6KAm1uL0oKxUnw5vM+WQRiZp7AGl35WLGVgQ5H+m5UOI7z75Pgxe78eP73pHBwu41hl2yHdVnM3rID9oGdsj4T7EewFmwGW8HPcD18Eb68bQ2D5cwW+6dC/gvzI7i/</latexit>

AVG(Stars)(V . / 20≤Age<30(U))

<latexit sha1_base64="ZkjpKjWfAz7r6dTMfiAbaesJTz0=">ACNXicbVA9TxtBEN0jfJovJylpVlhIdmPdAVJSUDhJkRQUILB8lnW3Hp8Xn37rQ7l8g6+U+lyf+goIiCNHyF1gbI/H1pJXevnmjmXlRpqQl37/y5j7MLywuLa+UVtfWNzbLHz+1bJobgU2RqtScR2BRyQSbJEnheWYQdKTwLBr+mNTPfqOxMk1OaZRhR0OcyL4UQE7qlg/DGLSGbqiBpKb62f1RMCY2tjXm3xMEr/kEQeWhk7V7Hr81C575M7xjE/4Hu+MzdrtW654tf9KfhbEsxIhc1w1C1fhL1U5BoTEgqsbQd+Rp0CDEmhcFwKc4sZiCHE2HY0AY2U0yvHvMdp/R4PzXuJcSn6vOArS1Ix052Rd+7o2Ed+rtXPqf+0UMslywkQ8DurnilPKJxHynjQoSI0cAWGk25WLARgQ5IuRC1ye/Ja3deuD48X6l8X0WxzLbYtusygL2hTXYL3bEmkywv+yS/Wc3j/v2rv17h6tc96s5zN7Ae/+AdQxqYU=</latexit><latexit sha1_base64="ZkjpKjWfAz7r6dTMfiAbaesJTz0=">ACNXicbVA9TxtBEN0jfJovJylpVlhIdmPdAVJSUDhJkRQUILB8lnW3Hp8Xn37rQ7l8g6+U+lyf+goIiCNHyF1gbI/H1pJXevnmjmXlRpqQl37/y5j7MLywuLa+UVtfWNzbLHz+1bJobgU2RqtScR2BRyQSbJEnheWYQdKTwLBr+mNTPfqOxMk1OaZRhR0OcyL4UQE7qlg/DGLSGbqiBpKb62f1RMCY2tjXm3xMEr/kEQeWhk7V7Hr81C575M7xjE/4Hu+MzdrtW654tf9KfhbEsxIhc1w1C1fhL1U5BoTEgqsbQd+Rp0CDEmhcFwKc4sZiCHE2HY0AY2U0yvHvMdp/R4PzXuJcSn6vOArS1Ix052Rd+7o2Ed+rtXPqf+0UMslywkQ8DurnilPKJxHynjQoSI0cAWGk25WLARgQ5IuRC1ye/Ja3deuD48X6l8X0WxzLbYtusygL2hTXYL3bEmkywv+yS/Wc3j/v2rv17h6tc96s5zN7Ae/+AdQxqYU=</latexit><latexit sha1_base64="ZkjpKjWfAz7r6dTMfiAbaesJTz0=">ACNXicbVA9TxtBEN0jfJovJylpVlhIdmPdAVJSUDhJkRQUILB8lnW3Hp8Xn37rQ7l8g6+U+lyf+goIiCNHyF1gbI/H1pJXevnmjmXlRpqQl37/y5j7MLywuLa+UVtfWNzbLHz+1bJobgU2RqtScR2BRyQSbJEnheWYQdKTwLBr+mNTPfqOxMk1OaZRhR0OcyL4UQE7qlg/DGLSGbqiBpKb62f1RMCY2tjXm3xMEr/kEQeWhk7V7Hr81C575M7xjE/4Hu+MzdrtW654tf9KfhbEsxIhc1w1C1fhL1U5BoTEgqsbQd+Rp0CDEmhcFwKc4sZiCHE2HY0AY2U0yvHvMdp/R4PzXuJcSn6vOArS1Ix052Rd+7o2Ed+rtXPqf+0UMslywkQ8DurnilPKJxHynjQoSI0cAWGk25WLARgQ5IuRC1ye/Ja3deuD48X6l8X0WxzLbYtusygL2hTXYL3bEmkywv+yS/Wc3j/v2rv17h6tc96s5zN7Ae/+AdQxqYU=</latexit><latexit sha1_base64="ZkjpKjWfAz7r6dTMfiAbaesJTz0=">ACNXicbVA9TxtBEN0jfJovJylpVlhIdmPdAVJSUDhJkRQUILB8lnW3Hp8Xn37rQ7l8g6+U+lyf+goIiCNHyF1gbI/H1pJXevnmjmXlRpqQl37/y5j7MLywuLa+UVtfWNzbLHz+1bJobgU2RqtScR2BRyQSbJEnheWYQdKTwLBr+mNTPfqOxMk1OaZRhR0OcyL4UQE7qlg/DGLSGbqiBpKb62f1RMCY2tjXm3xMEr/kEQeWhk7V7Hr81C575M7xjE/4Hu+MzdrtW654tf9KfhbEsxIhc1w1C1fhL1U5BoTEgqsbQd+Rp0CDEmhcFwKc4sZiCHE2HY0AY2U0yvHvMdp/R4PzXuJcSn6vOArS1Ix052Rd+7o2Ed+rtXPqf+0UMslywkQ8DurnilPKJxHynjQoSI0cAWGk25WLARgQ5IuRC1ye/Ja3deuD48X6l8X0WxzLbYtusygL2hTXYL3bEmkywv+yS/Wc3j/v2rv17h6tc96s5zN7Ae/+AdQxqYU=</latexit>

Likely much faster since V is likely much smaller than R, but this depends on data statistics; leave it to optimizer! Q: How did DBA know to materialize a view for Nolan ratings?

Materialized Views Example

slide-45
SLIDE 45

45

RatingID Stars RateDate UID MID UID Name Age JoinDate MID Name Year Director Example: We are given this materialized view V over R and M

V ← ⇡RatingID,Stars,UID,MID(R . / Director=“Christopher Nolan”(M))

<latexit sha1_base64="g7FJnXzvcMJEoRqMazKC0TO5kSk=">ACZnicbZHBaxNBFMZn16pt1Da2iIdehgYhVJ2RdCLUNoc7KFSq0kL2ZC+nbxNhs7OLDNvW8Ky/pHePHvxz3A2jaitDwZ+fN97zJtv0kJR1H0PQgfrDx89Hh1rfXk6bP1jfbzYEzpRXYF0YZe5GCQyU19kmSwovCIuSpwvP06qjxz6/ROmn0F5oXOMphqmUmBZCXxu16wBOFGYG15oYnhRxXSQ40k1Sd+RY9Pe7t8c/ednu83/DJca+uefeMJ6m5IYk8cXKaw5+xnrQoyNj6/eXlb+1oZv1TDFD+/WjUaDrnbp7srs7bnei/WhR/D7ES+iwZ2O29+SiRFljpqEAueGcVTQqAJLUisW0npsABxBVMcetSQoxtVi5hq/sorE54Z648mvlD/nqgd26ep76z2dvd9Rrxf96wpOzdqJK6KAm1uL0oKxUnw5vM+WQRiZp7AGl35WLGVgQ5H+m5UOI7z75Pgxe78eP73pHBwu41hl2yHdVnM3rID9oGdsj4T7EewFmwGW8HPcD18Eb68bQ2D5cwW+6dC/gvzI7i/</latexit><latexit sha1_base64="g7FJnXzvcMJEoRqMazKC0TO5kSk=">ACZnicbZHBaxNBFMZn16pt1Da2iIdehgYhVJ2RdCLUNoc7KFSq0kL2ZC+nbxNhs7OLDNvW8Ky/pHePHvxz3A2jaitDwZ+fN97zJtv0kJR1H0PQgfrDx89Hh1rfXk6bP1jfbzYEzpRXYF0YZe5GCQyU19kmSwovCIuSpwvP06qjxz6/ROmn0F5oXOMphqmUmBZCXxu16wBOFGYG15oYnhRxXSQ40k1Sd+RY9Pe7t8c/ednu83/DJca+uefeMJ6m5IYk8cXKaw5+xnrQoyNj6/eXlb+1oZv1TDFD+/WjUaDrnbp7srs7bnei/WhR/D7ES+iwZ2O29+SiRFljpqEAueGcVTQqAJLUisW0npsABxBVMcetSQoxtVi5hq/sorE54Z648mvlD/nqgd26ep76z2dvd9Rrxf96wpOzdqJK6KAm1uL0oKxUnw5vM+WQRiZp7AGl35WLGVgQ5H+m5UOI7z75Pgxe78eP73pHBwu41hl2yHdVnM3rID9oGdsj4T7EewFmwGW8HPcD18Eb68bQ2D5cwW+6dC/gvzI7i/</latexit><latexit sha1_base64="g7FJnXzvcMJEoRqMazKC0TO5kSk=">ACZnicbZHBaxNBFMZn16pt1Da2iIdehgYhVJ2RdCLUNoc7KFSq0kL2ZC+nbxNhs7OLDNvW8Ky/pHePHvxz3A2jaitDwZ+fN97zJtv0kJR1H0PQgfrDx89Hh1rfXk6bP1jfbzYEzpRXYF0YZe5GCQyU19kmSwovCIuSpwvP06qjxz6/ROmn0F5oXOMphqmUmBZCXxu16wBOFGYG15oYnhRxXSQ40k1Sd+RY9Pe7t8c/ednu83/DJca+uefeMJ6m5IYk8cXKaw5+xnrQoyNj6/eXlb+1oZv1TDFD+/WjUaDrnbp7srs7bnei/WhR/D7ES+iwZ2O29+SiRFljpqEAueGcVTQqAJLUisW0npsABxBVMcetSQoxtVi5hq/sorE54Z648mvlD/nqgd26ep76z2dvd9Rrxf96wpOzdqJK6KAm1uL0oKxUnw5vM+WQRiZp7AGl35WLGVgQ5H+m5UOI7z75Pgxe78eP73pHBwu41hl2yHdVnM3rID9oGdsj4T7EewFmwGW8HPcD18Eb68bQ2D5cwW+6dC/gvzI7i/</latexit><latexit sha1_base64="g7FJnXzvcMJEoRqMazKC0TO5kSk=">ACZnicbZHBaxNBFMZn16pt1Da2iIdehgYhVJ2RdCLUNoc7KFSq0kL2ZC+nbxNhs7OLDNvW8Ky/pHePHvxz3A2jaitDwZ+fN97zJtv0kJR1H0PQgfrDx89Hh1rfXk6bP1jfbzYEzpRXYF0YZe5GCQyU19kmSwovCIuSpwvP06qjxz6/ROmn0F5oXOMphqmUmBZCXxu16wBOFGYG15oYnhRxXSQ40k1Sd+RY9Pe7t8c/ednu83/DJca+uefeMJ6m5IYk8cXKaw5+xnrQoyNj6/eXlb+1oZv1TDFD+/WjUaDrnbp7srs7bnei/WhR/D7ES+iwZ2O29+SiRFljpqEAueGcVTQqAJLUisW0npsABxBVMcetSQoxtVi5hq/sorE54Z648mvlD/nqgd26ep76z2dvd9Rrxf96wpOzdqJK6KAm1uL0oKxUnw5vM+WQRiZp7AGl35WLGVgQ5H+m5UOI7z75Pgxe78eP73pHBwu41hl2yHdVnM3rID9oGdsj4T7EewFmwGW8HPcD18Eb68bQ2D5cwW+6dC/gvzI7i/</latexit>

Q: What if new ratings are inserted to R for Nolan’s movies?

Materialized View Maintenance

❖ RDBMS will automatically “trigger” updates to V ❖ Such updates are called Materialized View Maintenance ❖ 2 alternatives: Recompute whole view from scratch vs Incremental View Maintenance (IVM)

slide-46
SLIDE 46

46

Recomputing V from scratch may be an overkill Try to incrementally update parts that change

Incremental View Maintenance (IVM)

Basic Idea:

V 0 = Q(D0)

<latexit sha1_base64="V/tJ7TUF+7HCIRyXbkTldE8r42w=">AB8XicbZDLSgMxFIZPvNZ6q7p0EyzSuikzIuhGKOrCZQv2gu1QMmDc1khiQjlKFv4caFIm59G3e+jWk7C239IfDxn3PIOb8fC6N43yjldW19Y3N3FZ+e2d3b79wcNjUaIoa9BIRKrtE80El6xhuBGsHStGQl+wlj+6ndZbT0xpHskHM46ZF5KB5AGnxFjrsVnC17heviud9QpFp+LMhJfBzaAImWq9wle3H9EkZNJQbTuE5svJQow6lgk3w30SwmdEQGrGNRkpBpL51tPMGn1unjIFL2SYNn7u+JlIRaj0PfdobEDPVibWr+V+skJrjyUi7jxDBJ5x8FicAmwtPzcZ8rRo0YWyBUcbsrpkOiCDU2pLwNwV08eRma5xXcv2iWL3J4sjBMZxAGVy4hCrcQw0aQEHCM7zCG9LoBb2j3nrCspmjuCP0OcPmRaO5Q=</latexit><latexit sha1_base64="V/tJ7TUF+7HCIRyXbkTldE8r42w=">AB8XicbZDLSgMxFIZPvNZ6q7p0EyzSuikzIuhGKOrCZQv2gu1QMmDc1khiQjlKFv4caFIm59G3e+jWk7C239IfDxn3PIOb8fC6N43yjldW19Y3N3FZ+e2d3b79wcNjUaIoa9BIRKrtE80El6xhuBGsHStGQl+wlj+6ndZbT0xpHskHM46ZF5KB5AGnxFjrsVnC17heviud9QpFp+LMhJfBzaAImWq9wle3H9EkZNJQbTuE5svJQow6lgk3w30SwmdEQGrGNRkpBpL51tPMGn1unjIFL2SYNn7u+JlIRaj0PfdobEDPVibWr+V+skJrjyUi7jxDBJ5x8FicAmwtPzcZ8rRo0YWyBUcbsrpkOiCDU2pLwNwV08eRma5xXcv2iWL3J4sjBMZxAGVy4hCrcQw0aQEHCM7zCG9LoBb2j3nrCspmjuCP0OcPmRaO5Q=</latexit><latexit sha1_base64="V/tJ7TUF+7HCIRyXbkTldE8r42w=">AB8XicbZDLSgMxFIZPvNZ6q7p0EyzSuikzIuhGKOrCZQv2gu1QMmDc1khiQjlKFv4caFIm59G3e+jWk7C239IfDxn3PIOb8fC6N43yjldW19Y3N3FZ+e2d3b79wcNjUaIoa9BIRKrtE80El6xhuBGsHStGQl+wlj+6ndZbT0xpHskHM46ZF5KB5AGnxFjrsVnC17heviud9QpFp+LMhJfBzaAImWq9wle3H9EkZNJQbTuE5svJQow6lgk3w30SwmdEQGrGNRkpBpL51tPMGn1unjIFL2SYNn7u+JlIRaj0PfdobEDPVibWr+V+skJrjyUi7jxDBJ5x8FicAmwtPzcZ8rRo0YWyBUcbsrpkOiCDU2pLwNwV08eRma5xXcv2iWL3J4sjBMZxAGVy4hCrcQw0aQEHCM7zCG9LoBb2j3nrCspmjuCP0OcPmRaO5Q=</latexit><latexit sha1_base64="V/tJ7TUF+7HCIRyXbkTldE8r42w=">AB8XicbZDLSgMxFIZPvNZ6q7p0EyzSuikzIuhGKOrCZQv2gu1QMmDc1khiQjlKFv4caFIm59G3e+jWk7C239IfDxn3PIOb8fC6N43yjldW19Y3N3FZ+e2d3b79wcNjUaIoa9BIRKrtE80El6xhuBGsHStGQl+wlj+6ndZbT0xpHskHM46ZF5KB5AGnxFjrsVnC17heviud9QpFp+LMhJfBzaAImWq9wle3H9EkZNJQbTuE5svJQow6lgk3w30SwmdEQGrGNRkpBpL51tPMGn1unjIFL2SYNn7u+JlIRaj0PfdobEDPVibWr+V+skJrjyUi7jxDBJ5x8FicAmwtPzcZ8rRo0YWyBUcbsrpkOiCDU2pLwNwV08eRma5xXcv2iWL3J4sjBMZxAGVy4hCrcQw0aQEHCM7zCG9LoBb2j3nrCspmjuCP0OcPmRaO5Q=</latexit>

V = Q(D)

<latexit sha1_base64="MDam1hJPkCdqHSi1aGPF+ZdvfA=">AB73icbZBNSwMxEIZn/az1q+rRS7AI9VJ2RdCLUNSDxbsB7RLyabZNjSbXZNZoZT+CS8eFPHq3/HmvzFt96CtLwQe3pkhM2+QSGHQdb+dldW19Y3N3FZ+e2d3b79wcNgwcaoZr7NYxroVUMOlULyOAiVvJZrTKJC8GQxvp/XmE9dGxOoBRwn3I9pXIhSMorVaDXJNaqW7s26h6JbdmcgyeBkUIVO1W/jq9GKWRlwhk9SYtucm6I+pRsEkn+Q7qeEJZUPa52Likbc+OPZvhNyap0eCWNtn0Iyc39PjGlkzCgKbGdEcWAWa1Pzv1o7xfDKHwuVpMgVm38UpJgTKbHk57QnKEcWaBMC7srYQOqKUMbUd6G4C2evAyN87JnuXZRrNxkceTgGE6gB5cQgXuoQp1YCDhGV7hzXl0Xpx352PeuJkM0fwR87nD9WkjoM=</latexit><latexit sha1_base64="MDam1hJPkCdqHSi1aGPF+ZdvfA=">AB73icbZBNSwMxEIZn/az1q+rRS7AI9VJ2RdCLUNSDxbsB7RLyabZNjSbXZNZoZT+CS8eFPHq3/HmvzFt96CtLwQe3pkhM2+QSGHQdb+dldW19Y3N3FZ+e2d3b79wcNgwcaoZr7NYxroVUMOlULyOAiVvJZrTKJC8GQxvp/XmE9dGxOoBRwn3I9pXIhSMorVaDXJNaqW7s26h6JbdmcgyeBkUIVO1W/jq9GKWRlwhk9SYtucm6I+pRsEkn+Q7qeEJZUPa52Likbc+OPZvhNyap0eCWNtn0Iyc39PjGlkzCgKbGdEcWAWa1Pzv1o7xfDKHwuVpMgVm38UpJgTKbHk57QnKEcWaBMC7srYQOqKUMbUd6G4C2evAyN87JnuXZRrNxkceTgGE6gB5cQgXuoQp1YCDhGV7hzXl0Xpx352PeuJkM0fwR87nD9WkjoM=</latexit><latexit sha1_base64="MDam1hJPkCdqHSi1aGPF+ZdvfA=">AB73icbZBNSwMxEIZn/az1q+rRS7AI9VJ2RdCLUNSDxbsB7RLyabZNjSbXZNZoZT+CS8eFPHq3/HmvzFt96CtLwQe3pkhM2+QSGHQdb+dldW19Y3N3FZ+e2d3b79wcNgwcaoZr7NYxroVUMOlULyOAiVvJZrTKJC8GQxvp/XmE9dGxOoBRwn3I9pXIhSMorVaDXJNaqW7s26h6JbdmcgyeBkUIVO1W/jq9GKWRlwhk9SYtucm6I+pRsEkn+Q7qeEJZUPa52Likbc+OPZvhNyap0eCWNtn0Iyc39PjGlkzCgKbGdEcWAWa1Pzv1o7xfDKHwuVpMgVm38UpJgTKbHk57QnKEcWaBMC7srYQOqKUMbUd6G4C2evAyN87JnuXZRrNxkceTgGE6gB5cQgXuoQp1YCDhGV7hzXl0Xpx352PeuJkM0fwR87nD9WkjoM=</latexit><latexit sha1_base64="MDam1hJPkCdqHSi1aGPF+ZdvfA=">AB73icbZBNSwMxEIZn/az1q+rRS7AI9VJ2RdCLUNSDxbsB7RLyabZNjSbXZNZoZT+CS8eFPHq3/HmvzFt96CtLwQe3pkhM2+QSGHQdb+dldW19Y3N3FZ+e2d3b79wcNgwcaoZr7NYxroVUMOlULyOAiVvJZrTKJC8GQxvp/XmE9dGxOoBRwn3I9pXIhSMorVaDXJNaqW7s26h6JbdmcgyeBkUIVO1W/jq9GKWRlwhk9SYtucm6I+pRsEkn+Q7qeEJZUPa52Likbc+OPZvhNyap0eCWNtn0Iyc39PjGlkzCgKbGdEcWAWa1Pzv1o7xfDKHwuVpMgVm38UpJgTKbHk57QnKEcWaBMC7srYQOqKUMbUd6G4C2evAyN87JnuXZRrNxkceTgGE6gB5cQgXuoQp1YCDhGV7hzXl0Xpx352PeuJkM0fwR87nD9WkjoM=</latexit>

❖ D’ can be the outcome of inserts and/or deletes to D ❖ Q can be a unary query or involve multiple tables ❖ Computing V’ may require inserts and/or deletes to V; realized as algebraic rewrite rules at LQP level ❖ Whether or not IVM of V is feasible and/or efficient depends

  • n form of Q, nature of updates to D, data statistics, etc.

❖ We will focus only on inserts to D triggering inserts to V

slide-47
SLIDE 47

47

Incremental View Maintenance (IVM)

Unary IVM for insertions: Newly inserted tuples

R0 = R ∪ ∆R

<latexit sha1_base64="1XeBHzMtXPv7C0W2mlvBbLlFEA8=">AB/XicbZDLSsNAFIYnXmu9xcvOzWARXZVEBN0IRV24rMVeoAlMj1ph04mYWYi1FB8FTcuFHre7jzbZy2WjrDwMf/zmHc+YPEs6Udpxva2FxaXltbBWXN/Y3Nq2d3YbKk4lhTqNeSxbAVHAmYC6ZpDK5FAoBDMxhcj+vNB5CKxeJeDxPwI9ITLGSUaGN17P3aMb7ENezRNMHeDXBNcK1jl5yMxGeBzeHEspV7dhfXjemaQRCU06UartOov2MSM0oh1HRSxUkhA5ID9oGBYlA+dnk+hE+Mk4Xh7E0T2g8cX9PZCRSahgFpjMiuq9ma2Pzv1o71eGFnzGRpBoEnS4KU451jMdR4C6TQDUfGiBUMnMrpn0iCdUmsKIJwZ398jw0Tsu4buzUuUqj6OADtAhOkEuOkcVdIuqI4oekTP6BW9WU/Wi/VufUxbF6x8Zg/9kfX5A4gHk1c=</latexit><latexit sha1_base64="1XeBHzMtXPv7C0W2mlvBbLlFEA8=">AB/XicbZDLSsNAFIYnXmu9xcvOzWARXZVEBN0IRV24rMVeoAlMj1ph04mYWYi1FB8FTcuFHre7jzbZy2WjrDwMf/zmHc+YPEs6Udpxva2FxaXltbBWXN/Y3Nq2d3YbKk4lhTqNeSxbAVHAmYC6ZpDK5FAoBDMxhcj+vNB5CKxeJeDxPwI9ITLGSUaGN17P3aMb7ENezRNMHeDXBNcK1jl5yMxGeBzeHEspV7dhfXjemaQRCU06UartOov2MSM0oh1HRSxUkhA5ID9oGBYlA+dnk+hE+Mk4Xh7E0T2g8cX9PZCRSahgFpjMiuq9ma2Pzv1o71eGFnzGRpBoEnS4KU451jMdR4C6TQDUfGiBUMnMrpn0iCdUmsKIJwZ398jw0Tsu4buzUuUqj6OADtAhOkEuOkcVdIuqI4oekTP6BW9WU/Wi/VufUxbF6x8Zg/9kfX5A4gHk1c=</latexit><latexit sha1_base64="1XeBHzMtXPv7C0W2mlvBbLlFEA8=">AB/XicbZDLSsNAFIYnXmu9xcvOzWARXZVEBN0IRV24rMVeoAlMj1ph04mYWYi1FB8FTcuFHre7jzbZy2WjrDwMf/zmHc+YPEs6Udpxva2FxaXltbBWXN/Y3Nq2d3YbKk4lhTqNeSxbAVHAmYC6ZpDK5FAoBDMxhcj+vNB5CKxeJeDxPwI9ITLGSUaGN17P3aMb7ENezRNMHeDXBNcK1jl5yMxGeBzeHEspV7dhfXjemaQRCU06UartOov2MSM0oh1HRSxUkhA5ID9oGBYlA+dnk+hE+Mk4Xh7E0T2g8cX9PZCRSahgFpjMiuq9ma2Pzv1o71eGFnzGRpBoEnS4KU451jMdR4C6TQDUfGiBUMnMrpn0iCdUmsKIJwZ398jw0Tsu4buzUuUqj6OADtAhOkEuOkcVdIuqI4oekTP6BW9WU/Wi/VufUxbF6x8Zg/9kfX5A4gHk1c=</latexit><latexit sha1_base64="1XeBHzMtXPv7C0W2mlvBbLlFEA8=">AB/XicbZDLSsNAFIYnXmu9xcvOzWARXZVEBN0IRV24rMVeoAlMj1ph04mYWYi1FB8FTcuFHre7jzbZy2WjrDwMf/zmHc+YPEs6Udpxva2FxaXltbBWXN/Y3Nq2d3YbKk4lhTqNeSxbAVHAmYC6ZpDK5FAoBDMxhcj+vNB5CKxeJeDxPwI9ITLGSUaGN17P3aMb7ENezRNMHeDXBNcK1jl5yMxGeBzeHEspV7dhfXjemaQRCU06UartOov2MSM0oh1HRSxUkhA5ID9oGBYlA+dnk+hE+Mk4Xh7E0T2g8cX9PZCRSahgFpjMiuq9ma2Pzv1o71eGFnzGRpBoEnS4KU451jMdR4C6TQDUfGiBUMnMrpn0iCdUmsKIJwZ398jw0Tsu4buzUuUqj6OADtAhOkEuOkcVdIuqI4oekTP6BW9WU/Wi/VufUxbF6x8Zg/9kfX5A4gHk1c=</latexit>

Select: Project:

V ← σSelectCondition(R)

<latexit sha1_base64="eXj9dgW6EeNzOHOTIiPjAgtJIKM=">ACGHicbVDLSgMxFM34rPVdekmWATd6IwIuix249JXq9ApJZPeqcFMiR3lDL0M9z4K25cKOLWnX9jpu1CqwcCh3Pu5eacKJXCou9/eVPTM7Nz86WF8uLS8spqZW29aXVmODS4ltrcRMyCFAoaKFDCTWqAJZGE6+iuXvjX92Cs0OoK+ym0E9ZTIhacoZM6lf0mDSXEyIzRDzS0opewTpgwvBWYX4IEjnWtuqKYHuxc7HYqVX/PH4L+JcGYVMkYZ53KZ9jVPEtAIZfM2lbgp9jOmUHBJQzKYWYhZfyO9aDlqGIJ2HY+Dag207p0lgb9xTSofpzI2eJtf0kcpPFl+2kV4j/ea0M4+N2LlSaISg+OhRnkqKmRUu0K4xLvuOMG5cek75LTOMo+uy7EoIJiP/Jc2DvcDx8Nq7WRcR4lski2yQwJyRGrklJyRBuHkTyTV/LmPXkv3rv3MRqd8sY7G+QXvM9vZb2gmg=</latexit><latexit sha1_base64="eXj9dgW6EeNzOHOTIiPjAgtJIKM=">ACGHicbVDLSgMxFM34rPVdekmWATd6IwIuix249JXq9ApJZPeqcFMiR3lDL0M9z4K25cKOLWnX9jpu1CqwcCh3Pu5eacKJXCou9/eVPTM7Nz86WF8uLS8spqZW29aXVmODS4ltrcRMyCFAoaKFDCTWqAJZGE6+iuXvjX92Cs0OoK+ym0E9ZTIhacoZM6lf0mDSXEyIzRDzS0opewTpgwvBWYX4IEjnWtuqKYHuxc7HYqVX/PH4L+JcGYVMkYZ53KZ9jVPEtAIZfM2lbgp9jOmUHBJQzKYWYhZfyO9aDlqGIJ2HY+Dag207p0lgb9xTSofpzI2eJtf0kcpPFl+2kV4j/ea0M4+N2LlSaISg+OhRnkqKmRUu0K4xLvuOMG5cek75LTOMo+uy7EoIJiP/Jc2DvcDx8Nq7WRcR4lski2yQwJyRGrklJyRBuHkTyTV/LmPXkv3rv3MRqd8sY7G+QXvM9vZb2gmg=</latexit><latexit sha1_base64="eXj9dgW6EeNzOHOTIiPjAgtJIKM=">ACGHicbVDLSgMxFM34rPVdekmWATd6IwIuix249JXq9ApJZPeqcFMiR3lDL0M9z4K25cKOLWnX9jpu1CqwcCh3Pu5eacKJXCou9/eVPTM7Nz86WF8uLS8spqZW29aXVmODS4ltrcRMyCFAoaKFDCTWqAJZGE6+iuXvjX92Cs0OoK+ym0E9ZTIhacoZM6lf0mDSXEyIzRDzS0opewTpgwvBWYX4IEjnWtuqKYHuxc7HYqVX/PH4L+JcGYVMkYZ53KZ9jVPEtAIZfM2lbgp9jOmUHBJQzKYWYhZfyO9aDlqGIJ2HY+Dag207p0lgb9xTSofpzI2eJtf0kcpPFl+2kV4j/ea0M4+N2LlSaISg+OhRnkqKmRUu0K4xLvuOMG5cek75LTOMo+uy7EoIJiP/Jc2DvcDx8Nq7WRcR4lski2yQwJyRGrklJyRBuHkTyTV/LmPXkv3rv3MRqd8sY7G+QXvM9vZb2gmg=</latexit><latexit sha1_base64="eXj9dgW6EeNzOHOTIiPjAgtJIKM=">ACGHicbVDLSgMxFM34rPVdekmWATd6IwIuix249JXq9ApJZPeqcFMiR3lDL0M9z4K25cKOLWnX9jpu1CqwcCh3Pu5eacKJXCou9/eVPTM7Nz86WF8uLS8spqZW29aXVmODS4ltrcRMyCFAoaKFDCTWqAJZGE6+iuXvjX92Cs0OoK+ym0E9ZTIhacoZM6lf0mDSXEyIzRDzS0opewTpgwvBWYX4IEjnWtuqKYHuxc7HYqVX/PH4L+JcGYVMkYZ53KZ9jVPEtAIZfM2lbgp9jOmUHBJQzKYWYhZfyO9aDlqGIJ2HY+Dag207p0lgb9xTSofpzI2eJtf0kcpPFl+2kV4j/ea0M4+N2LlSaISg+OhRnkqKmRUu0K4xLvuOMG5cek75LTOMo+uy7EoIJiP/Jc2DvcDx8Nq7WRcR4lski2yQwJyRGrklJyRBuHkTyTV/LmPXkv3rv3MRqd8sY7G+QXvM9vZb2gmg=</latexit>

V 0 = V ∪ σSelectCondition(∆R)

<latexit sha1_base64="si5+RCDuBX9i9nVd6eTKQZT6Obs=">ACHnicbVDLSgMxFM3UV62vUZdugkXUjcyIohuhWBcufbUKnVIy6W0bmskMyR2hDP0SN/6KGxeKCK70b8zULnwdCBzOZebe8JECoOe9+EUJianpmeKs6W5+YXFJXd5pW7iVHOo8VjG+iZkBqRQUEOBEm4SDSwKJVyH/WruX9+CNiJWVzhIoBmxrhIdwRlaqeXu1zfpEa3TgKcJDYzoRqwVRAx7ArNLkMCxGqu2yMPDreAEJDJ6sd1y96ONwL9S/wxKZMxzlruW9COeRqBQi6ZMQ3fS7CZMY2CSxiWgtRAwnifdaFhqWIRmGY2Om9IN6zSp1Y26eQjtTvExmLjBlEoU3mPze/vVz8z2uk2DlsZkIlKYLiX4s6qaQY07wr2hbaFiAHljCubQmc8h7TjKNtGRL8H+f/JfUd3d8y8/3ypXjcR1FskbWyRbxyQGpkFNyRmqEkzvyQJ7Is3PvPDovzutXtOCMZ1bJDzjvn79roag=</latexit><latexit sha1_base64="si5+RCDuBX9i9nVd6eTKQZT6Obs=">ACHnicbVDLSgMxFM3UV62vUZdugkXUjcyIohuhWBcufbUKnVIy6W0bmskMyR2hDP0SN/6KGxeKCK70b8zULnwdCBzOZebe8JECoOe9+EUJianpmeKs6W5+YXFJXd5pW7iVHOo8VjG+iZkBqRQUEOBEm4SDSwKJVyH/WruX9+CNiJWVzhIoBmxrhIdwRlaqeXu1zfpEa3TgKcJDYzoRqwVRAx7ArNLkMCxGqu2yMPDreAEJDJ6sd1y96ONwL9S/wxKZMxzlruW9COeRqBQi6ZMQ3fS7CZMY2CSxiWgtRAwnifdaFhqWIRmGY2Om9IN6zSp1Y26eQjtTvExmLjBlEoU3mPze/vVz8z2uk2DlsZkIlKYLiX4s6qaQY07wr2hbaFiAHljCubQmc8h7TjKNtGRL8H+f/JfUd3d8y8/3ypXjcR1FskbWyRbxyQGpkFNyRmqEkzvyQJ7Is3PvPDovzutXtOCMZ1bJDzjvn79roag=</latexit><latexit sha1_base64="si5+RCDuBX9i9nVd6eTKQZT6Obs=">ACHnicbVDLSgMxFM3UV62vUZdugkXUjcyIohuhWBcufbUKnVIy6W0bmskMyR2hDP0SN/6KGxeKCK70b8zULnwdCBzOZebe8JECoOe9+EUJianpmeKs6W5+YXFJXd5pW7iVHOo8VjG+iZkBqRQUEOBEm4SDSwKJVyH/WruX9+CNiJWVzhIoBmxrhIdwRlaqeXu1zfpEa3TgKcJDYzoRqwVRAx7ArNLkMCxGqu2yMPDreAEJDJ6sd1y96ONwL9S/wxKZMxzlruW9COeRqBQi6ZMQ3fS7CZMY2CSxiWgtRAwnifdaFhqWIRmGY2Om9IN6zSp1Y26eQjtTvExmLjBlEoU3mPze/vVz8z2uk2DlsZkIlKYLiX4s6qaQY07wr2hbaFiAHljCubQmc8h7TjKNtGRL8H+f/JfUd3d8y8/3ypXjcR1FskbWyRbxyQGpkFNyRmqEkzvyQJ7Is3PvPDovzutXtOCMZ1bJDzjvn79roag=</latexit><latexit sha1_base64="si5+RCDuBX9i9nVd6eTKQZT6Obs=">ACHnicbVDLSgMxFM3UV62vUZdugkXUjcyIohuhWBcufbUKnVIy6W0bmskMyR2hDP0SN/6KGxeKCK70b8zULnwdCBzOZebe8JECoOe9+EUJianpmeKs6W5+YXFJXd5pW7iVHOo8VjG+iZkBqRQUEOBEm4SDSwKJVyH/WruX9+CNiJWVzhIoBmxrhIdwRlaqeXu1zfpEa3TgKcJDYzoRqwVRAx7ArNLkMCxGqu2yMPDreAEJDJ6sd1y96ONwL9S/wxKZMxzlruW9COeRqBQi6ZMQ3fS7CZMY2CSxiWgtRAwnifdaFhqWIRmGY2Om9IN6zSp1Y26eQjtTvExmLjBlEoU3mPze/vVz8z2uk2DlsZkIlKYLiX4s6qaQY07wr2hbaFiAHljCubQmc8h7TjKNtGRL8H+f/JfUd3d8y8/3ypXjcR1FskbWyRbxyQGpkFNyRmqEkzvyQJ7Is3PvPDovzutXtOCMZ1bJDzjvn79roag=</latexit>

V ← πProjectionList(R)

<latexit sha1_base64="jB2Y+HCtJvNE1r3cZvsnXR5nbnU=">ACFHicbVDLSgMxFM3UV62vUZdugkWoCGVGBF0W3bhwUcU+oDMmTxmaSIckoZehHuPFX3LhQxK0Ld/6NmbYLbT0QOJxzL7nhAmjSjvOt1VYWFxaXimultbWNza37O2dphKpxKSBROyHSJFGOWkoalmpJ1IguKQkVY4uMj91j2Rigp+q4cJ8WPU4zSiGkjBfZRE3qMRBpJKR6gl9DAi5HuU53VpbgjOJ+6MmeMKjeHgV12qs4YcJ64U1IGU9QD+8vrCpzGhGvMkFId10m0nyGpKWZkVPJSRKEB6hHOoZyFBPlZ+NQI3hglC6MhDSPazhWf29kKFZqGIdmMr9YzXq5+J/XSXV05meUJ6kmHE8+ilIGtYB5Q7BLpcnNhoYgLKm5FeI+kghr02PJlODORp4nzeOqa/j1Sbl2Pq2jCPbAPqgAF5yCGrgEdAGDyCZ/AK3qwn68V6tz4mowVrurML/sD6/AE8dp7s</latexit><latexit sha1_base64="jB2Y+HCtJvNE1r3cZvsnXR5nbnU=">ACFHicbVDLSgMxFM3UV62vUZdugkWoCGVGBF0W3bhwUcU+oDMmTxmaSIckoZehHuPFX3LhQxK0Ld/6NmbYLbT0QOJxzL7nhAmjSjvOt1VYWFxaXimultbWNza37O2dphKpxKSBROyHSJFGOWkoalmpJ1IguKQkVY4uMj91j2Rigp+q4cJ8WPU4zSiGkjBfZRE3qMRBpJKR6gl9DAi5HuU53VpbgjOJ+6MmeMKjeHgV12qs4YcJ64U1IGU9QD+8vrCpzGhGvMkFId10m0nyGpKWZkVPJSRKEB6hHOoZyFBPlZ+NQI3hglC6MhDSPazhWf29kKFZqGIdmMr9YzXq5+J/XSXV05meUJ6kmHE8+ilIGtYB5Q7BLpcnNhoYgLKm5FeI+kghr02PJlODORp4nzeOqa/j1Sbl2Pq2jCPbAPqgAF5yCGrgEdAGDyCZ/AK3qwn68V6tz4mowVrurML/sD6/AE8dp7s</latexit><latexit sha1_base64="jB2Y+HCtJvNE1r3cZvsnXR5nbnU=">ACFHicbVDLSgMxFM3UV62vUZdugkWoCGVGBF0W3bhwUcU+oDMmTxmaSIckoZehHuPFX3LhQxK0Ld/6NmbYLbT0QOJxzL7nhAmjSjvOt1VYWFxaXimultbWNza37O2dphKpxKSBROyHSJFGOWkoalmpJ1IguKQkVY4uMj91j2Rigp+q4cJ8WPU4zSiGkjBfZRE3qMRBpJKR6gl9DAi5HuU53VpbgjOJ+6MmeMKjeHgV12qs4YcJ64U1IGU9QD+8vrCpzGhGvMkFId10m0nyGpKWZkVPJSRKEB6hHOoZyFBPlZ+NQI3hglC6MhDSPazhWf29kKFZqGIdmMr9YzXq5+J/XSXV05meUJ6kmHE8+ilIGtYB5Q7BLpcnNhoYgLKm5FeI+kghr02PJlODORp4nzeOqa/j1Sbl2Pq2jCPbAPqgAF5yCGrgEdAGDyCZ/AK3qwn68V6tz4mowVrurML/sD6/AE8dp7s</latexit><latexit sha1_base64="jB2Y+HCtJvNE1r3cZvsnXR5nbnU=">ACFHicbVDLSgMxFM3UV62vUZdugkWoCGVGBF0W3bhwUcU+oDMmTxmaSIckoZehHuPFX3LhQxK0Ld/6NmbYLbT0QOJxzL7nhAmjSjvOt1VYWFxaXimultbWNza37O2dphKpxKSBROyHSJFGOWkoalmpJ1IguKQkVY4uMj91j2Rigp+q4cJ8WPU4zSiGkjBfZRE3qMRBpJKR6gl9DAi5HuU53VpbgjOJ+6MmeMKjeHgV12qs4YcJ64U1IGU9QD+8vrCpzGhGvMkFId10m0nyGpKWZkVPJSRKEB6hHOoZyFBPlZ+NQI3hglC6MhDSPazhWf29kKFZqGIdmMr9YzXq5+J/XSXV05meUJ6kmHE8+ilIGtYB5Q7BLpcnNhoYgLKm5FeI+kghr02PJlODORp4nzeOqa/j1Sbl2Pq2jCPbAPqgAF5yCGrgEdAGDyCZ/AK3qwn68V6tz4mowVrurML/sD6/AE8dp7s</latexit>

V 0 = V ∪ πProjectionList(∆R)

<latexit sha1_base64="grYid+FzWJ3Q7FIqbHmF6psNZ8=">ACGnicbVDNSsNAGNz4W+tf1KOXxSLWS0lE0ItQ1IMHD1VsWmhC2Gw37dpNuxuhBL6HF58FS8eFPEmXnwbN20O2jqwMx8H/vNBAmjUlnWtzE3v7C4tFxaKa+urW9smlvbjuSpwKSJOeOiHSBJGI1JU1HFSDsRBEUBI61gcJH7rQciJOXxnRomxItQL6YhxUhpyTdt5wCeQe6OE2gm1DfjZDqU5U1BL8nOB+61leMqu4lYQrB20PfrFg1aw4S+yCVECBhm9+ul2O04jECjMkZce2EuVlSCiKGRmV3VSBOEB6pGOpjGKiPSycbQR3NdKF4Zc6BcrOFZ/b2QoknIYBXoyP1xOe7n4n9dJVXjqZTROUkViPkoTBlUHOY9wS4VOj4baoKwoPpWiPtIKx0m2Vdgj0deZY4RzVb85vjSv28qKMEdsEeqAIbnIA6uAIN0AQYPIJn8ArejCfjxXg3Piajc0axswP+wPj6AZGan/o=</latexit><latexit sha1_base64="grYid+FzWJ3Q7FIqbHmF6psNZ8=">ACGnicbVDNSsNAGNz4W+tf1KOXxSLWS0lE0ItQ1IMHD1VsWmhC2Gw37dpNuxuhBL6HF58FS8eFPEmXnwbN20O2jqwMx8H/vNBAmjUlnWtzE3v7C4tFxaKa+urW9smlvbjuSpwKSJOeOiHSBJGI1JU1HFSDsRBEUBI61gcJH7rQciJOXxnRomxItQL6YhxUhpyTdt5wCeQe6OE2gm1DfjZDqU5U1BL8nOB+61leMqu4lYQrB20PfrFg1aw4S+yCVECBhm9+ul2O04jECjMkZce2EuVlSCiKGRmV3VSBOEB6pGOpjGKiPSycbQR3NdKF4Zc6BcrOFZ/b2QoknIYBXoyP1xOe7n4n9dJVXjqZTROUkViPkoTBlUHOY9wS4VOj4baoKwoPpWiPtIKx0m2Vdgj0deZY4RzVb85vjSv28qKMEdsEeqAIbnIA6uAIN0AQYPIJn8ArejCfjxXg3Piajc0axswP+wPj6AZGan/o=</latexit><latexit sha1_base64="grYid+FzWJ3Q7FIqbHmF6psNZ8=">ACGnicbVDNSsNAGNz4W+tf1KOXxSLWS0lE0ItQ1IMHD1VsWmhC2Gw37dpNuxuhBL6HF58FS8eFPEmXnwbN20O2jqwMx8H/vNBAmjUlnWtzE3v7C4tFxaKa+urW9smlvbjuSpwKSJOeOiHSBJGI1JU1HFSDsRBEUBI61gcJH7rQciJOXxnRomxItQL6YhxUhpyTdt5wCeQe6OE2gm1DfjZDqU5U1BL8nOB+61leMqu4lYQrB20PfrFg1aw4S+yCVECBhm9+ul2O04jECjMkZce2EuVlSCiKGRmV3VSBOEB6pGOpjGKiPSycbQR3NdKF4Zc6BcrOFZ/b2QoknIYBXoyP1xOe7n4n9dJVXjqZTROUkViPkoTBlUHOY9wS4VOj4baoKwoPpWiPtIKx0m2Vdgj0deZY4RzVb85vjSv28qKMEdsEeqAIbnIA6uAIN0AQYPIJn8ArejCfjxXg3Piajc0axswP+wPj6AZGan/o=</latexit><latexit sha1_base64="grYid+FzWJ3Q7FIqbHmF6psNZ8=">ACGnicbVDNSsNAGNz4W+tf1KOXxSLWS0lE0ItQ1IMHD1VsWmhC2Gw37dpNuxuhBL6HF58FS8eFPEmXnwbN20O2jqwMx8H/vNBAmjUlnWtzE3v7C4tFxaKa+urW9smlvbjuSpwKSJOeOiHSBJGI1JU1HFSDsRBEUBI61gcJH7rQciJOXxnRomxItQL6YhxUhpyTdt5wCeQe6OE2gm1DfjZDqU5U1BL8nOB+61leMqu4lYQrB20PfrFg1aw4S+yCVECBhm9+ul2O04jECjMkZce2EuVlSCiKGRmV3VSBOEB6pGOpjGKiPSycbQR3NdKF4Zc6BcrOFZ/b2QoknIYBXoyP1xOe7n4n9dJVXjqZTROUkViPkoTBlUHOY9wS4VOj4baoKwoPpWiPtIKx0m2Vdgj0deZY4RzVb85vjSv28qKMEdsEeqAIbnIA6uAIN0AQYPIJn8ArejCfjxXg3Piajc0axswP+wPj6AZGan/o=</latexit>

Select and Project can be composed and reordered as before Can be just an append (union with “bag” semantics) Requires full set union with V for deduplication

slide-48
SLIDE 48

48

Incremental View Maintenance (IVM)

Unary IVM for insertions: Newly inserted tuples

R0 = R ∪ ∆R

<latexit sha1_base64="1XeBHzMtXPv7C0W2mlvBbLlFEA8=">AB/XicbZDLSsNAFIYnXmu9xcvOzWARXZVEBN0IRV24rMVeoAlMj1ph04mYWYi1FB8FTcuFHre7jzbZy2WjrDwMf/zmHc+YPEs6Udpxva2FxaXltbBWXN/Y3Nq2d3YbKk4lhTqNeSxbAVHAmYC6ZpDK5FAoBDMxhcj+vNB5CKxeJeDxPwI9ITLGSUaGN17P3aMb7ENezRNMHeDXBNcK1jl5yMxGeBzeHEspV7dhfXjemaQRCU06UartOov2MSM0oh1HRSxUkhA5ID9oGBYlA+dnk+hE+Mk4Xh7E0T2g8cX9PZCRSahgFpjMiuq9ma2Pzv1o71eGFnzGRpBoEnS4KU451jMdR4C6TQDUfGiBUMnMrpn0iCdUmsKIJwZ398jw0Tsu4buzUuUqj6OADtAhOkEuOkcVdIuqI4oekTP6BW9WU/Wi/VufUxbF6x8Zg/9kfX5A4gHk1c=</latexit><latexit sha1_base64="1XeBHzMtXPv7C0W2mlvBbLlFEA8=">AB/XicbZDLSsNAFIYnXmu9xcvOzWARXZVEBN0IRV24rMVeoAlMj1ph04mYWYi1FB8FTcuFHre7jzbZy2WjrDwMf/zmHc+YPEs6Udpxva2FxaXltbBWXN/Y3Nq2d3YbKk4lhTqNeSxbAVHAmYC6ZpDK5FAoBDMxhcj+vNB5CKxeJeDxPwI9ITLGSUaGN17P3aMb7ENezRNMHeDXBNcK1jl5yMxGeBzeHEspV7dhfXjemaQRCU06UartOov2MSM0oh1HRSxUkhA5ID9oGBYlA+dnk+hE+Mk4Xh7E0T2g8cX9PZCRSahgFpjMiuq9ma2Pzv1o71eGFnzGRpBoEnS4KU451jMdR4C6TQDUfGiBUMnMrpn0iCdUmsKIJwZ398jw0Tsu4buzUuUqj6OADtAhOkEuOkcVdIuqI4oekTP6BW9WU/Wi/VufUxbF6x8Zg/9kfX5A4gHk1c=</latexit><latexit sha1_base64="1XeBHzMtXPv7C0W2mlvBbLlFEA8=">AB/XicbZDLSsNAFIYnXmu9xcvOzWARXZVEBN0IRV24rMVeoAlMj1ph04mYWYi1FB8FTcuFHre7jzbZy2WjrDwMf/zmHc+YPEs6Udpxva2FxaXltbBWXN/Y3Nq2d3YbKk4lhTqNeSxbAVHAmYC6ZpDK5FAoBDMxhcj+vNB5CKxeJeDxPwI9ITLGSUaGN17P3aMb7ENezRNMHeDXBNcK1jl5yMxGeBzeHEspV7dhfXjemaQRCU06UartOov2MSM0oh1HRSxUkhA5ID9oGBYlA+dnk+hE+Mk4Xh7E0T2g8cX9PZCRSahgFpjMiuq9ma2Pzv1o71eGFnzGRpBoEnS4KU451jMdR4C6TQDUfGiBUMnMrpn0iCdUmsKIJwZ398jw0Tsu4buzUuUqj6OADtAhOkEuOkcVdIuqI4oekTP6BW9WU/Wi/VufUxbF6x8Zg/9kfX5A4gHk1c=</latexit><latexit sha1_base64="1XeBHzMtXPv7C0W2mlvBbLlFEA8=">AB/XicbZDLSsNAFIYnXmu9xcvOzWARXZVEBN0IRV24rMVeoAlMj1ph04mYWYi1FB8FTcuFHre7jzbZy2WjrDwMf/zmHc+YPEs6Udpxva2FxaXltbBWXN/Y3Nq2d3YbKk4lhTqNeSxbAVHAmYC6ZpDK5FAoBDMxhcj+vNB5CKxeJeDxPwI9ITLGSUaGN17P3aMb7ENezRNMHeDXBNcK1jl5yMxGeBzeHEspV7dhfXjemaQRCU06UartOov2MSM0oh1HRSxUkhA5ID9oGBYlA+dnk+hE+Mk4Xh7E0T2g8cX9PZCRSahgFpjMiuq9ma2Pzv1o71eGFnzGRpBoEnS4KU451jMdR4C6TQDUfGiBUMnMrpn0iCdUmsKIJwZ398jw0Tsu4buzUuUqj6OADtAhOkEuOkcVdIuqI4oekTP6BW9WU/Wi/VufUxbF6x8Zg/9kfX5A4gHk1c=</latexit>

Group By Agg: Feasibility of IVM Depends on Agg() function! Rewrite rules exist for SUM, COUNT, and MIN/MAX over bags AVG not possible in general; needs deeper system changes

V ← γAggList,Agg(Y )(R)

<latexit sha1_base64="TA0EqPjhE96xTP4SZSGJuabPDtg=">ACInicbVDLSsNAFJ34tr6qLt0MFqGCSCKCuvOxceFCxValKeVmOomDM0mYuVFKyLe48VfcuFDUleDHOH0s6uPAwOGce5lzT5BKYdB1P52R0bHxicmp6dLM7Nz8QnlxqW6STDNeY4lM9FUAhksR8xoKlPwq1RxUIPlcHvU9S/vuDYiS+wk/KmgigWoWCAVmqV9+rUlzxE0Dq5p34ESkEr9xXgjcD8IpObIZiY0goqtfrRfV8vVWuJtuD/Qv8QakQgY4bZXf/XbCMsVjZBKMaXhuis0cNAomeVHyM8NTYLcQ8YalMShumnvxIKuWaVNw0TbFyPtqcMbOShjOiqwk92o5rfXFf/zGhmGu81cxGmGPGb9j8JMUkxoty/aFpozlB1LgGlhs1J2AxoY2lZLtgTv98l/SX1r07P8bLuyfzioY4qskFVSJR7ZIfvkmJySGmHkgTyRF/LqPDrPzpvz0R8dcQY7y+QHnK9voz+kTA=</latexit><latexit sha1_base64="TA0EqPjhE96xTP4SZSGJuabPDtg=">ACInicbVDLSsNAFJ34tr6qLt0MFqGCSCKCuvOxceFCxValKeVmOomDM0mYuVFKyLe48VfcuFDUleDHOH0s6uPAwOGce5lzT5BKYdB1P52R0bHxicmp6dLM7Nz8QnlxqW6STDNeY4lM9FUAhksR8xoKlPwq1RxUIPlcHvU9S/vuDYiS+wk/KmgigWoWCAVmqV9+rUlzxE0Dq5p34ESkEr9xXgjcD8IpObIZiY0goqtfrRfV8vVWuJtuD/Qv8QakQgY4bZXf/XbCMsVjZBKMaXhuis0cNAomeVHyM8NTYLcQ8YalMShumnvxIKuWaVNw0TbFyPtqcMbOShjOiqwk92o5rfXFf/zGhmGu81cxGmGPGb9j8JMUkxoty/aFpozlB1LgGlhs1J2AxoY2lZLtgTv98l/SX1r07P8bLuyfzioY4qskFVSJR7ZIfvkmJySGmHkgTyRF/LqPDrPzpvz0R8dcQY7y+QHnK9voz+kTA=</latexit><latexit sha1_base64="TA0EqPjhE96xTP4SZSGJuabPDtg=">ACInicbVDLSsNAFJ34tr6qLt0MFqGCSCKCuvOxceFCxValKeVmOomDM0mYuVFKyLe48VfcuFDUleDHOH0s6uPAwOGce5lzT5BKYdB1P52R0bHxicmp6dLM7Nz8QnlxqW6STDNeY4lM9FUAhksR8xoKlPwq1RxUIPlcHvU9S/vuDYiS+wk/KmgigWoWCAVmqV9+rUlzxE0Dq5p34ESkEr9xXgjcD8IpObIZiY0goqtfrRfV8vVWuJtuD/Qv8QakQgY4bZXf/XbCMsVjZBKMaXhuis0cNAomeVHyM8NTYLcQ8YalMShumnvxIKuWaVNw0TbFyPtqcMbOShjOiqwk92o5rfXFf/zGhmGu81cxGmGPGb9j8JMUkxoty/aFpozlB1LgGlhs1J2AxoY2lZLtgTv98l/SX1r07P8bLuyfzioY4qskFVSJR7ZIfvkmJySGmHkgTyRF/LqPDrPzpvz0R8dcQY7y+QHnK9voz+kTA=</latexit><latexit sha1_base64="TA0EqPjhE96xTP4SZSGJuabPDtg=">ACInicbVDLSsNAFJ34tr6qLt0MFqGCSCKCuvOxceFCxValKeVmOomDM0mYuVFKyLe48VfcuFDUleDHOH0s6uPAwOGce5lzT5BKYdB1P52R0bHxicmp6dLM7Nz8QnlxqW6STDNeY4lM9FUAhksR8xoKlPwq1RxUIPlcHvU9S/vuDYiS+wk/KmgigWoWCAVmqV9+rUlzxE0Dq5p34ESkEr9xXgjcD8IpObIZiY0goqtfrRfV8vVWuJtuD/Qv8QakQgY4bZXf/XbCMsVjZBKMaXhuis0cNAomeVHyM8NTYLcQ8YalMShumnvxIKuWaVNw0TbFyPtqcMbOShjOiqwk92o5rfXFf/zGhmGu81cxGmGPGb9j8JMUkxoty/aFpozlB1LgGlhs1J2AxoY2lZLtgTv98l/SX1r07P8bLuyfzioY4qskFVSJR7ZIfvkmJySGmHkgTyRF/LqPDrPzpvz0R8dcQY7y+QHnK9voz+kTA=</latexit>

V 0 = γAggList,SUM(Y )(V ∪ γAggList,SUM(Y )∆R)

<latexit sha1_base64="J9JSZSiTeNi8meg8CJ4WaxvATmo=">ACUnicjVLSgMxFE3rq9ZX1aWbYBEriMyIoBvB18KFQn20Kp1S7qTpNJjMDMkdoQzjYK48UPcuFDTWsHXwgOBwzn3cm9O4sdSGHScp1x+ZHRsfKIwWZyanpmdK80v1E2UaMZrLJKRvbBcClCXkOBkl/HmoPyJb/ybw/7/tUd10ZE4SX2Yt5UEISiIxiglVolUV+lu9QLQClopZ4C7ApM94PgxM7O1j+Fi9pVrlZyp16rEk/n8D9Y64RKDna61S2dlwBqC/iTskZTJEtV68NoRSxQPkUkwpuE6MTZT0CiY5FnRSwyPgd1CwBuWhqC4aDSDK6YpU27UTanhDpQP3akYIypqd8W9nf2Pz0+uJfXiPBzk4zFWGcIA/Zx6BOIilGtJ8vbQvNGcqeJcC0sLtS1gUNDO0rFG0I7s8r/yb1zQ3X8rOt8t7BMI4CWSLpEJcsk32yDGpkhph5J48k1fylnvMveTtL/kozeGPYvkG/LT7ysds+k=</latexit><latexit sha1_base64="J9JSZSiTeNi8meg8CJ4WaxvATmo=">ACUnicjVLSgMxFE3rq9ZX1aWbYBEriMyIoBvB18KFQn20Kp1S7qTpNJjMDMkdoQzjYK48UPcuFDTWsHXwgOBwzn3cm9O4sdSGHScp1x+ZHRsfKIwWZyanpmdK80v1E2UaMZrLJKRvbBcClCXkOBkl/HmoPyJb/ybw/7/tUd10ZE4SX2Yt5UEISiIxiglVolUV+lu9QLQClopZ4C7ApM94PgxM7O1j+Fi9pVrlZyp16rEk/n8D9Y64RKDna61S2dlwBqC/iTskZTJEtV68NoRSxQPkUkwpuE6MTZT0CiY5FnRSwyPgd1CwBuWhqC4aDSDK6YpU27UTanhDpQP3akYIypqd8W9nf2Pz0+uJfXiPBzk4zFWGcIA/Zx6BOIilGtJ8vbQvNGcqeJcC0sLtS1gUNDO0rFG0I7s8r/yb1zQ3X8rOt8t7BMI4CWSLpEJcsk32yDGpkhph5J48k1fylnvMveTtL/kozeGPYvkG/LT7ysds+k=</latexit><latexit sha1_base64="J9JSZSiTeNi8meg8CJ4WaxvATmo=">ACUnicjVLSgMxFE3rq9ZX1aWbYBEriMyIoBvB18KFQn20Kp1S7qTpNJjMDMkdoQzjYK48UPcuFDTWsHXwgOBwzn3cm9O4sdSGHScp1x+ZHRsfKIwWZyanpmdK80v1E2UaMZrLJKRvbBcClCXkOBkl/HmoPyJb/ybw/7/tUd10ZE4SX2Yt5UEISiIxiglVolUV+lu9QLQClopZ4C7ApM94PgxM7O1j+Fi9pVrlZyp16rEk/n8D9Y64RKDna61S2dlwBqC/iTskZTJEtV68NoRSxQPkUkwpuE6MTZT0CiY5FnRSwyPgd1CwBuWhqC4aDSDK6YpU27UTanhDpQP3akYIypqd8W9nf2Pz0+uJfXiPBzk4zFWGcIA/Zx6BOIilGtJ8vbQvNGcqeJcC0sLtS1gUNDO0rFG0I7s8r/yb1zQ3X8rOt8t7BMI4CWSLpEJcsk32yDGpkhph5J48k1fylnvMveTtL/kozeGPYvkG/LT7ysds+k=</latexit><latexit sha1_base64="J9JSZSiTeNi8meg8CJ4WaxvATmo=">ACUnicjVLSgMxFE3rq9ZX1aWbYBEriMyIoBvB18KFQn20Kp1S7qTpNJjMDMkdoQzjYK48UPcuFDTWsHXwgOBwzn3cm9O4sdSGHScp1x+ZHRsfKIwWZyanpmdK80v1E2UaMZrLJKRvbBcClCXkOBkl/HmoPyJb/ybw/7/tUd10ZE4SX2Yt5UEISiIxiglVolUV+lu9QLQClopZ4C7ApM94PgxM7O1j+Fi9pVrlZyp16rEk/n8D9Y64RKDna61S2dlwBqC/iTskZTJEtV68NoRSxQPkUkwpuE6MTZT0CiY5FnRSwyPgd1CwBuWhqC4aDSDK6YpU27UTanhDpQP3akYIypqd8W9nf2Pz0+uJfXiPBzk4zFWGcIA/Zx6BOIilGtJ8vbQvNGcqeJcC0sLtS1gUNDO0rFG0I7s8r/yb1zQ3X8rOt8t7BMI4CWSLpEJcsk32yDGpkhph5J48k1fylnvMveTtL/kozeGPYvkG/LT7ysds+k=</latexit>

V 0 = γAggList,SUM(Y )(V ∪ γAggList,COUNT(Y )∆R)

<latexit sha1_base64="Po07Uw9aYUnL5/uWsc6vj2c5HBE=">ACVHichVFBSxtBFJ5dTdXYpqkevQwGaQIl7BZBL4VYe+hBW6vZmJIN4e1kshkys7vMvC2EZX+kPRT6S3rx4CRGsFrog4GP73sf71vokwKg57323HX1isvNja3qtsvX9Ve19/s9Eya8YDlspU9yMwXIqEByhQ8n6mOahI8utodrQr39wbUSadHGe8aGCOBETwQAtNarPem/pBxrGoBSMilABTgUWJ3F8ZmeX7x6Iq+C8bH5vlc0eDVme/d9w+jX40l1aPiJSwR62RrVG17bWxZ9DvwVaJBVXYzqP8NxynLFE2QSjBn4XobDAjQKJnlZDXPDM2AziPnAwgQUN8NiGUpJDywzpNU25cgXbKPHQUoY+Yqsp2Lnc1TbUH+SxvkODkeFiLJcuQJux80ySXFlC4SpmOhOUM5twCYFnZXyqagaH9h6oNwX968nPQe9/2Lf52Oh8XMWxSfbIPmkSnxyRDvlMLkhAGLkhfxziOM4v59Zdcyv3ra6z8uySv8qt3QFPKrKT</latexit><latexit sha1_base64="Po07Uw9aYUnL5/uWsc6vj2c5HBE=">ACVHichVFBSxtBFJ5dTdXYpqkevQwGaQIl7BZBL4VYe+hBW6vZmJIN4e1kshkys7vMvC2EZX+kPRT6S3rx4CRGsFrog4GP73sf71vokwKg57323HX1isvNja3qtsvX9Ve19/s9Eya8YDlspU9yMwXIqEByhQ8n6mOahI8utodrQr39wbUSadHGe8aGCOBETwQAtNarPem/pBxrGoBSMilABTgUWJ3F8ZmeX7x6Iq+C8bH5vlc0eDVme/d9w+jX40l1aPiJSwR62RrVG17bWxZ9DvwVaJBVXYzqP8NxynLFE2QSjBn4XobDAjQKJnlZDXPDM2AziPnAwgQUN8NiGUpJDywzpNU25cgXbKPHQUoY+Yqsp2Lnc1TbUH+SxvkODkeFiLJcuQJux80ySXFlC4SpmOhOUM5twCYFnZXyqagaH9h6oNwX968nPQe9/2Lf52Oh8XMWxSfbIPmkSnxyRDvlMLkhAGLkhfxziOM4v59Zdcyv3ra6z8uySv8qt3QFPKrKT</latexit><latexit sha1_base64="Po07Uw9aYUnL5/uWsc6vj2c5HBE=">ACVHichVFBSxtBFJ5dTdXYpqkevQwGaQIl7BZBL4VYe+hBW6vZmJIN4e1kshkys7vMvC2EZX+kPRT6S3rx4CRGsFrog4GP73sf71vokwKg57323HX1isvNja3qtsvX9Ve19/s9Eya8YDlspU9yMwXIqEByhQ8n6mOahI8utodrQr39wbUSadHGe8aGCOBETwQAtNarPem/pBxrGoBSMilABTgUWJ3F8ZmeX7x6Iq+C8bH5vlc0eDVme/d9w+jX40l1aPiJSwR62RrVG17bWxZ9DvwVaJBVXYzqP8NxynLFE2QSjBn4XobDAjQKJnlZDXPDM2AziPnAwgQUN8NiGUpJDywzpNU25cgXbKPHQUoY+Yqsp2Lnc1TbUH+SxvkODkeFiLJcuQJux80ySXFlC4SpmOhOUM5twCYFnZXyqagaH9h6oNwX968nPQe9/2Lf52Oh8XMWxSfbIPmkSnxyRDvlMLkhAGLkhfxziOM4v59Zdcyv3ra6z8uySv8qt3QFPKrKT</latexit><latexit sha1_base64="Po07Uw9aYUnL5/uWsc6vj2c5HBE=">ACVHichVFBSxtBFJ5dTdXYpqkevQwGaQIl7BZBL4VYe+hBW6vZmJIN4e1kshkys7vMvC2EZX+kPRT6S3rx4CRGsFrog4GP73sf71vokwKg57323HX1isvNja3qtsvX9Ve19/s9Eya8YDlspU9yMwXIqEByhQ8n6mOahI8utodrQr39wbUSadHGe8aGCOBETwQAtNarPem/pBxrGoBSMilABTgUWJ3F8ZmeX7x6Iq+C8bH5vlc0eDVme/d9w+jX40l1aPiJSwR62RrVG17bWxZ9DvwVaJBVXYzqP8NxynLFE2QSjBn4XobDAjQKJnlZDXPDM2AziPnAwgQUN8NiGUpJDywzpNU25cgXbKPHQUoY+Yqsp2Lnc1TbUH+SxvkODkeFiLJcuQJux80ySXFlC4SpmOhOUM5twCYFnZXyqagaH9h6oNwX968nPQe9/2Lf52Oh8XMWxSfbIPmkSnxyRDvlMLkhAGLkhfxziOM4v59Zdcyv3ra6z8uySv8qt3QFPKrKT</latexit>

V 0 = γAggList,MIN(Y )(V ∪ γAggList,MIN(Y )∆R)

<latexit sha1_base64="qwARVHKYintUVEhXD+Xp2gE2w=">ACUnicjVLSgMxFE3ru76qLt0Ei1hBZEYE3Qi+FgoqVWxVOqXcSdMxmMwMyR2hDPONgrjxQ9y4UNOH4GvhgcDhnHu5NyfxYykMOs5zLj80PDI6Nj5RmJyanpktzs3XTJRoxqskpG+9sFwKUJeRYGSX8eag/Ilv/LvDr+1T3XRkThJXZi3lAQhKItGKCVmkVRW6E71AtAKWimngK8FZjuBcGJnZ2tfQqnx2dZ+WY1K9eox5L4/w3UO+QSgV6sNoslZ93pgf4m7oCUyACVZvHRa0UsUTxEJsGYuvE2EhBo2CSZwUvMTwGdgcBr1saguKmkfYiyeiyVq0HWl7QqQ9WtHCsqYjvJtZXdj89Prin959QTb241UhHGCPGT9Qe1EUoxoN1/aEpozlB1LgGlhd6XsFjQwtK9QsCG4P6/8m9Q21l3LzdLu/uDOMbJIlkiZeKSLbJLjkiFVAkjD+SFvJH3FPuNW9/Sb80nxv0LJBvyE9APIXs8c=</latexit><latexit sha1_base64="qwARVHKYintUVEhXD+Xp2gE2w=">ACUnicjVLSgMxFE3ru76qLt0Ei1hBZEYE3Qi+FgoqVWxVOqXcSdMxmMwMyR2hDPONgrjxQ9y4UNOH4GvhgcDhnHu5NyfxYykMOs5zLj80PDI6Nj5RmJyanpktzs3XTJRoxqskpG+9sFwKUJeRYGSX8eag/Ilv/LvDr+1T3XRkThJXZi3lAQhKItGKCVmkVRW6E71AtAKWimngK8FZjuBcGJnZ2tfQqnx2dZ+WY1K9eox5L4/w3UO+QSgV6sNoslZ93pgf4m7oCUyACVZvHRa0UsUTxEJsGYuvE2EhBo2CSZwUvMTwGdgcBr1saguKmkfYiyeiyVq0HWl7QqQ9WtHCsqYjvJtZXdj89Prin959QTb241UhHGCPGT9Qe1EUoxoN1/aEpozlB1LgGlhd6XsFjQwtK9QsCG4P6/8m9Q21l3LzdLu/uDOMbJIlkiZeKSLbJLjkiFVAkjD+SFvJH3FPuNW9/Sb80nxv0LJBvyE9APIXs8c=</latexit><latexit sha1_base64="qwARVHKYintUVEhXD+Xp2gE2w=">ACUnicjVLSgMxFE3ru76qLt0Ei1hBZEYE3Qi+FgoqVWxVOqXcSdMxmMwMyR2hDPONgrjxQ9y4UNOH4GvhgcDhnHu5NyfxYykMOs5zLj80PDI6Nj5RmJyanpktzs3XTJRoxqskpG+9sFwKUJeRYGSX8eag/Ilv/LvDr+1T3XRkThJXZi3lAQhKItGKCVmkVRW6E71AtAKWimngK8FZjuBcGJnZ2tfQqnx2dZ+WY1K9eox5L4/w3UO+QSgV6sNoslZ93pgf4m7oCUyACVZvHRa0UsUTxEJsGYuvE2EhBo2CSZwUvMTwGdgcBr1saguKmkfYiyeiyVq0HWl7QqQ9WtHCsqYjvJtZXdj89Prin959QTb241UhHGCPGT9Qe1EUoxoN1/aEpozlB1LgGlhd6XsFjQwtK9QsCG4P6/8m9Q21l3LzdLu/uDOMbJIlkiZeKSLbJLjkiFVAkjD+SFvJH3FPuNW9/Sb80nxv0LJBvyE9APIXs8c=</latexit><latexit sha1_base64="qwARVHKYintUVEhXD+Xp2gE2w=">ACUnicjVLSgMxFE3ru76qLt0Ei1hBZEYE3Qi+FgoqVWxVOqXcSdMxmMwMyR2hDPONgrjxQ9y4UNOH4GvhgcDhnHu5NyfxYykMOs5zLj80PDI6Nj5RmJyanpktzs3XTJRoxqskpG+9sFwKUJeRYGSX8eag/Ilv/LvDr+1T3XRkThJXZi3lAQhKItGKCVmkVRW6E71AtAKWimngK8FZjuBcGJnZ2tfQqnx2dZ+WY1K9eox5L4/w3UO+QSgV6sNoslZ93pgf4m7oCUyACVZvHRa0UsUTxEJsGYuvE2EhBo2CSZwUvMTwGdgcBr1saguKmkfYiyeiyVq0HWl7QqQ9WtHCsqYjvJtZXdj89Prin959QTb241UhHGCPGT9Qe1EUoxoN1/aEpozlB1LgGlhd6XsFjQwtK9QsCG4P6/8m9Q21l3LzdLu/uDOMbJIlkiZeKSLbJLjkiFVAkjD+SFvJH3FPuNW9/Sb80nxv0LJBvyE9APIXs8c=</latexit>
slide-49
SLIDE 49

49

Incremental View Maintenance (IVM)

Join IVM for insertions:

V ← A . / B

<latexit sha1_base64="pw69SiEFo9OAlJjiH5z7yop+s=">ACAXicbZA9SwNBEIb34leMX1EbwWYxCFbhTgQtY2wsI5gPSELY28wlS/Zuj905Qwix8a/YWChi67+w89+4Sa7QxBcWHt6ZYXZeP5bCoOt+O5mV1bX1jexmbmt7Z3cv39QMyrRHKpcSaUbPjMgRQRVFCihEWtgoS+h7g9upvX6A2gjVHSPoxjaIetFIhCcobU6+aMabUkIkGmthvSatnw1RAG03MkX3KI7E10GL4UCSVXp5L9aXcWTECLkhnT9NwY2OmUXAJk1wrMRAzPmA9aFqMWAimPZ5dMKGn1unSQGn7IqQz9/fEmIXGjELfdoYM+2axNjX/qzUTDK7aYxHFCULE54uCRFJUdBoH7QoNHOXIAuNa2L9S3meacbSh5WwI3uLJy1A7L3qW7y4KpXIaR5YckxNyRjxySUrklRIlXDySJ7JK3lznpwX5935mLdmnHTmkPyR8/kDKmCWDA=</latexit><latexit sha1_base64="pw69SiEFo9OAlJjiH5z7yop+s=">ACAXicbZA9SwNBEIb34leMX1EbwWYxCFbhTgQtY2wsI5gPSELY28wlS/Zuj905Qwix8a/YWChi67+w89+4Sa7QxBcWHt6ZYXZeP5bCoOt+O5mV1bX1jexmbmt7Z3cv39QMyrRHKpcSaUbPjMgRQRVFCihEWtgoS+h7g9upvX6A2gjVHSPoxjaIetFIhCcobU6+aMabUkIkGmthvSatnw1RAG03MkX3KI7E10GL4UCSVXp5L9aXcWTECLkhnT9NwY2OmUXAJk1wrMRAzPmA9aFqMWAimPZ5dMKGn1unSQGn7IqQz9/fEmIXGjELfdoYM+2axNjX/qzUTDK7aYxHFCULE54uCRFJUdBoH7QoNHOXIAuNa2L9S3meacbSh5WwI3uLJy1A7L3qW7y4KpXIaR5YckxNyRjxySUrklRIlXDySJ7JK3lznpwX5935mLdmnHTmkPyR8/kDKmCWDA=</latexit><latexit sha1_base64="pw69SiEFo9OAlJjiH5z7yop+s=">ACAXicbZA9SwNBEIb34leMX1EbwWYxCFbhTgQtY2wsI5gPSELY28wlS/Zuj905Qwix8a/YWChi67+w89+4Sa7QxBcWHt6ZYXZeP5bCoOt+O5mV1bX1jexmbmt7Z3cv39QMyrRHKpcSaUbPjMgRQRVFCihEWtgoS+h7g9upvX6A2gjVHSPoxjaIetFIhCcobU6+aMabUkIkGmthvSatnw1RAG03MkX3KI7E10GL4UCSVXp5L9aXcWTECLkhnT9NwY2OmUXAJk1wrMRAzPmA9aFqMWAimPZ5dMKGn1unSQGn7IqQz9/fEmIXGjELfdoYM+2axNjX/qzUTDK7aYxHFCULE54uCRFJUdBoH7QoNHOXIAuNa2L9S3meacbSh5WwI3uLJy1A7L3qW7y4KpXIaR5YckxNyRjxySUrklRIlXDySJ7JK3lznpwX5935mLdmnHTmkPyR8/kDKmCWDA=</latexit><latexit sha1_base64="pw69SiEFo9OAlJjiH5z7yop+s=">ACAXicbZA9SwNBEIb34leMX1EbwWYxCFbhTgQtY2wsI5gPSELY28wlS/Zuj905Qwix8a/YWChi67+w89+4Sa7QxBcWHt6ZYXZeP5bCoOt+O5mV1bX1jexmbmt7Z3cv39QMyrRHKpcSaUbPjMgRQRVFCihEWtgoS+h7g9upvX6A2gjVHSPoxjaIetFIhCcobU6+aMabUkIkGmthvSatnw1RAG03MkX3KI7E10GL4UCSVXp5L9aXcWTECLkhnT9NwY2OmUXAJk1wrMRAzPmA9aFqMWAimPZ5dMKGn1unSQGn7IqQz9/fEmIXGjELfdoYM+2axNjX/qzUTDK7aYxHFCULE54uCRFJUdBoH7QoNHOXIAuNa2L9S3meacbSh5WwI3uLJy1A7L3qW7y4KpXIaR5YckxNyRjxySUrklRIlXDySJ7JK3lznpwX5935mLdmnHTmkPyR8/kDKmCWDA=</latexit>

A0 = A ∪ ∆A

<latexit sha1_base64="nLK9WSiKQwynE/Gnx6DiqAU79Q=">AB/XicbZDLSsNAFIZPvNZ6i5edm8EiuiqJCLoRWnXhsoK9QBPKZDph04mYWYi1FB8FTcuFHre7jzbZy2WjrDwMf/zmHc+YPEs6Udpxva2FxaXltbBWXN/Y3Nq2d3YbKk4loXUS81i2AqwoZ4LWNdOcthJcRw2gwG1+N684FKxWJxr4cJ9SPcEyxkBGtjdez96jG6RFXkTRB3g3lGqNqxy45ZWciNA9uDiXIVevYX143JmlEhSYcK9V2nUT7GZaEU5HRS9VNMFkgHu0bVDgiCo/m1w/QkfG6aIwluYJjSbu74kMR0oNo8B0Rlj31WxtbP5Xa6c6vPAzJpJU0Gmi8KUIx2jcRSoyQlmg8NYCKZuRWRPpaYaBNY0YTgzn5HhqnZdfw3VmpcpXHUYADOIQTcOEcKnALNagDgUd4hld4s56sF+vd+pi2Llj5zB78kfX5AziKkyQ=</latexit><latexit sha1_base64="nLK9WSiKQwynE/Gnx6DiqAU79Q=">AB/XicbZDLSsNAFIZPvNZ6i5edm8EiuiqJCLoRWnXhsoK9QBPKZDph04mYWYi1FB8FTcuFHre7jzbZy2WjrDwMf/zmHc+YPEs6Udpxva2FxaXltbBWXN/Y3Nq2d3YbKk4loXUS81i2AqwoZ4LWNdOcthJcRw2gwG1+N684FKxWJxr4cJ9SPcEyxkBGtjdez96jG6RFXkTRB3g3lGqNqxy45ZWciNA9uDiXIVevYX143JmlEhSYcK9V2nUT7GZaEU5HRS9VNMFkgHu0bVDgiCo/m1w/QkfG6aIwluYJjSbu74kMR0oNo8B0Rlj31WxtbP5Xa6c6vPAzJpJU0Gmi8KUIx2jcRSoyQlmg8NYCKZuRWRPpaYaBNY0YTgzn5HhqnZdfw3VmpcpXHUYADOIQTcOEcKnALNagDgUd4hld4s56sF+vd+pi2Llj5zB78kfX5AziKkyQ=</latexit><latexit sha1_base64="nLK9WSiKQwynE/Gnx6DiqAU79Q=">AB/XicbZDLSsNAFIZPvNZ6i5edm8EiuiqJCLoRWnXhsoK9QBPKZDph04mYWYi1FB8FTcuFHre7jzbZy2WjrDwMf/zmHc+YPEs6Udpxva2FxaXltbBWXN/Y3Nq2d3YbKk4loXUS81i2AqwoZ4LWNdOcthJcRw2gwG1+N684FKxWJxr4cJ9SPcEyxkBGtjdez96jG6RFXkTRB3g3lGqNqxy45ZWciNA9uDiXIVevYX143JmlEhSYcK9V2nUT7GZaEU5HRS9VNMFkgHu0bVDgiCo/m1w/QkfG6aIwluYJjSbu74kMR0oNo8B0Rlj31WxtbP5Xa6c6vPAzJpJU0Gmi8KUIx2jcRSoyQlmg8NYCKZuRWRPpaYaBNY0YTgzn5HhqnZdfw3VmpcpXHUYADOIQTcOEcKnALNagDgUd4hld4s56sF+vd+pi2Llj5zB78kfX5AziKkyQ=</latexit><latexit sha1_base64="nLK9WSiKQwynE/Gnx6DiqAU79Q=">AB/XicbZDLSsNAFIZPvNZ6i5edm8EiuiqJCLoRWnXhsoK9QBPKZDph04mYWYi1FB8FTcuFHre7jzbZy2WjrDwMf/zmHc+YPEs6Udpxva2FxaXltbBWXN/Y3Nq2d3YbKk4loXUS81i2AqwoZ4LWNdOcthJcRw2gwG1+N684FKxWJxr4cJ9SPcEyxkBGtjdez96jG6RFXkTRB3g3lGqNqxy45ZWciNA9uDiXIVevYX143JmlEhSYcK9V2nUT7GZaEU5HRS9VNMFkgHu0bVDgiCo/m1w/QkfG6aIwluYJjSbu74kMR0oNo8B0Rlj31WxtbP5Xa6c6vPAzJpJU0Gmi8KUIx2jcRSoyQlmg8NYCKZuRWRPpaYaBNY0YTgzn5HhqnZdfw3VmpcpXHUYADOIQTcOEcKnALNagDgUd4hld4s56sF+vd+pi2Llj5zB78kfX5AziKkyQ=</latexit>

B0 = B ∪ ∆B

<latexit sha1_base64="3rsI6ElVwi6Lfo3qZpJsR2daZOU=">AB/XicbZDLSsNAFIYn9VbrLV52bgaL6KokIuhGKNGFywr2Ak0ok+m0HTqZhJkToYbiq7hxoYhb38Odb+O0zUJbfxj4+M85nDN/mAiuwXG+rcLS8srqWnG9tLG5tb1j7+41dJwqyuo0FrFqhUQzwSWrAwfBWoliJAoFa4bD60m9+cCU5rG8h1HCgoj0Je9xSsBYHfvAO8FX2M+TRPs3zABHsdu+xUnKnwIrg5lFGuWsf+8rsxTSMmgQqidt1EgyoBTwcYlP9UsIXRI+qxtUJKI6SCbXj/Gx8bp4l6szJOAp+7viYxEWo+i0HRGBAZ6vjYx/6u1U+hdBhmXSQpM0tmiXiowxHgSBe5yxSiIkQFCFTe3YjogilAwgZVMCO78lxehcVZxDd+dl6teHkcRHaIjdIpcdIGq6BbVUB1R9Iie0St6s56sF+vd+pi1Fqx8Zh/9kfX5Az03kyc=</latexit><latexit sha1_base64="3rsI6ElVwi6Lfo3qZpJsR2daZOU=">AB/XicbZDLSsNAFIYn9VbrLV52bgaL6KokIuhGKNGFywr2Ak0ok+m0HTqZhJkToYbiq7hxoYhb38Odb+O0zUJbfxj4+M85nDN/mAiuwXG+rcLS8srqWnG9tLG5tb1j7+41dJwqyuo0FrFqhUQzwSWrAwfBWoliJAoFa4bD60m9+cCU5rG8h1HCgoj0Je9xSsBYHfvAO8FX2M+TRPs3zABHsdu+xUnKnwIrg5lFGuWsf+8rsxTSMmgQqidt1EgyoBTwcYlP9UsIXRI+qxtUJKI6SCbXj/Gx8bp4l6szJOAp+7viYxEWo+i0HRGBAZ6vjYx/6u1U+hdBhmXSQpM0tmiXiowxHgSBe5yxSiIkQFCFTe3YjogilAwgZVMCO78lxehcVZxDd+dl6teHkcRHaIjdIpcdIGq6BbVUB1R9Iie0St6s56sF+vd+pi1Fqx8Zh/9kfX5Az03kyc=</latexit><latexit sha1_base64="3rsI6ElVwi6Lfo3qZpJsR2daZOU=">AB/XicbZDLSsNAFIYn9VbrLV52bgaL6KokIuhGKNGFywr2Ak0ok+m0HTqZhJkToYbiq7hxoYhb38Odb+O0zUJbfxj4+M85nDN/mAiuwXG+rcLS8srqWnG9tLG5tb1j7+41dJwqyuo0FrFqhUQzwSWrAwfBWoliJAoFa4bD60m9+cCU5rG8h1HCgoj0Je9xSsBYHfvAO8FX2M+TRPs3zABHsdu+xUnKnwIrg5lFGuWsf+8rsxTSMmgQqidt1EgyoBTwcYlP9UsIXRI+qxtUJKI6SCbXj/Gx8bp4l6szJOAp+7viYxEWo+i0HRGBAZ6vjYx/6u1U+hdBhmXSQpM0tmiXiowxHgSBe5yxSiIkQFCFTe3YjogilAwgZVMCO78lxehcVZxDd+dl6teHkcRHaIjdIpcdIGq6BbVUB1R9Iie0St6s56sF+vd+pi1Fqx8Zh/9kfX5Az03kyc=</latexit><latexit sha1_base64="3rsI6ElVwi6Lfo3qZpJsR2daZOU=">AB/XicbZDLSsNAFIYn9VbrLV52bgaL6KokIuhGKNGFywr2Ak0ok+m0HTqZhJkToYbiq7hxoYhb38Odb+O0zUJbfxj4+M85nDN/mAiuwXG+rcLS8srqWnG9tLG5tb1j7+41dJwqyuo0FrFqhUQzwSWrAwfBWoliJAoFa4bD60m9+cCU5rG8h1HCgoj0Je9xSsBYHfvAO8FX2M+TRPs3zABHsdu+xUnKnwIrg5lFGuWsf+8rsxTSMmgQqidt1EgyoBTwcYlP9UsIXRI+qxtUJKI6SCbXj/Gx8bp4l6szJOAp+7viYxEWo+i0HRGBAZ6vjYx/6u1U+hdBhmXSQpM0tmiXiowxHgSBe5yxSiIkQFCFTe3YjogilAwgZVMCO78lxehcVZxDd+dl6teHkcRHaIjdIpcdIGq6BbVUB1R9Iie0St6s56sF+vd+pi1Fqx8Zh/9kfX5Az03kyc=</latexit>

Alternatively, we can just append the output of the following query to V (union below is just append too): IVM for complex queries compose such op-level rewrites

V 0 = V ∪ (∆A . / B0) ∪ (A0 . / ∆B)

<latexit sha1_base64="jeGTXlJ41dIE56XxZzP2PaRVE8=">ACJXicbVBNS0JBFJ3Xp9mX1bLNkIS5kfciqEWBWouWBqmBT2TeNXBeR/M3FeI+Gfa9FfatEgiaNVfadRHlHVg4HDOudy5x4uk0GjbH9bC4tLympqLb2+sbm1ndnZrekwVhyqPJShuvOYBikCqKJACXeRAuZ7Eupe/3Li1+9BaREGtziIoOmzbiA6gjM0UitzXsvRC1qjLo8jeuRegURGS9T1wgcUQMu5fGKVct9ikirnW5msXbCnoH+Jk5AsSVBpZcZuO+SxDwFybRuOHaEzSFTKLiEUdqNUSM91kXGoYGzAfdHE6vHNFDo7RpJ1TmBUin6s+JIfO1HvieSfoMe3rem4j/eY0YO2fNoQiGCHgs0WdWFIM6aQy2hYKOMqBIYwrYf5KeY8pxtEUmzYlOPMn/yW14Jj+M1JtlhO6kiRfXJAjohDTkmRXJMKqRJOHskzeSVj68l6sd6s91l0wUpm9sgvWJ9fyNShKQ=</latexit><latexit sha1_base64="jeGTXlJ41dIE56XxZzP2PaRVE8=">ACJXicbVBNS0JBFJ3Xp9mX1bLNkIS5kfciqEWBWouWBqmBT2TeNXBeR/M3FeI+Gfa9FfatEgiaNVfadRHlHVg4HDOudy5x4uk0GjbH9bC4tLympqLb2+sbm1ndnZrekwVhyqPJShuvOYBikCqKJACXeRAuZ7Eupe/3Li1+9BaREGtziIoOmzbiA6gjM0UitzXsvRC1qjLo8jeuRegURGS9T1wgcUQMu5fGKVct9ikirnW5msXbCnoH+Jk5AsSVBpZcZuO+SxDwFybRuOHaEzSFTKLiEUdqNUSM91kXGoYGzAfdHE6vHNFDo7RpJ1TmBUin6s+JIfO1HvieSfoMe3rem4j/eY0YO2fNoQiGCHgs0WdWFIM6aQy2hYKOMqBIYwrYf5KeY8pxtEUmzYlOPMn/yW14Jj+M1JtlhO6kiRfXJAjohDTkmRXJMKqRJOHskzeSVj68l6sd6s91l0wUpm9sgvWJ9fyNShKQ=</latexit><latexit sha1_base64="jeGTXlJ41dIE56XxZzP2PaRVE8=">ACJXicbVBNS0JBFJ3Xp9mX1bLNkIS5kfciqEWBWouWBqmBT2TeNXBeR/M3FeI+Gfa9FfatEgiaNVfadRHlHVg4HDOudy5x4uk0GjbH9bC4tLympqLb2+sbm1ndnZrekwVhyqPJShuvOYBikCqKJACXeRAuZ7Eupe/3Li1+9BaREGtziIoOmzbiA6gjM0UitzXsvRC1qjLo8jeuRegURGS9T1wgcUQMu5fGKVct9ikirnW5msXbCnoH+Jk5AsSVBpZcZuO+SxDwFybRuOHaEzSFTKLiEUdqNUSM91kXGoYGzAfdHE6vHNFDo7RpJ1TmBUin6s+JIfO1HvieSfoMe3rem4j/eY0YO2fNoQiGCHgs0WdWFIM6aQy2hYKOMqBIYwrYf5KeY8pxtEUmzYlOPMn/yW14Jj+M1JtlhO6kiRfXJAjohDTkmRXJMKqRJOHskzeSVj68l6sd6s91l0wUpm9sgvWJ9fyNShKQ=</latexit><latexit sha1_base64="jeGTXlJ41dIE56XxZzP2PaRVE8=">ACJXicbVBNS0JBFJ3Xp9mX1bLNkIS5kfciqEWBWouWBqmBT2TeNXBeR/M3FeI+Gfa9FfatEgiaNVfadRHlHVg4HDOudy5x4uk0GjbH9bC4tLympqLb2+sbm1ndnZrekwVhyqPJShuvOYBikCqKJACXeRAuZ7Eupe/3Li1+9BaREGtziIoOmzbiA6gjM0UitzXsvRC1qjLo8jeuRegURGS9T1wgcUQMu5fGKVct9ikirnW5msXbCnoH+Jk5AsSVBpZcZuO+SxDwFybRuOHaEzSFTKLiEUdqNUSM91kXGoYGzAfdHE6vHNFDo7RpJ1TmBUin6s+JIfO1HvieSfoMe3rem4j/eY0YO2fNoQiGCHgs0WdWFIM6aQy2hYKOMqBIYwrYf5KeY8pxtEUmzYlOPMn/yW14Jj+M1JtlhO6kiRfXJAjohDTkmRXJMKqRJOHskzeSVj68l6sd6s91l0wUpm9sgvWJ9fyNShKQ=</latexit>

(∆A . / B0) ∪ (A0 . / ∆B) − (∆A . / ∆B)

<latexit sha1_base64="F8+01gWVJT5H2At8fJlGkZcSFrU=">ACN3icbVDLSgNBEJz1bXxFPXoZDJLkYNgVQY9J9OBJFIwGskuYnXSIbMPZnqVsPhXvwNb3rxoIhX/8BJXESNBQNFVTU9X4shUbfrSmpmdm5+YXFnNLyura/n1jUsdJYpDg0cyUk2faZAihAYKlNCMFbDAl3DlD45G/tU1KC2i8AKHMXgB64WiKzhDI7XzpyX3GCQyWqOuH92gAFovlqnLk5iWasVvMUvVy3SXTo58u+18wa7Y9BJ4mSkQDKctfMPbifiSQAhcsm0bjl2jF7KFAou4TbnJhpixgesBy1DQxaA9tLx3bd0xygd2o2UeSHSsfpzImWB1sPAN8mAYV/9Ubif14rwe6hl4owThBC/rWom0iKER2VSDtCAUc5NIRxJcxfKe8zxTiaqnOmBOfvyZPkcq/iGH6+X6jWszoWyBbZJiXikANSJSfkjDQIJ3fkibyQV+verberPev6JSVzWySX7A+PgEZ46fc</latexit><latexit sha1_base64="F8+01gWVJT5H2At8fJlGkZcSFrU=">ACN3icbVDLSgNBEJz1bXxFPXoZDJLkYNgVQY9J9OBJFIwGskuYnXSIbMPZnqVsPhXvwNb3rxoIhX/8BJXESNBQNFVTU9X4shUbfrSmpmdm5+YXFnNLyura/n1jUsdJYpDg0cyUk2faZAihAYKlNCMFbDAl3DlD45G/tU1KC2i8AKHMXgB64WiKzhDI7XzpyX3GCQyWqOuH92gAFovlqnLk5iWasVvMUvVy3SXTo58u+18wa7Y9BJ4mSkQDKctfMPbifiSQAhcsm0bjl2jF7KFAou4TbnJhpixgesBy1DQxaA9tLx3bd0xygd2o2UeSHSsfpzImWB1sPAN8mAYV/9Ubif14rwe6hl4owThBC/rWom0iKER2VSDtCAUc5NIRxJcxfKe8zxTiaqnOmBOfvyZPkcq/iGH6+X6jWszoWyBbZJiXikANSJSfkjDQIJ3fkibyQV+verberPev6JSVzWySX7A+PgEZ46fc</latexit><latexit sha1_base64="F8+01gWVJT5H2At8fJlGkZcSFrU=">ACN3icbVDLSgNBEJz1bXxFPXoZDJLkYNgVQY9J9OBJFIwGskuYnXSIbMPZnqVsPhXvwNb3rxoIhX/8BJXESNBQNFVTU9X4shUbfrSmpmdm5+YXFnNLyura/n1jUsdJYpDg0cyUk2faZAihAYKlNCMFbDAl3DlD45G/tU1KC2i8AKHMXgB64WiKzhDI7XzpyX3GCQyWqOuH92gAFovlqnLk5iWasVvMUvVy3SXTo58u+18wa7Y9BJ4mSkQDKctfMPbifiSQAhcsm0bjl2jF7KFAou4TbnJhpixgesBy1DQxaA9tLx3bd0xygd2o2UeSHSsfpzImWB1sPAN8mAYV/9Ubif14rwe6hl4owThBC/rWom0iKER2VSDtCAUc5NIRxJcxfKe8zxTiaqnOmBOfvyZPkcq/iGH6+X6jWszoWyBbZJiXikANSJSfkjDQIJ3fkibyQV+verberPev6JSVzWySX7A+PgEZ46fc</latexit><latexit sha1_base64="F8+01gWVJT5H2At8fJlGkZcSFrU=">ACN3icbVDLSgNBEJz1bXxFPXoZDJLkYNgVQY9J9OBJFIwGskuYnXSIbMPZnqVsPhXvwNb3rxoIhX/8BJXESNBQNFVTU9X4shUbfrSmpmdm5+YXFnNLyura/n1jUsdJYpDg0cyUk2faZAihAYKlNCMFbDAl3DlD45G/tU1KC2i8AKHMXgB64WiKzhDI7XzpyX3GCQyWqOuH92gAFovlqnLk5iWasVvMUvVy3SXTo58u+18wa7Y9BJ4mSkQDKctfMPbifiSQAhcsm0bjl2jF7KFAou4TbnJhpixgesBy1DQxaA9tLx3bd0xygd2o2UeSHSsfpzImWB1sPAN8mAYV/9Ubif14rwe6hl4owThBC/rWom0iKER2VSDtCAUc5NIRxJcxfKe8zxTiaqnOmBOfvyZPkcq/iGH6+X6jWszoWyBbZJiXikANSJSfkjDQIJ3fkibyQV+verberPev6JSVzWySX7A+PgEZ46fc</latexit>

Assume no duplicate inserts

slide-50
SLIDE 50

50

Query Optimization

❖ Overview of Query Optimizer ❖ Physical Query Plan (PQP) Concept: Pipelining Mechanism: Iterator Interface ❖ Enumerating Alternative PQPs Logical: Algebraic Rewrites Physical: Choosing Phy. Op. Impl. ❖ Costing PQPs ❖ Materialized Views