+ All Categories
Home > Documents > Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of...

Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of...

Date post: 17-Apr-2020
Category:
Upload: others
View: 16 times
Download: 0 times
Share this document with a friend
44
Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School of Computer Science D. Toman (Waterloo) Physical Design: Conjunctive Queries 1 / 16
Transcript
Page 1: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Fundamentals of Physical DesignQuery Processing: Conjunctive Queries

David Toman

D. R. Cheriton School of Computer Science

D. Toman (Waterloo) Physical Design: Conjunctive Queries 1 / 16

Page 2: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Story so far . . .

Two approaches to physical design:

1 Current practice:

Changes to logical schema + index selection

. . . destroys physical data independence

2 Desired solution:

Integrity constraints + index selection

. . . preserves physical data independence

. . . but how do we now execute queries?

D. Toman (Waterloo) Physical Design: Conjunctive Queries 2 / 16

Page 3: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Story so far . . .

Two approaches to physical design:

1 Current practice:

Changes to logical schema + index selection

. . . destroys physical data independence

2 Desired solution:

Integrity constraints + index selection

. . . preserves physical data independence

. . . but how do we now execute queries?

D. Toman (Waterloo) Physical Design: Conjunctive Queries 2 / 16

Page 4: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Story so far . . .

Two approaches to physical design:

1 Current practice:

Changes to logical schema + index selection

. . . destroys physical data independence

2 Desired solution:

Integrity constraints + index selection

. . . preserves physical data independence

. . . but how do we now execute queries?

D. Toman (Waterloo) Physical Design: Conjunctive Queries 2 / 16

Page 5: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Query Language: Conjunctive Queries

Syntax:Q ::= A v class access| v.Pf1 = u.Pf2 equation| true singleton| from Q1,Q2 natural join| elim v1,...,vk Q selection (select distinct)

. . . usual “normal form” a.k.a. SELECT block

Definition (Meaning)Let D be a database instance and ϕQ a formula corresponding to Q.

Q(D) = {{v1 = o1, . . . , vk = ok} | D, {v1 = o1, . . . , vk = ok} |= ϕQ}

. . . alternatively, an equivalent an algebraic definition

D. Toman (Waterloo) Physical Design: Conjunctive Queries 3 / 16

Page 6: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Query Language: Conjunctive Queries

Syntax:Q ::= A v class access| v.Pf1 = u.Pf2 equation| true singleton| from Q1,Q2 natural join| elim v1,...,vk Q selection (select distinct)

. . . usual “normal form” a.k.a. SELECT block

Definition (Meaning)Let D be a database instance and ϕQ a formula corresponding to Q.

Q(D) = {{v1 = o1, . . . , vk = ok} | D, {v1 = o1, . . . , vk = ok} |= ϕQ}

. . . alternatively, an equivalent an algebraic definition

D. Toman (Waterloo) Physical Design: Conjunctive Queries 3 / 16

Page 7: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

ExampleQuery: given an employee id (:p), list name of the employee

and addresses of their department:

elim ename, dcity, :pfrom EMPLOYEE e, DEPARTMENT d,

e.eid=:p, e.Dept=d,ename=e.Name, dcity=d.City

Graphical Representation:

ONMLHIJKQename

}}

dcity

��d

��

e

��

:p

!!ONMLHIJKSTR hh

Name

ONMLHIJKSTR kkCity

ONMLHIJKDEPTss

Dept ONMLHIJKEMPEid

33ONMLHIJKINT

D. Toman (Waterloo) Physical Design: Conjunctive Queries 4 / 16

Page 8: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

ExampleQuery: given an employee id (:p), list name of the employee

and addresses of their department:

elim ename, dcity, :pfrom EMPLOYEE e, DEPARTMENT d,

e.eid=:p, e.Dept=d,ename=e.Name, dcity=d.City

Graphical Representation:

ONMLHIJKQename

}}

dcity

��d

��

e

��

:p

!!ONMLHIJKSTR hh

Name

ONMLHIJKSTR kkCity

ONMLHIJKDEPTss

Dept ONMLHIJKEMPEid

33ONMLHIJKINT

