Dist. Query Processing

Download Report

Transcript Dist. Query Processing

Outline





Introduction
Background
Distributed DBMS Architecture
Distributed Database Design
Distributed Query Processing
 Query Processing Methodology
 Distributed Query Optimization





Distributed DBMS
Transaction Management
Building Distributed Database Systems (RAID)
Mobile Database Systems
Privacy, Trust, and Authentication
Peer to Peer Systems
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 7-9. 1
Useful References

Textbook Principles of Distributed Database Systems,
Chapter 6
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 7-9. 2
Query Processing
high level user query
query
processor
low level data manipulation
commands
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 7-9. 3
Query Processing Components

Query language that is used
 SQL: “intergalactic dataspeak”

Query execution methodology
 The steps that one goes through in executing high-
level (declarative) user queries.

Query optimization
 How do we determine the “best” execution plan?
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 7-9. 4
Selecting Alternatives
SELECT
FROM
WHERE
AND
ENAME
EMP,ASG
EMP.ENO = ASG.ENO
DUR > 37
 Project
 Select
 Join
Strategy 1
ENAME(DUR>37EMP.ENO=ASG.ENO (EMP  ASG))
Strategy 2
ENAME(EMP
ENO
(DUR>37 (ASG)))
Strategy 2 avoids Cartesian product, so is “better”
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 7-9. 5
What is the Problem?
Site 1
Site 2
ASG1=ENO≤“E3”(ASG)
Site 3
ASG2=ENO>“E3”(ASG)
EMP1=ENO≤“E3”(EMP)
result = EMP1’EMP2’
EMP1’
Site 1
’
ENOASG1
ASG1’
ASG1’=DUR>37(ASG1)
Distributed DBMS
EMP2=ENO>“E3”(EMP)
Result
result2=(EMP1 EMP2) ENODUR>37(ASG1ASG1)
EMP2’
Site 4
EMP1’=EMP1
Site 5
Site 5
Site 5
Site 3
Site 4
EMP2’=EMP2
Site 2
’
ENOASG2
ASG1
ASG2
EMP1
EMP2
Site 1
Site 2
Site 3
Site 4
ASG2’
ASG2’=DUR>37(ASG2)
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 7-9. 6
Cost of Alternatives

Assume:
 size(EMP) = 400, size(ASG) = 1000
 tuple access cost = 1 unit; tuple transfer cost = 10 units

Strategy 1





produce ASG': (10+10)tuple access cost
transfer ASG' to the sites of EMP: (10+10)tuple transfer cost
produce EMP': (10+10) tuple access cost2
transfer EMP' to result site: (10+10) tuple transfer cost
20
200
40
200
Total cost
460
Strategy 2




transfer EMP to site 5:400tuple transfer cost
transfer ASG to site 5 :1000tuple transfer cost
produce ASG':1000tuple access cost
join EMP and ASG':40020tuple access cost
4,000
10,000
1,000
8,000
Total cost
23,000
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 7-9. 7
Query Optimization Objectives
Minimize a cost function
I/O cost + CPU cost + communication cost
These might have different weights in different distributed
environments
Wide area networks
 communication cost will dominate (80 – 200 ms)

low bandwidth

low speed

high protocol overhead
 most algorithms ignore all other cost components
Local area networks
 communication cost not that dominant (1 – 5 ms)
 total cost function should be considered
Can also maximize throughput
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 7-9. 8
Complexity of Relational
Operations
Operation

Assume
 relations of cardinality n
 sequential scan
Complexity
Select
Project
(without duplicate elimination)
O(n)
Project
(with duplicate elimination)
Group
O(nlog n)
Join
Semi-join
O(nlog n)
Division
Set Operators
Cartesian Product
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
O(n2)
Page 7-9. 9
Query Optimization Issues –
Types of Optimizers

Exhaustive search
 cost-based
 optimal
 combinatorial complexity in the number of relations

Heuristics
 not optimal
 regroup common sub-expressions
 perform selection, projection first
 replace a join by a series of semijoins
 reorder operations to reduce intermediate relation size
 optimize individual operations
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 7-9. 10
Query Optimization Issues –
Optimization Granularity

Single query at a time
 cannot use common intermediate results

Multiple queries at a time
 efficient if many similar queries
 decision space is much larger
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 7-9. 11
Query Optimization Issues –
Optimization Timing

Static
 compilation  optimize prior to the execution
 difficult to estimate the size of the intermediate results
 error propagation
 can amortize over many executions
 R*

Dynamic





run time optimization
exact information on the intermediate relation sizes
have to reoptimize for multiple executions
Distributed INGRES
Hybrid
 compile using a static algorithm
 if the error in estimate sizes > threshold, reoptimize at
run time
 MERMAID
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 7-9. 12
Query Optimization Issues –
Statistics

Relation
 cardinality
 size of a tuple
 fraction of tuples participating in a join with
another relation

Attribute
 cardinality of domain
 actual number of distinct values

Common assumptions
 independence between different attribute values
 uniform distribution of attribute values within their
domain
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 7-9. 13
Query Optimization Issues –
Decision Sites

Centralized
 single site determines the “best” schedule
 simple
 need knowledge about the entire distributed
database

Distributed
 cooperation among sites to determine the schedule
 need only local information
 cost of cooperation

Hybrid
 one site determines the global schedule
 each site optimizes the local subqueries
Distributed DBMS
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 7-9. 14
Query Optimization Issues –
Network Topology

Wide area networks (WAN) – point-to-point
 characteristics
 low bandwidth
low speed
 high protocol overhead

 communication cost will dominate; ignore all other
cost factors
 global schedule to minimize communication cost
 local schedules according to centralized query
optimization

Local area networks (LAN)




Distributed DBMS
communication cost not that dominant
total cost function should be considered
broadcasting can be exploited (joins)
special algorithms exist for star networks
© 1998 M. Tamer Özsu & Patrick Valduriez
Page 7-9. 15