april 2008 - infolab · 2016. 5. 21. · step 1 – query decomposition . 2008, 28 april csci585 -...

46
2008 , 28 April CSCI585 - Distributed Databases Distributed Databases by Farnoush Banaei-Kashani Excerpt from “Principles of Distributed Database Systems” by M. Tamer Özsu and Patrick Valduriez

Upload: others

Post on 01-Apr-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases

Distributed Databases

by Farnoush Banaei-Kashani

Excerpt from “Principles of Distributed Database Systems”by M. Tamer Özsu and Patrick Valduriez

Page 2: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 2

Topics

Page 3: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 3

Outline

� Problem Definition � Issues to Consider� Methodology

� Step 1: Query Decomposition� Step 2: Data Localization� Step 3: Global Optimization� Step 4: Local Optimization

Page 4: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 4

Query Processing

Page 5: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 5

Problem?

Page 6: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 6

Problem in DDBS?

Page 7: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 7

Problem in DDBS?

Page 8: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 8

Query Optimization Objectives

Page 9: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 9

Complexity of Relational Operations

Page 10: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 10

Outline

� Problem Definition � Issues to Consider� Methodology

� Step 1: Query Decomposition� Step 2: Data Localization� Step 3: Global Optimization� Step 4: Local Optimization

Page 11: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 11

Query Processing Issues – Types of Optimizers

Page 12: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 12

Query Processing Issues – Optimization Granularity

Page 13: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 13

Query Processing Issues – Optimization Timing

Page 14: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 14

Query Processing Issues – Statistics

Page 15: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 15

Query Processing Issues – Decision Sites

Page 16: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 16

Query Processing Issues – Network Topology

Page 17: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 17

Outline

� Problem Definition � Issues to Consider� Methodology

� Step 1: Query Decomposition� Step 2: Data Localization� Step 3: Global Optimization� Step 4: Local Optimization

Page 18: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 18

Distributed Query Processing Methodology

Page 19: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 19

Step 1 – Query Decomposition

Page 20: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 20

Normalization

Page 21: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 21

Analysis

Page 22: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 22

Analysis - Example

Page 23: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 23

Analysis - Example

Page 24: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 24

Simplification

Page 25: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 25

Simplification - Example

Page 26: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 26

Restructuring

Page 27: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 27

Restructuring - Transformation Rules

Page 28: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 28

Restructuring - Transformation Rules

Page 29: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 29

Example

Page 30: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 30

Equivalent Query

Page 31: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 31

Restructuring

Page 32: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 32

Distributed Query Processing Methodology

Page 33: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 33

Step 2 – Data Localization

Page 34: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 34

Example

Page 35: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 35

Provides Parallelism

Page 36: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 36

Eliminates Unnecessary Work

Page 37: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 37

Reduction for PHF

Page 38: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 38

Reduction for PHF

Page 39: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 39

Reduction for PHF

Page 40: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 40

Reduction for PHF

Page 41: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 41

Reduction for VF

Page 42: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 42

Reduction for DHF

Page 43: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 43

Reduction for DHF

Page 44: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 44

Reduction for DHF

Page 45: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 45

Reduction for HF

Page 46: April 2008 - InfoLab · 2016. 5. 21. · Step 1 – Query Decomposition . 2008, 28 April CSCI585 - Distributed Databases 20 Normalization . 2008, 28 April CSCI585 - Distributed Databases

2008, 28 April CSCI585 - Distributed Databases 46

Reduction for HF