D. Toman (Waterloo) Physical Design: Conjunctive Queries 4 / 16

Page 9: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

ExampleQuery: given an employee id (:p), list name of the employee

and addresses of their department:

elim ename, dcity, :pfrom EMPLOYEE e, DEPARTMENT d,

e.eid=:p, e.Dept=d,ename=e.Name, dcity=d.City

Graphical Representation:

ONMLHIJKQename

}}

dcity

��d

��

e

��

:p

!!ONMLHIJKSTR hh

Name

ONMLHIJKSTR kkCity

ONMLHIJKDEPTss

Dept ONMLHIJKEMPEid

33ONMLHIJKINT

D. Toman (Waterloo) Physical Design: Conjunctive Queries 4 / 16

Page 10: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Query Plans ∼ Patterns in QL

IDEA: Extend binding patterns to queriesBP(Q) is a pair (I, O) of path sets where

I are the expected input parameters and O the outputs.

BP(A v) is (v .I, v .O) if an “index A I O” declaration exists;BP(v.Pf1 = u.Pf2)

is ({v.Pf1}, {u.Pf2}) or ({u.Pf2}, {v.Pf1});BP(true) is ({}, {});BP(from Q1,Q2)

is (I1 ∪ (I2 −O1), O1 ∪O2) for BP(Qi) = (Ii , Oi); andBP(elim V Q)

is (I, O ∩ V ) for BP(Q) = (I, O) and I ⊆ V .

A query Q is a plan if BP(Q) = (P, FV (Q)) where P are parameters.

D. Toman (Waterloo) Physical Design: Conjunctive Queries 5 / 16

Page 11: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Query Compilation ∼ Equivalence under Constraints

Chase StepReplace “D x” with “from D x, E x” if T ∪ Q |= D<E,

where T is the schema and Q are constraints induced by Q.

. . . easy to see that this preserves equivalence.

How can we use this??1 (repeatedly) apply chase to Q;2 extract plan by traversing result using index declarations;3 (repeatedly) apply chase on the plan;4 if results of (1) and (3) are the same:

signal “success” otherwise signal “no plan”

In practice (1-3) have to be interleaved as chase may not terminate

D. Toman (Waterloo) Physical Design: Conjunctive Queries 6 / 16

Page 12: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Query Compilation ∼ Equivalence under Constraints

Chase StepReplace “D x” with “from D x, E x” if T ∪ Q |= D<E,

where T is the schema and Q are constraints induced by Q.

. . . easy to see that this preserves equivalence.

How can we use this??1 (repeatedly) apply chase to Q;2 extract plan by traversing result using index declarations;3 (repeatedly) apply chase on the plan;4 if results of (1) and (3) are the same:

signal “success” otherwise signal “no plan”

In practice (1-3) have to be interleaved as chase may not terminate

D. Toman (Waterloo) Physical Design: Conjunctive Queries 6 / 16

Page 13: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Query Compilation ∼ Equivalence under Constraints

Chase StepReplace “D x” with “from D x, E x” if T ∪ Q |= D<E,

where T is the schema and Q are constraints induced by Q.

. . . easy to see that this preserves equivalence.

How can we use this??1 (repeatedly) apply chase to Q;2 extract plan by traversing result using index declarations;3 (repeatedly) apply chase on the plan;4 if results of (1) and (3) are the same:

signal “success” otherwise signal “no plan”

In practice (1-3) have to be interleaved as chase may not terminate

D. Toman (Waterloo) Physical Design: Conjunctive Queries 6 / 16

Page 14: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Example

ONMLHIJKQename

}}

dcity

��d

��

e

��

:p

!!ONMLHIJKSTR hh

Name

ONMLHIJKSTR kkCity

ONMLHIJKDEPTss

Dept ONMLHIJKEMPEid

33 INT

PLAN: elim ename,dcity,:pfrom true,

D. Toman (Waterloo) Physical Design: Conjunctive Queries 7 / 16

Page 15: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Example

ONMLHIJKQename

}}

dcity

��d

��

e

��

:p

!!ONMLHIJKSTR hh

Name

ONMLHIJKSTR kkCity

ONMLHIJKDEPTss

