SlideShare a Scribd company logo
Distributed DBMS © M. T. Özsu & P. Valduriez
Ch.7/1
Outline
• Introduction
• Background
• Distributed Database Design
• Database Integration
• Semantic Data Control
• Distributed Query Processing
➡ Overview
➡ Query decomposition and localization
➡ Distributed query optimization
• Multidatabase query processing
• Distributed Transaction Management
• Data Replication
• Parallel Database Systems
• Distributed Object DBMS
• Peer-to-Peer Data Management
• Web Data Management
• Current Issues
Distributed DBMS © M. T. Özsu & P. Valduriez
Ch.7/2
Step 1 – Query Decomposition
Input : Calculus query on global relations
• Normalization
➡ manipulate query quantifiers and qualification
• Analysis
➡ detect and reject “incorrect” queries
➡ possible for only a subset of relational calculus
• Simplification
➡ eliminate redundant predicates
• Restructuring
➡ calculus query  algebraic query
➡ more than one translation is possible
➡ use transformation rules
Distributed DBMS © M. T. Özsu & P. Valduriez
Ch.7/3
Normalization
• Lexical and syntactic analysis
➡ check validity (similar to compilers)
➡ check for attributes and relations
➡ type checking on the qualification
• Put into normal form
➡ Conjunctive normal form
(p11 p12 … p1n) … (pm1 pm2 … pmn)
➡ Disjunctive normal form
(p11 p12 … p1n) … (pm1 pm2 … pmn)
➡ OR's mapped into union
➡ AND's mapped into join or selection
Distributed DBMS © M. T. Özsu & P. Valduriez
Ch.7/4
Analysis
• Refute incorrect queries
• Type incorrect
➡ If any of its attribute or relation names are not defined in the global schema
➡ If operations are applied to attributes of the wrong type
• Semantically incorrect
➡ Components do not contribute in any way to the generation of the result
➡ Only a subset of relational calculus queries can be tested for correctness
➡ Those that do not contain disjunction and negation
➡ To detect
✦ connection graph (query graph)
✦ join graph
Distributed DBMS © M. T. Özsu & P. Valduriez
Ch.7/5
Analysis – Example
SELECT ENAME,RESP
FROM EMP, ASG, PROJ
WHERE EMP.ENO = ASG.ENO
AND ASG.PNO = PROJ.PNO
AND PNAME = "CAD/CAM"
AND DUR ≥ 36
AND TITLE = "Programmer"
Query graph Join graph
DUR≥36
PNAME=“CAD/CAM”
ENAME
EMP.ENO=ASG.ENO ASG.PNO=PROJ.PNO
RESULT
TITLE =
“Programmer” RESP
ASG.PNO=PROJ.PNOEMP.ENO=ASG.ENO
ASG
PROJEMP EMP PROJ
ASG
Distributed DBMS © M. T. Özsu & P. Valduriez
Ch.7/6
Analysis
If the query graph is not connected, the query may be wrong or
use Cartesian product
SELECT ENAME,RESP
FROM EMP, ASG, PROJ
WHERE EMP.ENO = ASG.ENO
AND PNAME = "CAD/CAM"
AND DUR > 36
AND TITLE = "Programmer"
PNAME=“CAD/CAM”
ENAME
RESULT
RESP
ASG
PROJEMP
Distributed DBMS © M. T. Özsu & P. Valduriez
Ch.7/7
Simplification
• Why simplify?
➡ Remember the example
• How? Use transformation rules
➡ Elimination of redundancy
✦ idempotency rules
p1 ¬( p1) false
p1 (p1 p2) p1
p1 false p1
…
➡ Application of transitivity
➡ Use of integrity rules
Distributed DBMS © M. T. Özsu & P. Valduriez
Ch.7/8
Simplification – Example
SELECT TITLE
FROM EMP
WHERE EMP.ENAME = "J. Doe"
OR (NOT(EMP.TITLE = "Programmer")
AND (EMP.TITLE = "Programmer"
OR EMP.TITLE = "Elect. Eng.")
AND NOT(EMP.TITLE = "Elect. Eng."))

