1. Trang chủ
  2. » Thể loại khác

Slide giảng - Thiết kế CSDL phân tán - Bố trí mảnh sites - Truy vấn CSDL phân tán

7 1 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Nội dung

Buổi 2: ngày 30/06/2012 Nội dung: Slide giảng - Thiết kế CSDL phân tán - Bố trí mảnh sites - Truy vấn CSDL phân tán  phân mảnh ngang: phép chọn  Phân mảnh dọc: phép chiếu  Mức độ phân mảnh đảm bảo: + Tính đầy đủ: phân rã Rmỗi mục dl R tìm thấy quan hệ Ri + Tính tái tạo: phân rã R, tồn + tính rời Phân mảnh ngang nguyên thủy PHF – Yêu cầu thông tin - Phân mảnh ngang  phép chọn (quan trọng điều kiện) Select name, Dob From Employ Where salary>10000$ (*) - Thông tin ứng dụng:  Vị từ đơn (simple predicates)  Vị từ tối tiểu (minterm predicates) Để thiết kế phân mảnh ngang điều kiện: - Độ tuyển hội tối tiểu: select(mi) - Tần số truy cập: Trong khoảng thời gian định câu truy vấn sd lần, lần %  thiết kế csdl phân tán thường ý đến tính ứng dụng - Định nghĩa - Đầy đủ:slide - Tối tiểu:slide Proj Thuật toán COM_MIN (slide) Cài đặt thuật toán COM_MIN để rút gọn pr thàng pr’ (về nhà làm) Bài tập: Viết chương trình tự động phân mảnh ngang dựa vị từ đơn Semi-join (nửa kết) Kết xong cịn Phép nửa kết ứng dụng CSDL phân tán chổ lúc nào? (về nhà làm) Phân mảnh ngang suy Định nghĩa:slide Trong csdl phân tán phân mảnh ngang suy sử dụng nào? (về nhà làm) PHÂN MẢNH DỌC - Slide a1 a2 a3 a4 q1 1 q2 1 q3 1 q4 0 1 75+5=80 (q2 q3) a1 a2 a3 a4 a1 a2 a3 a4 45 45 0 80 75 45 53 75 78 s1 15 25 s2 20 25 s3 10 25 THUẬT TỐN GOM CỤM Slide Có cách chèn - chèn trước - chèn giửa - chèn cuối Từ ma trận AA ta có ma trận CA ta cố định trước cột ta chèn cột thứ vào Có cách chèn, lớn chọn Chèn trước Count( _,A3,A1)=2bond( _,A3)+2bond(A3,A1)-2bond(_,A1) Chèn giửa Count( A1,A3,A2)=2bond(A1,A3)+2bond(A3,A2)2bond(A1,A2) Chèn sau Count( A2,A3,_)=2bond(A2,A3)+2bond(A3,_)-2bond(A2,_) Chia thuộc tính gom cụm(slide) AQ(qi)={Aj|use(qi,Aj)=1} TQ={qi|AQ(qi) TA} BQ={qi|AQ(qi) BA} OQ={qi|qi thuộc Q\TQ U BQ} TA={A1,A3} BA={A2,A4} TQ={q1} BQ={q3} OQ={q2,q4} AQ(q1)={A1,A3} AQ(q2)={A2,A3} AQ(q3)={A2,A4} AQ(q4)={A3,A4} CTQ=€(qi thuộc TQ) €(Sj thuộc S)nefi(qi)x acc(qi,Sj)=45 (tổng dòng 1) CBQ=€(qi thuộcBQ€(Sj thuộc S)nefi(qi)x acc(qi,Sj)=75 COQ=€(qi thuộc OQ) €(Sj thuộc S) =8 Bài tập: viết chương trình tính phân mảnh dọc Về nhà đọc Bố trí Tìm đọc: Fragment allocation in distributed database design-YinFu Huang and Jyh her Chen, Buổi (ngày 07/07/2012) Slide 4: Truy vấn phân tán Tren cay truy van khong quan he goc nua ma thay the bang cac phan manh, manh ngang dung phep hoi de lay lai manh ban dau, manh doc thi dung phep ket (join)de lay lai quan he ban dau Xem phần rút gọn phân mảnh ngang phân mảnh dọc (có thể thi) Chúng ta cần phân tích phép chọn phép chiếu để đề xuất chiến lược rút gọn thích hợp thực chất làm việc mảnh thật tham gia vào trình xử lý QEP: Query Execution Plan Một có chi phí: chi phí xử lý chi phí truyền tin Cài đặt thuật toán: Ingres phân tán System R* SDD-1 Ingres Algorithm Thuật tốn Ingres dùng tối ưu hóa truy vấn động đệ qui theo cách tách câu truy vấn nhiều phần nhỏ dựa ý tưởng sau: - truy vấn với n quan hệ tách thành n truy vấn (sub query): q1q2 qn Một truy vấn qi xử lý quan hệ relation Đầu qi đưa vào qi+1 Ví dụ: khảo sát truy vấn sau: q: SELECT EMP.ENAME FROM EMP, ASG, PROJ WHERE EMP.ENO=ASG.ENO AND ASG.PNO=PROJ.PNO AND PROJ.PNAME=’CAD/CAM’  phân rả câu truy vấn q1: SELECT PROJ.PNO INTO JVAR FROM PROJ WHERE PROJ.PNAME=’CAD/CAM’ q2: SELECT EMP.ENAME FROM EMP, ASG, JVAR WHERE EMP.ENO=ASG.ENO AND ASG.PNO=JVAR.PNO phân rã q2q21 q22 q21: SELECT ASG.ENO INTO EVAR FROM ASG,JVAR WHERE ASG.PNO=JVAR.PNO q22: SELECT EMP.ENAME FROM EMP,EVAR WHERE EMP.ENO=EVAR.ENO Tách q thành qh q1q21q22 Thuật toán Ingres phân tán tương tự thuật toán Ingres truyền thống trình bày Vì trường hợp phân tán thay tách quan hệ làm việc mảnh.(Decompose=tách)

Ngày đăng: 13/10/2022, 20:10

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w