DeptEMP

EARRAYEid

33 INT

a: ADDR

��Addr

PLAN: elim ename,dcity,:pfrom true,( e.Eid = :p, EARRAY e, a = e.Addr ),

D. Toman (Waterloo) Physical Design: Conjunctive Queries 7 / 16

Page 16: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Example

ONMLHIJKQename

}}

dcity

��d

��

e

��

:p

!!

STR hh

Name

ONMLHIJKSTR kkCity

ONMLHIJKDEPTss

Dept EMP

EARRAY

ENAME Eid

33 INT

a: ADDR

��Addr

PLAN: elim ename,dcity,:pfrom true,( e.Eid = :p, EARRAY e, a = e.Addr ),( e.Addr = a, ENAME e, ename = e.Name ),

D. Toman (Waterloo) Physical Design: Conjunctive Queries 7 / 16

Page 17: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Example

ONMLHIJKQename

}}

dcity

��d

��

e

��

:p

!!

STR hh

Name

ONMLHIJKSTR kkCity

ONMLHIJKDEPTss

Dept EARRAY

ENAME

EDEPT Eid

33 INT

b: STR kkEid

ONMLHIJKEMP

��Boss

a: ADDR

��Addr

PLAN: elim ename,dcity,:pfrom true,( e.Eid = :p, EARRAY e, a = e.Addr ),( e.Addr = a, ENAME e, ename = e.Name ),( e.Addr = a, EDEPT e, b = e.Dept.Boss.Eid ),

D. Toman (Waterloo) Physical Design: Conjunctive Queries 7 / 16

Page 18: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Example

ONMLHIJKQename

}}

dcity

��d

��

e

��

:p

!!

STR hh

Name

STR kkCity

DIDXss

Dept EARRAY

ENAME

EDEPT Eid

33 INT

b: STR kkEid

ONMLHIJKEMP

��Boss

a: ADDR

��Addr

PLAN: elim ename,dcity,:pfrom true,( e.Eid = :p, EARRAY e, a = e.Addr ),( e.Addr = a, ENAME e, ename = e.Name ),( e.Addr = a, EDEPT e, b = e.Dept.Boss.Eid ),( d.Boss.Eid = b, DIDX d, dcity = d.City )

D. Toman (Waterloo) Physical Design: Conjunctive Queries 7 / 16

Page 19: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

More about Plans

• Alternative plans (e.g., join-order selection?)

⇒ YES: non-determinism in extracting PLANs

• Does a PLAN always exist?

⇒ NO (i.e., the “current” design cannot support the query)

• If a PLAN exists, do we find it?

⇒ NO (in general—depends on integrity constraints). . . e.g., we do not have an empty query construct.

D. Toman (Waterloo) Physical Design: Conjunctive Queries 8 / 16

Page 20: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

More about Plans

• Alternative plans (e.g., join-order selection?)

⇒ YES: non-determinism in extracting PLANs

• Does a PLAN always exist?

⇒ NO (i.e., the “current” design cannot support the query)

• If a PLAN exists, do we find it?

⇒ NO (in general—depends on integrity constraints). . . e.g., we do not have an empty query construct.

D. Toman (Waterloo) Physical Design: Conjunctive Queries 8 / 16

Page 21: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

More about Plans

• Alternative plans (e.g., join-order selection?)

⇒ YES: non-determinism in extracting PLANs

• Does a PLAN always exist?

⇒ NO (i.e., the “current” design cannot support the query)

• If a PLAN exists, do we find it?

⇒ NO (in general—depends on integrity constraints). . . e.g., we do not have an empty query construct.

D. Toman (Waterloo) Physical Design: Conjunctive Queries 8 / 16

Page 22: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Database Trimmings: Duplicates et al.

• SQL (OQL) queries allow duplicate semantics:

Syntax:

Q ::= A v class access| v.Pf1 = u.Pf2 equation| true singleton| from Q,Q natural join| elim v1,...,vk Q selection (distinct)| select v1,...,vk Q selection (with duplicates)

⇒ algebraic semantics

• IDEA: mark which variables do not need to be deduplicated+ transformation that uses PFDs to manipulate the marking