SELECT TITLE
FROM EMP
WHERE EMP.ENAME = "J. Doe"
Distributed DBMS © M. T. Özsu & P. Valduriez
Ch.7/9
Restructuring
• Convert relational calculus to relational
algebra
• Make use of query trees
• Example
Find the names of employees other than
J. Doe who worked on the CAD/CAM
project for either 1 or 2 years.
SELECT ENAME
FROM EMP, ASG, PROJ
WHERE EMP.ENO = ASG.ENO
AND ASG.PNO = PROJ.PNO
AND ENAME≠ "J. Doe"
AND PNAME = "CAD/CAM"
AND (DUR = 12 OR DUR = 24)
ENAME
σDUR=12 OR DUR=24
σPNAME=“CAD/CAM”
σENAME≠“J. DOE”
PROJ ASG EMP
Project
Select
Join
⋈PNO
⋈ENO
Distributed DBMS © M. T. Özsu & P. Valduriez
Ch.7/10
Restructuring –Transformation
Rules
• Commutativity of binary operations
➡ R × S S × R
➡ R ⋈S S ⋈R
➡ R S S R
• Associativity of binary operations
➡ ( R × S) × T R × (S × T)
➡ (R ⋈S) ⋈T R ⋈ (S ⋈T)
• Idempotence of unary operations
➡ A’( A’(R)) A’(R)
➡ p1(A1)( p2(A2)(R)) p1(A1) p2(A2)(R)
where R[A] and A' A, A" A and A' A"
• Commuting selection with projection
Distributed DBMS © M. T. Özsu & P. Valduriez
Ch.7/11
Restructuring – Transformation
Rules
• Commuting selection with binary operations
➡ p(A)(R × S) ( p(A) (R)) × S
➡ p(A
i)(R ⋈(A
j,B
k)S) ( p(A
i) (R)) ⋈(A
j,B
k)S
➡ p(A
i)(R T) p(A
i) (R) p(A
i) (T)
where Ai belongs to R and T
• Commuting projection with binary operations
➡ C(R × S) A’(R) × B’(S)
➡ C(R ⋈(A
j,B
k)S) A’(R) ⋈(A
j,B
k) B’(S)
➡ C(R S) C(R) C(S)
where R[A] and S[B]; C = A' B' where A' A, B' B
Distributed DBMS © M. T. Özsu & P. Valduriez
Ch.7/12
Example
Recall the previous example:
Find the names of employees other
than J. Doe who worked on the
CAD/CAM project for either one or
two years.
SELECT ENAME
FROM PROJ, ASG, EMP
WHERE ASG.ENO=EMP.ENO
AND ASG.PNO=PROJ.PNO
AND ENAME ≠ "J. Doe"
AND PROJ.PNAME="CAD/CAM"
AND (DUR=12 OR DUR=24)
ENAME
DUR=12 DUR=24
PNAME=“CAD/CAM”
ENAME≠“J. DOE”
PROJ ASG EMP
Project
Select
Join
⋈PNO
⋈ENO
Distributed DBMS © M. T. Özsu & P. Valduriez
Ch.7/13
Equivalent Query
ENAME
PNAME=“CAD/CAM” (DUR=12 DUR=24) ENAME≠“J. Doe”
×
PROJ ASGEMP
⋈PNO,ENO
Distributed DBMS © M. T. Özsu & P. Valduriez
Ch.7/14
EMP
ENAME
ENAME ≠ "J. Doe"
ASGPROJ
PNO,ENAME
PNAME = "CAD/CAM"
PNO
DUR =12 DUR=24
PNO,ENO
PNO,ENAME
Restructuring
⋈PNO
⋈ENO
Distributed DBMS © M. T. Özsu & P. Valduriez
Ch.7/15
Step 2 – Data Localization
Input: Algebraic query on distributed relations
• Determine which fragments are involved
• Localization program
➡ substitute for each global query its materialization program
➡ optimize
Distributed DBMS © M. T. Özsu & P. Valduriez
Ch.7/16
Example
Assume
➡ EMP is fragmented into EMP1, EMP2,
EMP3 as follows:
✦ EMP1= ENO≤“E3”(EMP)
✦ EMP2= “E3”<ENO≤“E6”(EMP)
✦ EMP3= ENO≥“E6”(EMP)
➡ ASG fragmented into ASG1 and ASG2
as follows:
✦ ASG1= ENO≤“E3”(ASG)
✦ ASG2= ENO>“E3”(ASG)
Replace EMP by (EMP1 EMP2 EMP3)
and ASG by (ASG1 ASG2) in any query
ENAME
DUR=12 DUR=24
PNAME=“CAD/CAM”
ENAME≠“J. DOE”
PROJ
EMP1EMP2 EMP3 ASG1 ASG2
⋈PNO
⋈ENO
Distributed DBMS © M. T. Özsu & P. Valduriez
Ch.7/17
Provides Parallellism
EMP3 ASG1EMP2 ASG2EMP1 ASG1 EMP3 ASG2
⋈ENO ⋈ENO ⋈ENO ⋈ENO
Distributed DBMS © M. T. Özsu & P. Valduriez
Ch.7/18
Eliminates Unnecessary Work
EMP2 ASG2EMP1 ASG1 EMP3 ASG2
⋈ENO ⋈ENO ⋈ENO
Distributed DBMS © M. T. Özsu & P. Valduriez
Ch.7/19
Reduction for PHF
• Reduction with selection
➡ Relation R and FR={R1, R2, …, Rw} where Rj= pj
(R)
pi
(Rj)= if x in R: ¬(pi(x) pj(x))
➡ Example
SELECT *
FROM EMP
WHERE ENO="E5"
ENO=“E5”
EMP1 EMP2 EMP3 EMP2
ENO=“E5”
Distributed DBMS © M. T. Özsu & P. Valduriez
Ch.7/20
Reduction for PHF
• Reduction with join
➡ Possible if fragmentation is done on join attribute
➡ Distribute join over union
(R1 R2)⋈S (R1⋈S) (R2⋈S)
➡ Given Ri = pi
(R) and Rj = pj
(R)
Ri ⋈Rj = if x in Ri, y in Rj: ¬(pi(x) pj(y))
Distributed DBMS © M. T. Özsu & P. Valduriez
Ch.7/21
Reduction for PHF
• Assume EMP is fragmented as
before and
➡ ASG1: ENO ≤ "E3"(ASG)
➡ ASG2: ENO > "E3"(ASG)
• Consider the query
SELECT *
FROM EMP,ASG
WHERE EMP.ENO=ASG.ENO
• Distribute join over unions
• Apply the reduction rule
EMP1 EMP2 EMP3 ASG1 ASG2
⋈ENO
EMP1 ASG1EMP2 ASG2 EMP3 ASG2
⋈ENO ⋈ENO ⋈ENO
Distributed DBMS © M. T. Özsu & P. Valduriez
Ch.7/22
Reduction for VF
• Find useless (not empty) intermediate relations
Relation R defined over attributes A = {A1, ..., An} vertically fragmented
as Ri = A'(R) where A' A:
D,K(Ri) is useless if the set of projection attributes D is not in A'
Example: EMP1= ENO,ENAME (EMP); EMP2= ENO,TITLE (EMP)
SELECT ENAME
FROM EMP
EMP1EMP1 EMP2
ENAME
⋈ENO
ENAME
Distributed DBMS © M. T. Özsu & P. Valduriez
Ch.7/23
Reduction for DHF
• Rule :
➡ Distribute joins over unions
➡ Apply the join reduction for horizontal fragmentation
• Example
ASG1: ASG ⋉ENO EMP1
ASG2: ASG ⋉ENO EMP2
EMP1: TITLE=“Programmer” (EMP)
EMP2: TITLE=“Programmer” (EMP)
• Query
SELECT *
FROM EMP, ASG
WHEREASG.ENO = EMP.ENO
AND EMP.TITLE = "Mech. Eng."
Distributed DBMS © M. T. Özsu & P. Valduriez
Ch.7/24
Generic query
Selections first
Reduction for DHF
ASG1
TITLE=“Mech. Eng.”
ASG2 EMP1 EMP2
ASG1 ASG2 EMP2
TITLE=“Mech. Eng.”
⋈ENO
⋈ENO
Distributed DBMS © M. T. Özsu & P. Valduriez
Ch.7/25
Joins over unions
Reduction for DHF
Elimination of the empty intermediate relations
(left sub-tree)
ASG1 EMP2 EMP2
TITLE=“Mech. Eng.”
ASG2
TITLE=“Mech. Eng.”
ASG2 EMP2
TITLE=“Mech. Eng.”
⋈ENO
⋈ENO ⋈ENO
Distributed DBMS © M. T. Özsu & P. Valduriez
Ch.7/26
Reduction for Hybrid
Fragmentation
• Combine the rules already specified:
➡ Remove empty relations generated by contradicting selections on horizontal
fragments;
➡ Remove useless relations generated by projections on vertical fragments;
➡ Distribute joins over unions in order to isolate and remove useless joins.
Distributed DBMS © M. T. Özsu & P. Valduriez
Ch.7/27
Reduction for HF
Example
Consider the following hybrid
fragmentation:
EMP1= ENO≤"E4" ( ENO,ENAME (EMP))
EMP2= ENO>"E4" ( ENO,ENAME (EMP))
EMP3= ENO,TITLE (EMP)
and the query
SELECT ENAME
FROM EMP
WHERE ENO="E5" EMP1 EMP2 EMP3
ENO=“E5”
ENAME
EMP2
ENO=“E5”
ENAME
⋈ENO

