The fundamental concepts of distributed databases, including the relational model, SQL, functional dependencies, normalization, and physical design. It explores the benefits and drawbacks of distributed databases, such as data sharing and reliability versus increased costs and complexity. The document also delves into query optimization techniques, including semijoins, and the challenges inherent in distributed query processing, such as transmission costs and parallelism. Key design choices, including replication and fragmentation, are discussed to help in developing efficient distributed database management systems.
01 / 59Distributed Database Systems and Optimization Techniques
1 / 17
Télécharger la présentation
Distributed Database Systems and Optimization Techniques
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation
Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement.Téléchargez la présentation en cliquant sur ce lien.Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.
Problem – definition Distr. DB: DB stored in many places ... connected NY LA 15-415 - C. Faloutsos
Problem – definition now: connect to LA; exec sql select * from EMP; ... connect to NY; exec sql select * from EMPLOYEE; ... NY LA EMPLOYEE DBMS2 EMP DBMS1 15-415 - C. Faloutsos
Problem – definition ideally: connect to distr-LA; exec sql select * from EMPL; LA NY EMPLOYEE D-DBMS D-DBMS EMP DBMS2 DBMS1 15-415 - C. Faloutsos
Other plans? P2: • reduce SHIPMENT to SHIPMENT’ • reduce SUPPLIER to SUPPLIER’ • SHIPMENT’ -> S3 • SUPPLIER’ -> S3 15-415 - C. Faloutsos
Other plans? P3: • reduce SUPPLIER to SUPPLIER’ • SUPPLIER’ -> S2 • do join @ S2 • ship results -> S3 15-415 - C. Faloutsos
A brilliant idea: ‘Bloom-joins’ • (not in the book – not in the final exam) • how to ship the projection, say, of SUPPLIER.s#, even cheaper? • A: Bloom-filter [Lohman+] = • quick&dirty membership testing 15-415 - C. Faloutsos
Another brilliant idea: two-way semijoins • (not in book, not in final exam) • reduce both relations with one more exchange: [Kang, ’86] • ship back the list of keys that didn’t match • CAN NOT LOSE! (why?) • further improvement: • or the list of ones that matched – whatever is shorter! 15-415 - C. Faloutsos
Transactions – recovery • Problem: eg., a transaction moves $100 from NY -> $50 to LA, $50 to Chicago • 3 sub-transactions, on 3 systems, with 3 W.A.L.s • how to guarantee atomicity (all-or-none)? • Observation: additional types of failures (links, servers, delays, time-outs ....) 15-415 - C. Faloutsos
Transactions – recovery • Problem: eg., a transaction moves $100 from NY -> $50 to LA, $50 to Chicago 15-415 - C. Faloutsos
Distributed recovery CHICAGO How? T1,2: +$50 NY LA NY T1,3: +$50 T1,1:-$100 15-415 - C. Faloutsos
Distributed recovery CHICAGO Step1: choose coordinator T1,2: +$50 NY LA NY T1,3: +$50 T1,1:-$100 15-415 - C. Faloutsos
Distributed recovery • Step 2: execute a protocol, eg., “2 phase commit” 15-415 - C. Faloutsos
2 phase commit T1,3 T1,1 (coord.) T1,2 prepare to commit time 15-415 - C. Faloutsos
2 phase commit T1,3 T1,1 (coord.) T1,2 prepare to commit Y Y time 15-415 - C. Faloutsos
2 phase commit T1,3 T1,1 (coord.) T1,2 prepare to commit Y Y commit time 15-415 - C. Faloutsos