D. Toman (Waterloo) Physical Design: Conjunctive Queries 9 / 16

Page 23: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Database Trimmings: Duplicates et al.

• SQL (OQL) queries allow duplicate semantics:

Syntax:

Q ::= A v class access| v.Pf1 = u.Pf2 equation| true singleton| from Q,Q natural join| elim v1,...,vk Q selection (distinct)| select v1,...,vk Q selection (with duplicates)

⇒ algebraic semantics

• IDEA: mark which variables do not need to be deduplicated+ transformation that uses PFDs to manipulate the marking

D. Toman (Waterloo) Physical Design: Conjunctive Queries 9 / 16

Page 24: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Duplicate Elimination Elimination

Normal Form for Queries w/Duplicates:

select V from A1 v1,..., Am vm,( elim W from B1 w1,..., Bn wn, R)

where R are all the equations.

Transformation Rule:select V from A1 v1,..., Am vm,

( elim W from B1 w1,..., Bn wn, R)

is semantically equivalent to

select V from A1 v1,..., Am vm, B1 w1,( elim W, w1 from B2 w2,..., Bn wn, R)

if and only if Q < Q: v1,...,vn, W -> w1.

D. Toman (Waterloo) Physical Design: Conjunctive Queries 10 / 16

Page 25: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Duplicate Elimination Elimination

Normal Form for Queries w/Duplicates:

select V from A1 v1,..., Am vm,( elim W from B1 w1,..., Bn wn, R)

where R are all the equations.

Transformation Rule:select V from A1 v1,..., Am vm,

( elim W from B1 w1,..., Bn wn, R)

is semantically equivalent to

select V from A1 v1,..., Am vm, B1 w1,( elim W, w1 from B2 w2,..., Bn wn, R)

if and only if Q < Q: v1,...,vn, W -> w1.

D. Toman (Waterloo) Physical Design: Conjunctive Queries 10 / 16

Page 26: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Example: Chase and Variable Tags

• Query: “elim name from EMPLOYEE e, DEPARTMENT d,e.Eid = :p, e.Dept=d, name=e.Name”

ONMLHIJKQename

��d

��

e

��

:p

!!

STR gg

Name

ONMLHIJKDEPTssDept

EARRAY

ENAMEEid

33 INT

ADDR

��Addr

• Plan: “select ename from(e.Eid=p, EARRAY e, a = e.Addr),(e.Addr = a, ENAME e, ename = e.Name)”

D. Toman (Waterloo) Physical Design: Conjunctive Queries 11 / 16

Page 27: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Example: Chase and Variable Tags

• Query: “elim name from EMPLOYEE e, DEPARTMENT d,e.Eid = :p, e.Dept=d, name=e.Name”

ONMLHIJKQename

��d

��

e

��

:p

!!

STR gg

Name

ONMLHIJKDEPTssDept

EARRAY

ENAMEEid

33 INT

ADDR

��Addr

• Plan: “select ename from(e.Eid=p, EARRAY e, a = e.Addr),(e.Addr = a, ENAME e, ename = e.Name)”

D. Toman (Waterloo) Physical Design: Conjunctive Queries 11 / 16

Page 28: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Example: Chase and Variable Tags

• Query: “elim name from EMPLOYEE e, DEPARTMENT d,e.Eid = :p, e.Dept=d, name=e.Name”

ONMLHIJKQename

��d

��

e

��

:p

!!

STR gg

Name

ONMLHIJKDEPTssDept

EARRAY

ENAMEEid

33 INT

ADDR

��Addr

• Plan: “select ename from(e.Eid=p, EARRAY e, a = e.Addr),(e.Addr = a, ENAME e, ename = e.Name)”

D. Toman (Waterloo) Physical Design: Conjunctive Queries 11 / 16

Page 29: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Example: Chase and Variable Tags

• Query: “elim name from EMPLOYEE e, DEPARTMENT d,e.Eid = :p, e.Dept=d, name=e.Name”

ONMLHIJKQename

��d

��

e

��

:p

!!

STR gg

Name

ONMLHIJKDEPTssDept

EARRAY

ENAMEEid

33 INT