More Related Content

What's hot

Data flow architecture
Data flow architectureData flow architecture
Data flow architecture
Sourav Routh
 
Fragmentation and types of fragmentation in Distributed Database
Fragmentation and types of fragmentation in Distributed DatabaseFragmentation and types of fragmentation in Distributed Database
Fragmentation and types of fragmentation in Distributed Database
Abhilasha Lahigude
 
Distributed Query Processing
Distributed Query ProcessingDistributed Query Processing
Distributed Query Processing
Mythili Kannan
 
Dichotomy of parallel computing platforms
Dichotomy of parallel computing platformsDichotomy of parallel computing platforms
Dichotomy of parallel computing platforms
Syed Zaid Irshad
 
Database , 8 Query Optimization
Database , 8 Query OptimizationDatabase , 8 Query Optimization
Database , 8 Query OptimizationAli Usman
 
String matching algorithms
String matching algorithmsString matching algorithms
String matching algorithms
Ashikapokiya12345
 
Paging and Segmentation in Operating System
Paging and Segmentation in Operating SystemPaging and Segmentation in Operating System
Paging and Segmentation in Operating System
Raj Mohan
 
Challenges in nlp
Challenges in nlpChallenges in nlp
Challenges in nlp
Zareen Syed
 
Parallel processing
Parallel processingParallel processing
Parallel processing
rajshreemuthiah
 
Solution(1)
Solution(1)Solution(1)
Solution(1)
Gopi Saiteja
 
Cs6503 theory of computation book notes
Cs6503 theory of computation book notesCs6503 theory of computation book notes
Cs6503 theory of computation book notes
appasami
 
Question answer
Question answerQuestion answer
Question answer
vishal choudhary
 
Peer to peer system
Peer to peer systemPeer to peer system
Peer to peer system
Jahanzaib Niazi
 
program flow mechanisms, advanced computer architecture
program flow mechanisms, advanced computer architectureprogram flow mechanisms, advanced computer architecture
program flow mechanisms, advanced computer architecture
Pankaj Kumar Jain
 
Heterogeneous computing
Heterogeneous computingHeterogeneous computing
Heterogeneous computing
Rashid Ansari
 
Introduction to Rstudio
Introduction to RstudioIntroduction to Rstudio
Introduction to Rstudio
Olga Scrivner
 
Cloud computing in a nutshell
Cloud computing in a nutshellCloud computing in a nutshell
Cloud computing in a nutshell
Mehmet Gonullu
 
Distributed Database Management System
Distributed Database Management SystemDistributed Database Management System
Distributed Database Management System
AAKANKSHA JAIN
 
First Come First Serve & Shortest Job First-(FCFS & SJF)
First Come First Serve & Shortest Job First-(FCFS & SJF)First Come First Serve & Shortest Job First-(FCFS & SJF)
First Come First Serve & Shortest Job First-(FCFS & SJF)
Adeel Rasheed
 
Deadlock- Operating System
Deadlock- Operating SystemDeadlock- Operating System
Deadlock- Operating System
Rajan Shah
 

What's hot (20)

Data flow architecture
Data flow architectureData flow architecture
Data flow architecture
 
Fragmentation and types of fragmentation in Distributed Database
Fragmentation and types of fragmentation in Distributed DatabaseFragmentation and types of fragmentation in Distributed Database
Fragmentation and types of fragmentation in Distributed Database
 
Distributed Query Processing
Distributed Query ProcessingDistributed Query Processing
Distributed Query Processing
 
Dichotomy of parallel computing platforms
Dichotomy of parallel computing platformsDichotomy of parallel computing platforms
Dichotomy of parallel computing platforms
 
Database , 8 Query Optimization
Database , 8 Query OptimizationDatabase , 8 Query Optimization
Database , 8 Query Optimization
 
String matching algorithms
String matching algorithmsString matching algorithms
String matching algorithms
 
Paging and Segmentation in Operating System
Paging and Segmentation in Operating SystemPaging and Segmentation in Operating System
Paging and Segmentation in Operating System
 
Challenges in nlp
Challenges in nlpChallenges in nlp
Challenges in nlp
 
Parallel processing
Parallel processingParallel processing
Parallel processing
 
Solution(1)
Solution(1)Solution(1)
Solution(1)
 
Cs6503 theory of computation book notes
Cs6503 theory of computation book notesCs6503 theory of computation book notes
Cs6503 theory of computation book notes
 
Question answer
Question answerQuestion answer
Question answer
 
Peer to peer system
Peer to peer systemPeer to peer system
Peer to peer system
 
program flow mechanisms, advanced computer architecture
program flow mechanisms, advanced computer architectureprogram flow mechanisms, advanced computer architecture
program flow mechanisms, advanced computer architecture
 
Heterogeneous computing
Heterogeneous computingHeterogeneous computing
Heterogeneous computing
 
Introduction to Rstudio
Introduction to RstudioIntroduction to Rstudio
Introduction to Rstudio
 
Cloud computing in a nutshell
Cloud computing in a nutshellCloud computing in a nutshell
Cloud computing in a nutshell
 
Distributed Database Management System
Distributed Database Management SystemDistributed Database Management System
Distributed Database Management System
 
First Come First Serve & Shortest Job First-(FCFS & SJF)
First Come First Serve & Shortest Job First-(FCFS & SJF)First Come First Serve & Shortest Job First-(FCFS & SJF)
First Come First Serve & Shortest Job First-(FCFS & SJF)
 