ADDR

��Addr

• Plan: “select ename from(e.Eid=p, EARRAY e, a = e.Addr),(e.Addr = a, ENAME e, ename = e.Name)”

D. Toman (Waterloo) Physical Design: Conjunctive Queries 11 / 16

Page 30: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Example: Chase and Variable Tags

• Query: “elim name from EMPLOYEE e, DEPARTMENT d,e.Eid = :p, e.Dept=d, name=e.Name”

ONMLHIJKQename

��d

��

e

��

:p

!!

STR gg

Name

ONMLHIJKDEPTssDept

EARRAY

ENAMEEid

33 INT

ADDR

��Addr

• Plan: “select ename from(e.Eid=p, EARRAY e, a = e.Addr),(e.Addr = a, ENAME e, ename = e.Name)”

D. Toman (Waterloo) Physical Design: Conjunctive Queries 11 / 16

Page 31: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Bigger Languages: Positive Queries w/Duplicates

Syntax:Q ::= A v class access| v.Pf1 = u.Pf2 equation| true singleton| from Q1,Q2 natural join| elim v1,...,vk Q selection (distinct)| select v1,...,vk Q selection (with duplicates)| empty v1,...,vk empty set| Q1 union all Q2 concatenation (union-compatible)

. . . input query is still conjunctive (w/duplicate semantics)⇒ union arises from the SCHEMA

D. Toman (Waterloo) Physical Design: Conjunctive Queries 12 / 16

Page 32: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Handling OR in Schema

• additional expansion rule:

Chase StepReplace “(D or E) x” with

“elim x ( D x union all E x )”

• and rules for handling duplicates:

Duplicates and Union Step“elim V ( Q1 union all Q2 )” rewrites to

“(elim V Q1) union all (elim V Q2)”if (abstractions of) Q1 and Q2 are disjoint

D. Toman (Waterloo) Physical Design: Conjunctive Queries 13 / 16

Page 33: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Handling OR in Schema

• additional expansion rule:

Chase StepReplace “(D or E) x” with

“elim x ( D x union all E x )”

• and rules for handling duplicates:

Duplicates and Union Step“elim V ( Q1 union all Q2 )” rewrites to

“(elim V Q1) union all (elim V Q2)”if (abstractions of) Q1 and Q2 are disjoint

D. Toman (Waterloo) Physical Design: Conjunctive Queries 13 / 16

Page 34: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Example: Horizontal PartitionPhysical design: two disjoint indices for WATEMP and TOKYOEMP.

• Expansion of “select eid from EMPLOYEE e, eid=e.Eid”1 “select eid from EMPLOYEE e,

(WATEMP or TOKYOEMP) e, eid=e.Eid”2 “select eid from EMPLOYEE e,

( elim e (WATEMP e union all TOKYOEMP e) ),eid=e.Eid”

3 “select eid from EMPLOYEE e,( elim e,eid (WATEMP e union all TOKYOEMP e),

eid=e.Eid)”4 “select eid from EMPLOYEE e,

(elim e,eid WATEMP e, eid=E.eid) union all(elim e,eid TOKYOEMP e, eid=e.Eid)”

5 “select eid from EMPLOYEE e, ((WATEMP e,eid=e.Eid)union all (TOKYOEMP e,eid=e.Eid) )”

• Plan: “select eid (WATEMP e, eid=e.Eid) union all(TOKYOEMP e, eid=e.Eid)”

. . . a simple concatenation.D. Toman (Waterloo) Physical Design: Conjunctive Queries 14 / 16

Page 35: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Example: Horizontal PartitionPhysical design: two disjoint indices for WATEMP and TOKYOEMP.

• Expansion of “select eid from EMPLOYEE e, eid=e.Eid”1 “select eid from EMPLOYEE e,

(WATEMP or TOKYOEMP) e, eid=e.Eid”2 “select eid from EMPLOYEE e,

( elim e (WATEMP e union all TOKYOEMP e) ),eid=e.Eid”

3 “select eid from EMPLOYEE e,( elim e,eid (WATEMP e union all TOKYOEMP e),

eid=e.Eid)”4 “select eid from EMPLOYEE e,

(elim e,eid WATEMP e, eid=E.eid) union all(elim e,eid TOKYOEMP e, eid=e.Eid)”

5 “select eid from EMPLOYEE e, ((WATEMP e,eid=e.Eid)union all (TOKYOEMP e,eid=e.Eid) )”

• Plan: “select eid (WATEMP e, eid=e.Eid) union all(TOKYOEMP e, eid=e.Eid)”

. . . a simple concatenation.D. Toman (Waterloo) Physical Design: Conjunctive Queries 14 / 16

Page 36: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Example: Horizontal PartitionPhysical design: two disjoint indices for WATEMP and TOKYOEMP.

• Expansion of “select eid from EMPLOYEE e, eid=e.Eid”1 “select eid from EMPLOYEE e,

(WATEMP or TOKYOEMP) e, eid=e.Eid”2 “select eid from EMPLOYEE e,

( elim e (WATEMP e union all TOKYOEMP e) ),eid=e.Eid”

3 “select eid from EMPLOYEE e,( elim e,eid (WATEMP e union all TOKYOEMP e),

eid=e.Eid)”4 “select eid from EMPLOYEE e,

(elim e,eid WATEMP e, eid=E.eid) union all(elim e,eid TOKYOEMP e, eid=e.Eid)”

5 “select eid from EMPLOYEE e, ((WATEMP e,eid=e.Eid)union all (TOKYOEMP e,eid=e.Eid) )”

• Plan: “select eid (WATEMP e, eid=e.Eid) union all(TOKYOEMP e, eid=e.Eid)”

. . . a simple concatenation.D. Toman (Waterloo) Physical Design: Conjunctive Queries 14 / 16

Page 37: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Example: Horizontal PartitionPhysical design: two disjoint indices for WATEMP and TOKYOEMP.

• Expansion of “select eid from EMPLOYEE e, eid=e.Eid”1 “select eid from EMPLOYEE e,

(WATEMP or TOKYOEMP) e, eid=e.Eid”2 “select eid from EMPLOYEE e,

( elim e (WATEMP e union all TOKYOEMP e) ),eid=e.Eid”

3 “select eid from EMPLOYEE e,( elim e,eid (WATEMP e union all TOKYOEMP e),

eid=e.Eid)”4 “select eid from EMPLOYEE e,

(elim e,eid WATEMP e, eid=E.eid) union all(elim e,eid TOKYOEMP e, eid=e.Eid)”

5 “select eid from EMPLOYEE e, ((WATEMP e,eid=e.Eid)union all (TOKYOEMP e,eid=e.Eid) )”

• Plan: “select eid (WATEMP e, eid=e.Eid) union all(TOKYOEMP e, eid=e.Eid)”

. . . a simple concatenation.D. Toman (Waterloo) Physical Design: Conjunctive Queries 14 / 16

Page 38: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Example: Horizontal PartitionPhysical design: two disjoint indices for WATEMP and TOKYOEMP.

• Expansion of “select eid from EMPLOYEE e, eid=e.Eid”1 “select eid from EMPLOYEE e,

(WATEMP or TOKYOEMP) e, eid=e.Eid”2 “select eid from EMPLOYEE e,

( elim e (WATEMP e union all TOKYOEMP e) ),eid=e.Eid”

3 “select eid from EMPLOYEE e,( elim e,eid (WATEMP e union all TOKYOEMP e),

eid=e.Eid)”4 “select eid from EMPLOYEE e,

(elim e,eid WATEMP e, eid=E.eid) union all(elim e,eid TOKYOEMP e, eid=e.Eid)”

5 “select eid from EMPLOYEE e, ((WATEMP e,eid=e.Eid)union all (TOKYOEMP e,eid=e.Eid) )”

• Plan: “select eid (WATEMP e, eid=e.Eid) union all(TOKYOEMP e, eid=e.Eid)”

. . . a simple concatenation.D. Toman (Waterloo) Physical Design: Conjunctive Queries 14 / 16

Page 39: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Example: Horizontal PartitionPhysical design: two disjoint indices for WATEMP and TOKYOEMP.