Deadlock- Operating System
Deadlock- Operating SystemDeadlock- Operating System
Deadlock- Operating System
 

Viewers also liked

Query decomposition in data base
Query decomposition in data baseQuery decomposition in data base
Query decomposition in data base
Salman Memon
 
Database ,11 Concurrency Control
Database ,11 Concurrency ControlDatabase ,11 Concurrency Control
Database ,11 Concurrency ControlAli Usman
 
Database , 4 Data Integration
Database , 4 Data IntegrationDatabase , 4 Data Integration
Database , 4 Data IntegrationAli Usman
 
Structured Query Language (SQL) - Lecture 5 - Introduction to Databases (1007...
Structured Query Language (SQL) - Lecture 5 - Introduction to Databases (1007...Structured Query Language (SQL) - Lecture 5 - Introduction to Databases (1007...
Structured Query Language (SQL) - Lecture 5 - Introduction to Databases (1007...
Beat Signer
 
Query optimization and challenges in DDBMS with Review Algorithms.
Query optimization and challenges in DDBMS with Review Algorithms.Query optimization and challenges in DDBMS with Review Algorithms.
Query optimization and challenges in DDBMS with Review Algorithms.
Beingprp
 
Processor Specifications
Processor SpecificationsProcessor Specifications
Processor SpecificationsAli Usman
 
Modul 04 ta1_ metodologi penelitian
Modul 04 ta1_ metodologi penelitianModul 04 ta1_ metodologi penelitian
Modul 04 ta1_ metodologi penelitian
Fokgusta
 
Media ajarelektronik
Media ajarelektronikMedia ajarelektronik
Media ajarelektronik
Fokgusta
 
Model pembelajaran yang efektif
Model pembelajaran yang efektifModel pembelajaran yang efektif
Model pembelajaran yang efektif
Fokgusta
 
Model pemb-2005
Model pemb-2005Model pemb-2005
Model pemb-2005
Fokgusta
 
Kalimat aktifpasif-kalimat-langsung-taklangsung
Kalimat aktifpasif-kalimat-langsung-taklangsungKalimat aktifpasif-kalimat-langsung-taklangsung
Kalimat aktifpasif-kalimat-langsung-taklangsung
Fokgusta
 
Database , 5 Semantic
Database , 5 SemanticDatabase , 5 Semantic
Database , 5 SemanticAli Usman
 
PL/pgSQL - An Introduction on Using Imperative Programming in PostgreSQL
PL/pgSQL - An Introduction on Using Imperative Programming in PostgreSQLPL/pgSQL - An Introduction on Using Imperative Programming in PostgreSQL
PL/pgSQL - An Introduction on Using Imperative Programming in PostgreSQL
Reactive.IO
 
Kata kajian-dan-kata-populer
Kata kajian-dan-kata-populerKata kajian-dan-kata-populer
Kata kajian-dan-kata-populer
Fokgusta
 
1.studi tentang organisasi
1.studi tentang organisasi1.studi tentang organisasi
1.studi tentang organisasiFokgusta
 
Gsm (Part 1)
Gsm (Part 1)Gsm (Part 1)
Gsm (Part 1)Ali Usman
 
MySQL InnoDB 源码实现分析(一)
MySQL InnoDB 源码实现分析(一)MySQL InnoDB 源码实现分析(一)
MySQL InnoDB 源码实现分析(一)
frogd
 
Database ,16 P2P
Database ,16 P2P Database ,16 P2P
Database ,16 P2P Ali Usman
 
Database , 12 Reliability
Database , 12 ReliabilityDatabase , 12 Reliability
Database , 12 ReliabilityAli Usman
 
Database ,10 Transactions
Database ,10 TransactionsDatabase ,10 Transactions
Database ,10 TransactionsAli Usman
 

Viewers also liked (20)

Query decomposition in data base
Query decomposition in data baseQuery decomposition in data base
Query decomposition in data base
 
Database ,11 Concurrency Control
Database ,11 Concurrency ControlDatabase ,11 Concurrency Control
Database ,11 Concurrency Control
 
Database , 4 Data Integration
Database , 4 Data IntegrationDatabase , 4 Data Integration
Database , 4 Data Integration
 
Structured Query Language (SQL) - Lecture 5 - Introduction to Databases (1007...
Structured Query Language (SQL) - Lecture 5 - Introduction to Databases (1007...Structured Query Language (SQL) - Lecture 5 - Introduction to Databases (1007...
Structured Query Language (SQL) - Lecture 5 - Introduction to Databases (1007...
 
Query optimization and challenges in DDBMS with Review Algorithms.
Query optimization and challenges in DDBMS with Review Algorithms.Query optimization and challenges in DDBMS with Review Algorithms.
Query optimization and challenges in DDBMS with Review Algorithms.
 
Processor Specifications
Processor SpecificationsProcessor Specifications
Processor Specifications
 
Modul 04 ta1_ metodologi penelitian
Modul 04 ta1_ metodologi penelitianModul 04 ta1_ metodologi penelitian
Modul 04 ta1_ metodologi penelitian
 
Media ajarelektronik
Media ajarelektronikMedia ajarelektronik
Media ajarelektronik
 
Model pembelajaran yang efektif
Model pembelajaran yang efektifModel pembelajaran yang efektif
Model pembelajaran yang efektif
 
Model pemb-2005
Model pemb-2005Model pemb-2005
Model pemb-2005
 
Kalimat aktifpasif-kalimat-langsung-taklangsung
Kalimat aktifpasif-kalimat-langsung-taklangsungKalimat aktifpasif-kalimat-langsung-taklangsung
Kalimat aktifpasif-kalimat-langsung-taklangsung
 
Database , 5 Semantic
Database , 5 SemanticDatabase , 5 Semantic
Database , 5 Semantic
 
PL/pgSQL - An Introduction on Using Imperative Programming in PostgreSQL
PL/pgSQL - An Introduction on Using Imperative Programming in PostgreSQLPL/pgSQL - An Introduction on Using Imperative Programming in PostgreSQL
PL/pgSQL - An Introduction on Using Imperative Programming in PostgreSQL
 
Kata kajian-dan-kata-populer
Kata kajian-dan-kata-populerKata kajian-dan-kata-populer
Kata kajian-dan-kata-populer
 
1.studi tentang organisasi
1.studi tentang organisasi1.studi tentang organisasi
1.studi tentang organisasi
 
Gsm (Part 1)
Gsm (Part 1)Gsm (Part 1)
Gsm (Part 1)
 
MySQL InnoDB 源码实现分析(一)
MySQL InnoDB 源码实现分析(一)MySQL InnoDB 源码实现分析(一)
MySQL InnoDB 源码实现分析(一)
 
Database ,16 P2P
Database ,16 P2P Database ,16 P2P
Database ,16 P2P
 
Database , 12 Reliability
Database , 12 ReliabilityDatabase , 12 Reliability
Database , 12 Reliability
 
Database ,10 Transactions
Database ,10 TransactionsDatabase ,10 Transactions
Database ,10 Transactions
 

Similar to Database ,7 query localization

6-Query_Intro (5).pdf
6-Query_Intro (5).pdf6-Query_Intro (5).pdf
6-Query_Intro (5).pdf
JaveriaShoaib4
 
Database ,2 Background
 Database ,2 Background Database ,2 Background
Database ,2 BackgroundAli Usman
 
Phases of distributed query processing
Phases of distributed query processingPhases of distributed query processing
Phases of distributed query processing
Nevil Dsouza
 
Tips And Tricks For Bioinformatics Software Engineering
Tips And Tricks For Bioinformatics Software EngineeringTips And Tricks For Bioinformatics Software Engineering
Tips And Tricks For Bioinformatics Software Engineering
jtdudley
 
Blast fasta 4
Blast fasta 4Blast fasta 4
Blast fasta 4
Er Puspendra Tripathi
 
Data structures assignmentweek4b.pdfCI583 Data Structure
Data structures assignmentweek4b.pdfCI583 Data StructureData structures assignmentweek4b.pdfCI583 Data Structure
Data structures assignmentweek4b.pdfCI583 Data Structure
OllieShoresna
 
Tips on how to improve the performance of your custom modules for high volume...
Tips on how to improve the performance of your custom modules for high volume...Tips on how to improve the performance of your custom modules for high volume...
Tips on how to improve the performance of your custom modules for high volume...Odoo
 
Data Science Meetup: DGLARS and Homotopy LASSO for Regression Models
Data Science Meetup: DGLARS and Homotopy LASSO for Regression ModelsData Science Meetup: DGLARS and Homotopy LASSO for Regression Models
Data Science Meetup: DGLARS and Homotopy LASSO for Regression Models
Colleen Farrelly
 
R de Hadoop (Oracle R Advanced Analytics for Hadoopご説明資料)
R de Hadoop (Oracle R Advanced Analytics for Hadoopご説明資料)R de Hadoop (Oracle R Advanced Analytics for Hadoopご説明資料)
R de Hadoop (Oracle R Advanced Analytics for Hadoopご説明資料)
オラクルエンジニア通信
 
Scaling PostgreSQL With GridSQL
Scaling PostgreSQL With GridSQLScaling PostgreSQL With GridSQL
Scaling PostgreSQL With GridSQL
Jim Mlodgenski
 
Cansat 2008: University of Michigan Maizesat Final Presentation
Cansat 2008: University of Michigan Maizesat Final PresentationCansat 2008: University of Michigan Maizesat Final Presentation
Cansat 2008: University of Michigan Maizesat Final Presentation
American Astronautical Society
 
Query Optimization - Brandon Latronica
Query Optimization - Brandon LatronicaQuery Optimization - Brandon Latronica
Query Optimization - Brandon Latronica
"FENG "GEORGE"" YU
 
Workflowsim escience12
Workflowsim escience12Workflowsim escience12
Workflowsim escience12
Weiwei Chen
 
Improving the performance of Odoo deployments
Improving the performance of Odoo deploymentsImproving the performance of Odoo deployments
Improving the performance of Odoo deployments
Odoo
 
PGQL: A Language for Graphs
PGQL: A Language for GraphsPGQL: A Language for Graphs
PGQL: A Language for Graphs
Jean Ihm
 
MLconf NYC Shan Shan Huang
MLconf NYC Shan Shan HuangMLconf NYC Shan Shan Huang
MLconf NYC Shan Shan HuangMLconf
 
How To Think About Performance
How To Think About PerformanceHow To Think About Performance
How To Think About PerformancePerconaPerformance
 
Variables & Expressions
Variables & ExpressionsVariables & Expressions
Variables & ExpressionsRich Price
 
Efficient Query Processing in Web Search Engines
Efficient Query Processing in Web Search EnginesEfficient Query Processing in Web Search Engines
Efficient Query Processing in Web Search Engines
Simon Lia-Jonassen
 

Similar to Database ,7 query localization (20)

Query processing
Query processingQuery processing
Query processing
 
6-Query_Intro (5).pdf
6-Query_Intro (5).pdf6-Query_Intro (5).pdf
6-Query_Intro (5).pdf
 
Database ,2 Background
 Database ,2 Background Database ,2 Background
Database ,2 Background
 
Phases of distributed query processing
Phases of distributed query processingPhases of distributed query processing
Phases of distributed query processing
 
Tips And Tricks For Bioinformatics Software Engineering
Tips And Tricks For Bioinformatics Software EngineeringTips And Tricks For Bioinformatics Software Engineering
Tips And Tricks For Bioinformatics Software Engineering
 
Blast fasta 4
Blast fasta 4Blast fasta 4
Blast fasta 4
 
Data structures assignmentweek4b.pdfCI583 Data Structure
Data structures assignmentweek4b.pdfCI583 Data StructureData structures assignmentweek4b.pdfCI583 Data Structure
Data structures assignmentweek4b.pdfCI583 Data Structure
 
Tips on how to improve the performance of your custom modules for high volume...
Tips on how to improve the performance of your custom modules for high volume...Tips on how to improve the performance of your custom modules for high volume...
Tips on how to improve the performance of your custom modules for high volume...
 
Data Science Meetup: DGLARS and Homotopy LASSO for Regression Models
Data Science Meetup: DGLARS and Homotopy LASSO for Regression ModelsData Science Meetup: DGLARS and Homotopy LASSO for Regression Models
Data Science Meetup: DGLARS and Homotopy LASSO for Regression Models
 
R de Hadoop (Oracle R Advanced Analytics for Hadoopご説明資料)
R de Hadoop (Oracle R Advanced Analytics for Hadoopご説明資料)R de Hadoop (Oracle R Advanced Analytics for Hadoopご説明資料)
R de Hadoop (Oracle R Advanced Analytics for Hadoopご説明資料)
 
Scaling PostgreSQL With GridSQL
Scaling PostgreSQL With GridSQLScaling PostgreSQL With GridSQL
Scaling PostgreSQL With GridSQL
 
Cansat 2008: University of Michigan Maizesat Final Presentation
Cansat 2008: University of Michigan Maizesat Final PresentationCansat 2008: University of Michigan Maizesat Final Presentation
Cansat 2008: University of Michigan Maizesat Final Presentation
 
Query Optimization - Brandon Latronica
Query Optimization - Brandon LatronicaQuery Optimization - Brandon Latronica
Query Optimization - Brandon Latronica
 
Workflowsim escience12
Workflowsim escience12Workflowsim escience12
Workflowsim escience12
 
Improving the performance of Odoo deployments
Improving the performance of Odoo deploymentsImproving the performance of Odoo deployments
Improving the performance of Odoo deployments
 
PGQL: A Language for Graphs
PGQL: A Language for GraphsPGQL: A Language for Graphs
PGQL: A Language for Graphs
 
MLconf NYC Shan Shan Huang
MLconf NYC Shan Shan HuangMLconf NYC Shan Shan Huang
MLconf NYC Shan Shan Huang
 
How To Think About Performance
How To Think About PerformanceHow To Think About Performance
How To Think About Performance
 
Variables & Expressions
Variables & ExpressionsVariables & Expressions
Variables & Expressions
 
Efficient Query Processing in Web Search Engines
Efficient Query Processing in Web Search EnginesEfficient Query Processing in Web Search Engines
Efficient Query Processing in Web Search Engines
 

More from Ali Usman

Cisco Packet Tracer Overview
Cisco Packet Tracer OverviewCisco Packet Tracer Overview
Cisco Packet Tracer Overview
Ali Usman
 
Islamic Arts and Architecture
Islamic Arts and  ArchitectureIslamic Arts and  Architecture
Islamic Arts and Architecture
Ali Usman
 
Database ,18 Current Issues
Database ,18 Current IssuesDatabase ,18 Current Issues
Database ,18 Current IssuesAli Usman
 
Database , 17 Web
Database , 17 WebDatabase , 17 Web
Database , 17 WebAli Usman
 
Database , 15 Object DBMS
Database , 15 Object DBMSDatabase , 15 Object DBMS
Database , 15 Object DBMSAli Usman
 
Database ,14 Parallel DBMS
Database ,14 Parallel DBMSDatabase ,14 Parallel DBMS
Database ,14 Parallel DBMSAli Usman
 
Database , 13 Replication
Database , 13 ReplicationDatabase , 13 Replication
Database , 13 ReplicationAli Usman
 
Database , 1 Introduction
 Database , 1 Introduction Database , 1 Introduction
Database , 1 IntroductionAli Usman
 
Processor Specifications
Processor SpecificationsProcessor Specifications
Processor SpecificationsAli Usman
 
Fifty Year Of Microprocessor
Fifty Year Of MicroprocessorFifty Year Of Microprocessor
Fifty Year Of MicroprocessorAli Usman
 
Discrete Structures lecture 2
 Discrete Structures lecture 2 Discrete Structures lecture 2
Discrete Structures lecture 2Ali Usman
 
Discrete Structures. Lecture 1
 Discrete Structures. Lecture 1  Discrete Structures. Lecture 1
Discrete Structures. Lecture 1 Ali Usman
 
Muslim Contributions in Medicine-Geography-Astronomy
Muslim Contributions in Medicine-Geography-AstronomyMuslim Contributions in Medicine-Geography-Astronomy
Muslim Contributions in Medicine-Geography-AstronomyAli Usman
 
Muslim Contributions in Geography
Muslim Contributions in GeographyMuslim Contributions in Geography
Muslim Contributions in GeographyAli Usman
 
Muslim Contributions in Astronomy
Muslim Contributions in AstronomyMuslim Contributions in Astronomy
Muslim Contributions in AstronomyAli Usman
 
Ptcl modem (user manual)
Ptcl modem (user manual)Ptcl modem (user manual)
Ptcl modem (user manual)Ali Usman
 
Nimat-ul-ALLAH shah wali
Nimat-ul-ALLAH shah wali Nimat-ul-ALLAH shah wali
Nimat-ul-ALLAH shah wali Ali Usman
 
Muslim Contributions in Mathematics
Muslim Contributions in MathematicsMuslim Contributions in Mathematics
Muslim Contributions in Mathematics
Ali Usman
 
Osi protocols
Osi protocolsOsi protocols
Osi protocolsAli Usman
 

More from Ali Usman (19)

Cisco Packet Tracer Overview
Cisco Packet Tracer OverviewCisco Packet Tracer Overview
Cisco Packet Tracer Overview
 
Islamic Arts and Architecture
Islamic Arts and  ArchitectureIslamic Arts and  Architecture
Islamic Arts and Architecture
 
Database ,18 Current Issues
Database ,18 Current IssuesDatabase ,18 Current Issues
Database ,18 Current Issues
 
Database , 17 Web
Database , 17 WebDatabase , 17 Web
Database , 17 Web
 
Database , 15 Object DBMS
Database , 15 Object DBMSDatabase , 15 Object DBMS
Database , 15 Object DBMS
 
Database ,14 Parallel DBMS
Database ,14 Parallel DBMSDatabase ,14 Parallel DBMS
Database ,14 Parallel DBMS
 
Database , 13 Replication
Database , 13 ReplicationDatabase , 13 Replication
Database , 13 Replication
 
Database , 1 Introduction
 Database , 1 Introduction Database , 1 Introduction
Database , 1 Introduction
 
Processor Specifications
Processor SpecificationsProcessor Specifications
Processor Specifications
 
Fifty Year Of Microprocessor
Fifty Year Of MicroprocessorFifty Year Of Microprocessor
Fifty Year Of Microprocessor
 
Discrete Structures lecture 2
 Discrete Structures lecture 2 Discrete Structures lecture 2
Discrete Structures lecture 2
 
Discrete Structures. Lecture 1
 Discrete Structures. Lecture 1  Discrete Structures. Lecture 1
Discrete Structures. Lecture 1
 
Muslim Contributions in Medicine-Geography-Astronomy
Muslim Contributions in Medicine-Geography-AstronomyMuslim Contributions in Medicine-Geography-Astronomy
Muslim Contributions in Medicine-Geography-Astronomy
 
Muslim Contributions in Geography
Muslim Contributions in GeographyMuslim Contributions in Geography
Muslim Contributions in Geography
 
Muslim Contributions in Astronomy
Muslim Contributions in AstronomyMuslim Contributions in Astronomy
Muslim Contributions in Astronomy
 
Ptcl modem (user manual)
Ptcl modem (user manual)Ptcl modem (user manual)
Ptcl modem (user manual)
 
Nimat-ul-ALLAH shah wali
Nimat-ul-ALLAH shah wali Nimat-ul-ALLAH shah wali
Nimat-ul-ALLAH shah wali
 
Muslim Contributions in Mathematics
Muslim Contributions in MathematicsMuslim Contributions in Mathematics
Muslim Contributions in Mathematics
 
Osi protocols
Osi protocolsOsi protocols
Osi protocols
 

Recently uploaded

Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 

Recently uploaded (20)

Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 

Database ,7 query localization

  • 1. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.7/1 Outline • Introduction • Background • Distributed Database Design • Database Integration • Semantic Data Control • Distributed Query Processing ➡ Overview ➡ Query decomposition and localization ➡ Distributed query optimization • Multidatabase query processing • Distributed Transaction Management • Data Replication • Parallel Database Systems • Distributed Object DBMS • Peer-to-Peer Data Management • Web Data Management • Current Issues
  • 2. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.7/2 Step 1 – Query Decomposition Input : Calculus query on global relations • Normalization ➡ manipulate query quantifiers and qualification • Analysis ➡ detect and reject “incorrect” queries ➡ possible for only a subset of relational calculus • Simplification ➡ eliminate redundant predicates • Restructuring ➡ calculus query  algebraic query ➡ more than one translation is possible ➡ use transformation rules
  • 3. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.7/3 Normalization • Lexical and syntactic analysis ➡ check validity (similar to compilers) ➡ check for attributes and relations ➡ type checking on the qualification • Put into normal form ➡ Conjunctive normal form (p11 p12 … p1n) … (pm1 pm2 … pmn) ➡ Disjunctive normal form (p11 p12 … p1n) … (pm1 pm2 … pmn) ➡ OR's mapped into union ➡ AND's mapped into join or selection
  • 4. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.7/4 Analysis • Refute incorrect queries • Type incorrect ➡ If any of its attribute or relation names are not defined in the global schema ➡ If operations are applied to attributes of the wrong type • Semantically incorrect ➡ Components do not contribute in any way to the generation of the result ➡ Only a subset of relational calculus queries can be tested for correctness ➡ Those that do not contain disjunction and negation ➡ To detect ✦ connection graph (query graph) ✦ join graph
  • 5. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.7/5 Analysis – Example SELECT ENAME,RESP FROM EMP, ASG, PROJ WHERE EMP.ENO = ASG.ENO AND ASG.PNO = PROJ.PNO AND PNAME = "CAD/CAM" AND DUR ≥ 36 AND TITLE = "Programmer" Query graph Join graph DUR≥36 PNAME=“CAD/CAM” ENAME EMP.ENO=ASG.ENO ASG.PNO=PROJ.PNO RESULT TITLE = “Programmer” RESP ASG.PNO=PROJ.PNOEMP.ENO=ASG.ENO ASG PROJEMP EMP PROJ ASG
  • 6. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.7/6 Analysis If the query graph is not connected, the query may be wrong or use Cartesian product SELECT ENAME,RESP FROM EMP, ASG, PROJ WHERE EMP.ENO = ASG.ENO AND PNAME = "CAD/CAM" AND DUR > 36 AND TITLE = "Programmer" PNAME=“CAD/CAM” ENAME RESULT RESP ASG PROJEMP
  • 7. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.7/7 Simplification • Why simplify? ➡ Remember the example • How? Use transformation rules ➡ Elimination of redundancy ✦ idempotency rules p1 ¬( p1) false p1 (p1 p2) p1 p1 false p1 … ➡ Application of transitivity ➡ Use of integrity rules
  • 8. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.7/8 Simplification – Example SELECT TITLE FROM EMP WHERE EMP.ENAME = "J. Doe" OR (NOT(EMP.TITLE = "Programmer") AND (EMP.TITLE = "Programmer" OR EMP.TITLE = "Elect. Eng.") AND NOT(EMP.TITLE = "Elect. Eng."))  SELECT TITLE FROM EMP WHERE EMP.ENAME = "J. Doe"
  • 9. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.7/9 Restructuring • Convert relational calculus to relational algebra • Make use of query trees • Example Find the names of employees other than J. Doe who worked on the CAD/CAM project for either 1 or 2 years. SELECT ENAME FROM EMP, ASG, PROJ WHERE EMP.ENO = ASG.ENO AND ASG.PNO = PROJ.PNO AND ENAME≠ "J. Doe" AND PNAME = "CAD/CAM" AND (DUR = 12 OR DUR = 24) ENAME σDUR=12 OR DUR=24 σPNAME=“CAD/CAM” σENAME≠“J. DOE” PROJ ASG EMP Project Select Join ⋈PNO ⋈ENO
  • 10. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.7/10 Restructuring –Transformation Rules • Commutativity of binary operations ➡ R × S S × R ➡ R ⋈S S ⋈R ➡ R S S R • Associativity of binary operations ➡ ( R × S) × T R × (S × T) ➡ (R ⋈S) ⋈T R ⋈ (S ⋈T) • Idempotence of unary operations ➡ A’( A’(R)) A’(R) ➡ p1(A1)( p2(A2)(R)) p1(A1) p2(A2)(R) where R[A] and A' A, A" A and A' A" • Commuting selection with projection
  • 11. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.7/11 Restructuring – Transformation Rules • Commuting selection with binary operations ➡ p(A)(R × S) ( p(A) (R)) × S ➡ p(A i)(R ⋈(A j,B k)S) ( p(A i) (R)) ⋈(A j,B k)S ➡ p(A i)(R T) p(A i) (R) p(A i) (T) where Ai belongs to R and T • Commuting projection with binary operations ➡ C(R × S) A’(R) × B’(S) ➡ C(R ⋈(A j,B k)S) A’(R) ⋈(A j,B k) B’(S) ➡ C(R S) C(R) C(S) where R[A] and S[B]; C = A' B' where A' A, B' B
  • 12. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.7/12 Example Recall the previous example: Find the names of employees other than J. Doe who worked on the CAD/CAM project for either one or two years. SELECT ENAME FROM PROJ, ASG, EMP WHERE ASG.ENO=EMP.ENO AND ASG.PNO=PROJ.PNO AND ENAME ≠ "J. Doe" AND PROJ.PNAME="CAD/CAM" AND (DUR=12 OR DUR=24) ENAME DUR=12 DUR=24 PNAME=“CAD/CAM” ENAME≠“J. DOE” PROJ ASG EMP Project Select Join ⋈PNO ⋈ENO
  • 13. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.7/13 Equivalent Query ENAME PNAME=“CAD/CAM” (DUR=12 DUR=24) ENAME≠“J. Doe” × PROJ ASGEMP ⋈PNO,ENO
  • 14. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.7/14 EMP ENAME ENAME ≠ "J. Doe" ASGPROJ PNO,ENAME PNAME = "CAD/CAM" PNO DUR =12 DUR=24 PNO,ENO PNO,ENAME Restructuring ⋈PNO ⋈ENO
  • 15. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.7/15 Step 2 – Data Localization Input: Algebraic query on distributed relations • Determine which fragments are involved • Localization program ➡ substitute for each global query its materialization program ➡ optimize
  • 16. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.7/16 Example Assume ➡ EMP is fragmented into EMP1, EMP2, EMP3 as follows: ✦ EMP1= ENO≤“E3”(EMP) ✦ EMP2= “E3”<ENO≤“E6”(EMP) ✦ EMP3= ENO≥“E6”(EMP) ➡ ASG fragmented into ASG1 and ASG2 as follows: ✦ ASG1= ENO≤“E3”(ASG) ✦ ASG2= ENO>“E3”(ASG) Replace EMP by (EMP1 EMP2 EMP3) and ASG by (ASG1 ASG2) in any query ENAME DUR=12 DUR=24 PNAME=“CAD/CAM” ENAME≠“J. DOE” PROJ EMP1EMP2 EMP3 ASG1 ASG2 ⋈PNO ⋈ENO
  • 17. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.7/17 Provides Parallellism EMP3 ASG1EMP2 ASG2EMP1 ASG1 EMP3 ASG2 ⋈ENO ⋈ENO ⋈ENO ⋈ENO
  • 18. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.7/18 Eliminates Unnecessary Work EMP2 ASG2EMP1 ASG1 EMP3 ASG2 ⋈ENO ⋈ENO ⋈ENO
  • 19. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.7/19 Reduction for PHF • Reduction with selection ➡ Relation R and FR={R1, R2, …, Rw} where Rj= pj (R) pi (Rj)= if x in R: ¬(pi(x) pj(x)) ➡ Example SELECT * FROM EMP WHERE ENO="E5" ENO=“E5” EMP1 EMP2 EMP3 EMP2 ENO=“E5”
  • 20. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.7/20 Reduction for PHF • Reduction with join ➡ Possible if fragmentation is done on join attribute ➡ Distribute join over union (R1 R2)⋈S (R1⋈S) (R2⋈S) ➡ Given Ri = pi (R) and Rj = pj (R) Ri ⋈Rj = if x in Ri, y in Rj: ¬(pi(x) pj(y))
  • 21. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.7/21 Reduction for PHF • Assume EMP is fragmented as before and ➡ ASG1: ENO ≤ "E3"(ASG) ➡ ASG2: ENO > "E3"(ASG) • Consider the query SELECT * FROM EMP,ASG WHERE EMP.ENO=ASG.ENO • Distribute join over unions • Apply the reduction rule EMP1 EMP2 EMP3 ASG1 ASG2 ⋈ENO EMP1 ASG1EMP2 ASG2 EMP3 ASG2 ⋈ENO ⋈ENO ⋈ENO
  • 22. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.7/22 Reduction for VF • Find useless (not empty) intermediate relations Relation R defined over attributes A = {A1, ..., An} vertically fragmented as Ri = A'(R) where A' A: D,K(Ri) is useless if the set of projection attributes D is not in A' Example: EMP1= ENO,ENAME (EMP); EMP2= ENO,TITLE (EMP) SELECT ENAME FROM EMP EMP1EMP1 EMP2 ENAME ⋈ENO ENAME
  • 23. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.7/23 Reduction for DHF • Rule : ➡ Distribute joins over unions ➡ Apply the join reduction for horizontal fragmentation • Example ASG1: ASG ⋉ENO EMP1 ASG2: ASG ⋉ENO EMP2 EMP1: TITLE=“Programmer” (EMP) EMP2: TITLE=“Programmer” (EMP) • Query SELECT * FROM EMP, ASG WHEREASG.ENO = EMP.ENO AND EMP.TITLE = "Mech. Eng."
  • 24. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.7/24 Generic query Selections first Reduction for DHF ASG1 TITLE=“Mech. Eng.” ASG2 EMP1 EMP2 ASG1 ASG2 EMP2 TITLE=“Mech. Eng.” ⋈ENO ⋈ENO
  • 25. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.7/25 Joins over unions Reduction for DHF Elimination of the empty intermediate relations (left sub-tree) ASG1 EMP2 EMP2 TITLE=“Mech. Eng.” ASG2 TITLE=“Mech. Eng.” ASG2 EMP2 TITLE=“Mech. Eng.” ⋈ENO ⋈ENO ⋈ENO
  • 26. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.7/26 Reduction for Hybrid Fragmentation • Combine the rules already specified: ➡ Remove empty relations generated by contradicting selections on horizontal fragments; ➡ Remove useless relations generated by projections on vertical fragments; ➡ Distribute joins over unions in order to isolate and remove useless joins.
  • 27. Distributed DBMS © M. T. Özsu & P. Valduriez Ch.7/27 Reduction for HF Example Consider the following hybrid fragmentation: EMP1= ENO≤"E4" ( ENO,ENAME (EMP)) EMP2= ENO>"E4" ( ENO,ENAME (EMP)) EMP3= ENO,TITLE (EMP) and the query SELECT ENAME FROM EMP WHERE ENO="E5" EMP1 EMP2 EMP3 ENO=“E5” ENAME EMP2 ENO=“E5” ENAME ⋈ENO