• Expansion of “select eid from EMPLOYEE e, eid=e.Eid”1 “select eid from EMPLOYEE e,

(WATEMP or TOKYOEMP) e, eid=e.Eid”2 “select eid from EMPLOYEE e,

( elim e (WATEMP e union all TOKYOEMP e) ),eid=e.Eid”

3 “select eid from EMPLOYEE e,( elim e,eid (WATEMP e union all TOKYOEMP e),

eid=e.Eid)”4 “select eid from EMPLOYEE e,

(elim e,eid WATEMP e, eid=E.eid) union all(elim e,eid TOKYOEMP e, eid=e.Eid)”

5 “select eid from EMPLOYEE e, ((WATEMP e,eid=e.Eid)union all (TOKYOEMP e,eid=e.Eid) )”

• Plan: “select eid (WATEMP e, eid=e.Eid) union all(TOKYOEMP e, eid=e.Eid)”

. . . a simple concatenation.D. Toman (Waterloo) Physical Design: Conjunctive Queries 14 / 16

Page 40: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Example: Horizontal PartitionPhysical design: two disjoint indices for WATEMP and TOKYOEMP.

• Expansion of “select eid from EMPLOYEE e, eid=e.Eid”1 “select eid from EMPLOYEE e,

(WATEMP or TOKYOEMP) e, eid=e.Eid”2 “select eid from EMPLOYEE e,

( elim e (WATEMP e union all TOKYOEMP e) ),eid=e.Eid”

3 “select eid from EMPLOYEE e,( elim e,eid (WATEMP e union all TOKYOEMP e),

eid=e.Eid)”4 “select eid from EMPLOYEE e,

(elim e,eid WATEMP e, eid=E.eid) union all(elim e,eid TOKYOEMP e, eid=e.Eid)”

5 “select eid from EMPLOYEE e, ((WATEMP e,eid=e.Eid)union all (TOKYOEMP e,eid=e.Eid) )”

• Plan: “select eid (WATEMP e, eid=e.Eid) union all(TOKYOEMP e, eid=e.Eid)”

. . . a simple concatenation.D. Toman (Waterloo) Physical Design: Conjunctive Queries 14 / 16

Page 41: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Where does this Fail?

1 Input: general first-order queries:

⇒ best approaches so far ala QGM i.e., block-by block

2 Negations in schema: what to do with “(not A) x”?

⇒ restrictions on the schema language?⇒ more general “rewriting rules”?

3 Completeness?

⇒ conjunctive query over conjunctive materialized views. . . needs negation in the plan!

D. Toman (Waterloo) Physical Design: Conjunctive Queries 15 / 16

Page 42: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Where does this Fail?

1 Input: general first-order queries:

⇒ best approaches so far ala QGM i.e., block-by block

2 Negations in schema: what to do with “(not A) x”?

⇒ restrictions on the schema language?⇒ more general “rewriting rules”?

3 Completeness?

⇒ conjunctive query over conjunctive materialized views. . . needs negation in the plan!

D. Toman (Waterloo) Physical Design: Conjunctive Queries 15 / 16

Page 43: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Summary

This is the BEST approach known today that . . .• handles duplicates, and• accommodates binding patterns

. . . in practice commonly competitive with hand-written C code. . . extensions to ordering constraints “in progress”

Next time:How to deal with all first-order queries:

why is it worth reading older papers (on Logic).

. . . with speculation on dealing w/duplicates and binding patterns

D. Toman (Waterloo) Physical Design: Conjunctive Queries 16 / 16

Page 44: Fundamentals of Physical Design Query Processing ...david/cs848s10/lec3.pdf · Fundamentals of Physical Design Query Processing: Conjunctive Queries David Toman D. R. Cheriton School

Summary

This is the BEST approach known today that . . .• handles duplicates, and• accommodates binding patterns

. . . in practice commonly competitive with hand-written C code. . . extensions to ordering constraints “in progress”

Next time:How to deal with all first-order queries:

why is it worth reading older papers (on Logic).

. . . with speculation on dealing w/duplicates and binding patterns

D. Toman (Waterloo) Physical Design: Conjunctive Queries 16 / 16


Recommended