1. Trang chủ
  2. » Công Nghệ Thông Tin

bài giảng cơ sở dữ liệu phân tán truy vấn phân tán

49 433 1

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 49
Dung lượng 388,27 KB

Nội dung

Bài 4: TỐI ƯU TRUY VẤN TRÊN HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN Khoa Hệ thống thông tin Trường Đại học Công nghệ thông tin, ĐHQG-HCM NỘI DUNG MỞ ĐẦU I TỔNG QUAN VỀ XỬ LÝ TRUY VẤN PHÂN TÁN Bài toán xử lý truy vấn phân tán Mục tiêu tối ưu truy vấn phân tán Độ phức tạp phép toán đại số quan hệ Các vấn đề tối ưu truy vấn phân tán Các tầng xử lý truy vấn phân tán II XỬ LÝ TRUY VẤN PHÂN TÁN Phân rã truy vấn Cục hoá liệu phân tánIII III.TỐI ƯU TRUY VẤN PHÂN TÁN Tối ưu hoá truy vấn Các thuật toán tối ưu hoá truy vấn phân tán KẾT LUẬN MỞ ĐẦU • Vấn đề tối ưu hoá hệ CSDL phân tán quan trọng tính phân mảnh, nhân bản, tốn chi phí cho việc truyền liệu • Thuật toán tối ưu truy vấn phân tán cổ điển vét cạn leo đồi: – Thuật toán vét cạn không phù hợp với bùng nổ liệu – Thuật toán leo đồi tìm kiếm tối ưu cục • Để khắc phục, giải thuật tìm kiếm ngẫu nhiên Heuristic đề xuất tìm giải pháp gần tối ưu chấp nhận I TỔNG QUAN VỀ XỬ LÝ TRUY VẤN PHÂN TÁN BÀI TOÁN XỬ LÝ TRUY VẤN PHÂN TÁN Xét CSDL mẫu mô hình hoá cho công ty máy tính Các thuộc tính CSDL bao gồm: ENO: mã số nhân viên ENAME: tên nhân viên TITLE: chức vụ công ty SALE: mức lương RESP: nhiệm vụ dự án DUR: thời gian phân công dự án PNO: mã số dự án PNAME: tên dự án BUDGET: ngân sách dự án CÁC QUAN HỆ Đà CHUẨN HOÁ EMP ENO E1 E2 E3 E4 E5 E6 E7 E8 ASG ENAME J Doe M Smith A Lee J Miller B Casey L Chu R David J Jones TITLE Elect Eng Syst Anal Mech Eng Programmer Syst Anal Elect Eng Mech Eng Syst Anal PROJ PNO P1 P2 P3 P4 ENO PNO E1 E2 E2 E3 E3 E4 E5 E6 E7 E8 P1 P1 P2 P3 P4 P2 P2 P4 P3 P3 RESP Manager Analyst Analyst Consultant Engineer Programmer Manager Manager Engineer Manager DUR 12 24 10 48 18 24 48 36 40 PAY PNAME Instrumentation Database Develop CAD/CAM Maintenance BUDGET 150000 135000 250000 310000 TITLE Elect Eng Syst Anal Mech Eng Programmer SAL 40000 34000 27000 24000 CHỌN LỰA CHIẾN LƯỢC SELECT FROM WHERE AND ENAME EMP, ASG EMP.ENO = ASG.ENO DUR > 37 Chiến lược πENAME(σDUR>37 ∧ EMP.ENO=ASG.ENO(EMP x ASG)) Chiến lược πENAME(EMP ENO (σDUR>37 (ASG))) Chiến lược tránh việc sử dụng tích Descartes nên “tốt hơn” CÁC CHIẾN LƯỢC THỰC THI TRUY VẤN TƯƠNG ĐƯƠNG Site Site ASG2=σENO>“E3”(ASG) EMP1=σENO≤“E3”(EMP) Site ASG1=σENO≤“E3”(ASG) result1 = EMP1’∪EMP2’ EMP1’ Site Site Site ENOASG1 ’ ASG1’=σDUR>37(ASG1) Result EMP2=σENO>“E3”(EMP) result2=(EMP1∪EMP2) EMP2’ ASG1’ Site Site Site EMP1’=EMP1 Site EMP2’=EMP2 Site ENOASG2 ’ ASG2’ ENOσDUR>37(ASG1∪ASG2) ASG1 ASG2 EMP1 EMP2 Site Site Site Site Chiến lược 2b ASG2’=σDUR>37(ASG2) Chiến lược 2a CHI PHÍ CỦA CÁC CHIẾN LƯỢC Giả sử • • size(EMP) = 400, size(ASG) = 1000 Chi phí truy xuất TA = 1; Chi phí truyền TT = 10 Chiến lược 2a Tạo ASG’ cách chọn ASG: (10 + 10) * TA Truyền ASG’ đến vị trí (site) EMP: (10 + 10) * TT Tạo EMP’ cách nối ASG’ EMP’: (10 + 10) * TA * 2 Truyền EMP’ đến vị trí (site) nhận kết quả: (10 + 10) * TT Tổng chi phí = 20 = 200 = 40 = 200 460 Chiến lược 2b Truyền EMP đến vị trí (site) 5: 400 * TT Truyền ASG đến vị trí (site) 5: 1000 * TT Tạo ASG’ cách chọn ASG: 1000 * TA Nối EMP ASG’: 400 * 20 * TA Tổng chi phí = 4,000 = 10,000 = 1,000 = 8,000 23,000 MỤC TIÊU CỦA TỐI ƯU TRUY VẤN • Cực tiểu hàm chi phí truy vấn Chi phí I/O + chi phí CPU + chi phí truyền thông Có khác biệt trọng số môi trường phân tán khác • Mạng diện rộng - Chi phí truyền thông có ảnh hưởng lớn Œ Dải thông thấp Œ Tốc độ thấp - Hầu hết giải thuật bỏ qua thành phần chi phí khác trình xử lý cục • Mạng cục - Chi phí truyền thông ảnh hưởng lớn - Hàm chi phí tổng cộng cần phải xem xét ĐỘ PHỨC TẠP CỦA CÁC PHÉP TOÁN QUAN HỆ Giả sử số quan hệ lực lượng n Phép toán Chọn Chiếu (không loại bỏ trùng lặp) Chiếu (có loại bỏ trùng lặp) Gộp nhóm Nối Nối nửa Chia Các phép toán tập hợp Tích Descartes Độ phức tạp O(n) O(n*logn) O(n*logn) O(n2) 10 TỐI ƯU HOÁ TRUY VẤN Câu truy vấn Tạo không gian tìm kiếm Quy tắc biến đổi QEP tương đương Search Strategy Mô hình chi phí QEP tốt 35 KHÔNG GIAN TÌM KIẾM Không gian tìm kiếm đặc trưng việc chọn lựa hoạch định thực thi Trọng tâm nối Với N quan hệ, có O(N!) nối tương đương EMP thu cách áp dụng quy tắc giao hoán kết hợp SELECT ENAME,RESP FROM EMP, ASG, PROJ WHERE EMP.ENO=ASG.ENO PROJ AND ASG.PNO=PROJ.PNO PNO ENO PROJ ASG ENO EMP PNO ASG ENO,PNO × PROJ ASG EMP 36 CHIẾN LƯỢC TÌM KIẾM Cách di chuyển không gian tìm kiếm Đơn định – Bắt đầu từ quan hệ sở xây dựng hoạch định cách thêm vào quan hệ bước – Quy hoạch động: theo chiều ngang – Thuật toán thiển cận: theo chiều sâu Ngẫu nhiên – Tìm kiếm lời giải tối ưu xung quanh số điểm đặc biệt – Đánh đổi thời gian tối ưu với thời gian thực thi – Tốt số quan hệ lớn 5-6 – Mô luyện thép (Simulated Annealing) – Lặp cải tiến (Iterative improvement) 37 CHIẾN LƯỢC TÌM KIẾM Đơn định R4 R3 R1 R2 R1 R2 R3 R1 R2 Ngẫu nhiên R3 R1 R2 R2 R1 R3 38 MÔ HÌNH CHI PHÍ PHÂN TÁN • Tổng thời gian (hay Tổng chi phí): Tổng thành phần chi phí • Thời gian đáp ứng: Thời gian tính từ khởi hoạt hoàn thành câu truy vấn • Mạng diện rộng WAN – Khởi tạo truyền thông điệp với chi phí cao – Xử lý cục có chi phí thấp (với mainframes minicomputers) – Tỷ lệ truyền thời gian xuất nhập có chi phí = 20:1 • Mạng cục LAN – Phải xét chi phí cục lẫn chi phí truyền – Tỷ lệ = 1:1.6 39 CÁC THUẬT TOÁN TỐI ƯU TRUY VẤN PHÂN TÁN Ba thuật toán đại diện cho nhiều lớp thuật toán khác là: • Ingres phân tán • System R* • SDD-1 • Ingres dùng thời điểm tối ưu hoá động hệ dùng thời điểm tĩnh • Hàm chi phí SDD-1 R* hạ thấp tối đa tổng thời gian, Ingres phân tán giảm tổ hợp thời gian đáp ứng tổng thời gian • Cấu hình mạng giả thiết mạng diện rộng điểm - điểm theo SDD-1 Các thuật toán Ingres R* thực thi mạng LAN WAN • SDD-1 sử dụng nối nửa kỹ thuật tối ưu hoá • Ingres xử lý mảnh 40 THUẬT TOÁN INGRES PHÂN TÁN Nguyên liệu: MRQ (Multi Relation Query, truy vấn đa quan hệ) Thành phẩm: kết cuối truy vấn đa quan hệ Begin {thực truy vấn quan hệ} For ORQi khả tách MRQ Run(ORQi) End For {thay MRQ danh sách có n truy vấn tối giản (bất khả tách)} MRQ’_list ← REDUCE(MRQ) 41 THUẬT TOÁN INGRES PHÂN TÁN (tt) While n Begin {chọn truy vấn bất khả tách có chứa mảnh nhỏ nhất} MRQ’ ← SELECT_QUERY(MRQ’_list) {xác định mảnh cần truyền vị trí xử lý cho MRQ’} Fragment_site_list ← SELECT_STRATEGY(MRQ’) For cặp (F, S) Fragment_site_list di_chuyển_mảnh_F_đến_vị_trí_S End For run(MRQ’) dec(n) End While {MRQ’ cuối thành phẩm} End 42 THUẬT TOÁN SYSTEM R* Nguyên liệu: QT (Query Tree, truy vấn) Thành phẩm: strat (chiến lược có chi phí nhỏ nhất) Begin For quan hệ Ri ∈ QT Begin For đường truy xuất Apij đến Ri xác định cost(Apij); End For; best_Api ← Apij có chi phí nhỏ End; 43 THUẬT TOÁN SYSTEM R* (tt) For thứ tự (Ri1, Ri2, …, Rin) với i = 1, …, n! Begin xây dựng chiến lược (…((best_Api1 Ri2) Ri3) … tính chi phí chiến lược End For strat ← chiến lược có chi phí nhỏ For vị trí k có lưu quan hệ có mặt QT Begin LSk ← chiến lược cục (chiến lược, k) {mỗi chiến lược cục tối ưu hoá vị trí k} send(LSk, vị trí k) End For; End Rin) 44 THUẬT TOÁN SDD-1 Nguyên liệu: QG: đồ thị truy vấn có n quan hệ; số liệu thống kê cho quan hệ; Thành phẩm: ES: chiến lược thực thi truy vấn Begin ES ← thao tác cục (QG) sửa lại số liệu thống kê để phản ánh tác dụng xử lý cục BS ← ∅ {tập nối nửa lợi ích} For nối nửa SJ QG If cost(SJ) < benefit(SJ) then BS ← BS ∪ SJ End If End For While BS ∅ {chọn nối nửa lợi ích} 45 THUẬT TOÁN SDD-1 (tt) Begin SJ ← most_benefit(BS) BS ← BS – SJ ES ← ES + SJ sửa lại số liệu thống kê để phản ánh tác dụng việc gắn SJ BS ← BS – nối nửa không lợi ích BS ← BS ∪ nối nửa lợi ích End While; AS(ES) ← chọn vị trí i cho i có chứa liệu lớn sau thực tất thao tác cục ES ← ES ∪ truyền quan hệ trung gian đến AS(ES) For quan hệ Ri AS(ES) For nối nửa SJ Ri với Rj If cost(ES) > cost(ES – SJ) then ES ← ES – SJ End If End For End For End 46 SO SÁNH CÁC THUẬT TOÁN TỐI ƯU HOÁ Thuật toán Thời điểm tối ưu Hàm mục tiêu Hệ số tối ưu hoá Topo mạng Nối nửa Số liệu thống kê Phân mảnh Dist INGRES Động Thời gian đáp ứng tổng chi phí Kích thước TB, chi phí xử lý Tổng quát phát tán Không Ngang R* Tĩnh Tổng chi phí Lượng TB, kích thước TB, IO, CPU 1, Không SDD-1 Tĩnh Tổng chi phí Kích thước TB 1, 3, 4, Không Tổng quát Không cục Tổng quát Có Lực lượng quan hệ; Số giá trị thuộc tính; Hệ số tuyển chọn nối; Kích thước nối thuộc tính nối; Kích thước thuộc tính kích thước 47 KẾT LUẬN • Mục tiêu việc xử lý truy vấn phân tán hạ thấp tối đa hàm chi phí • Nguyên liệu quan trọng toán tối ưu truy vấn số liệu thống kê CSDL công thức dùng để đánh giá kích thước kết trung gian • Phép toán quan trọng xử lý truy vấn phân tán phép toán nối • Việc sử dụng thuật toán tuỳ theo điều kiện cụ thể: – Với mạng diện rộng WAN, nên sử dụng thuật toán SDD-1 – Với mạng cục LAN, dùng thuật toán D-Ingres R* không sử dụng nối nửa, ƒ D-Ingres tối ưu động thích hợp với phân mảnh ngang ƒ R* tối ưu tĩnh thích hợp với truy vấn dùng thường xuyên 48 TÀI LIỆU THAM KHẢO [1] [2] [3] [4] [5] [6] [7] [8] Fragkiskos Pentaris; Distributed Query Optimization by Query Trading; 2006 Ravindra Guravannavar, Ramanujam H.S.; Optimizing Nested Queries with Parameter Sort Orders; 2006 Fabio Porto; Distributed Query Processing; 2005 Farnoush Banaei-Kashani; Distributed Databases; 2005 Yongluan Zou, Beng Chin Ooi; An Adaptable Distributed Query Processing; 2005 Đỗ Phúc; Bài giảng môn học Cơ sở liệu nâng cao; 2004 Donald Kossmann; The State of Art in Distributed Query Processing; 2000 M Tamer Ozsu, Patrick Valduriez; Principles of Distributed Database Systems; 1999 49 [...]... phí truy n thông - Sắp xếp cục bộ kéo theo tối ưu truy vấn tập trung • Mạng cục bộ (LAN) - Chi phí truy n thông không đáng kể - Hàm tổng chi phí phải được xem xét 14 CÁC TẦNG XỬ LÝ TRUY VẤN PHÂN TÁN Truy vấn dạng phép tính trên các quan hệ phân tán Phân Phânrã r truy truyvấn vấn Lược Lượcđồ đồ toàn cục toàn cục Truy vấn dạng đại số trên các quan hệ phân tán Vị trí điều khiển Cục Cụcbộ bộhoá ho dữ d liệu. .. ho dữ d liệu liệu Lược Lượcđồ đồ mảnh mảnh Truy vấn theo mảnh Tối Tốiưu ưuhoá hoátoàn toàncục cục Số S liệu liệutrên trên các mảnh các mảnh Truy vấn theo mảnh đã tối ưu cùng với các phép toán truy n Các vị trí cục bộ Tối Tốiưu ưuhoá hoácục cụcbộ bộ Lược Lượcđồ đồ cục bộ cục bộ Các truy vấn cục bộ đã tối ưu 15 II XỬ LÝ TRUY VẤN PHÂN TÁN 1 PHÂN Rà TRUY VẤN • Chuẩn hoá - Biến đổi câu truy vấn thành dạng... truy vấn thành dạng chuẩn để xử lý tiếp • Phân tích - Tìm và loại bỏ các truy vấn không đúng hoặc không cần thiết - Có thể chỉ có một tập con của quan hệ toán • Loại bỏ dư thừa - Loại các vị từ thừa • Viết lại câu truy vấn - Truy vấn phép toán quan hệ truy vấn đại số quan hệ - Cấu trúc lại câu truy vấn đại số - Sử dụng các quy tắc biến đổi 16 CHUẨN HOÁ DỮ LIỆU • Phân tích cú pháp và từ vựng - Kiểm tra... σ ENO>"E4" (ΠENO,ENAME (EMP)) EMP3= ΠENO,TITLE (EMP) – Và câu truy vấn SELECT ENAME FROM EMP WHERE ENO=“E5” ΠENAME ΠENAME σ ENO=“E5” Ä σ ENO=“E5” ENO ∪ EMP2 EMP1 EMP2 EMP3 33 III TỐI ƯU TRUY VẤN PHÂN TÁN Input: Truy vấn phân mảnh Tìm kế hoạch tổng quát tốt nhất (không nhất thiết phải tối ưu) – Cực tiểu hoá hàm chi phí – Xử lý các nối phân tán, sử dụng nối nửa – Phương pháp nối: Lặp lồng và thứ tự nối... gọn với nối Ví dụ: Giả sử EMP được phân mảnh thành ASG1: σ ENO ≤ "E3"(ASG); ASG2: σ ENO > "E3"(ASG) Xem câu truy vấn SELECT FROM WHERE * EMP, ASG EMP.ENO=ASG.ENO ENO ∪ EMP1 EMP2 ∪ EMP3 ASG1 Truy vấn gốc ASG2 26 RÚT GỌN CHO PHÂN MẢNH NGANG – Phân phối nối trên hợp – Áp dụng quy tắc rút gọn ∪ ENO EMP1 ENO ASG1 EMP2 ENO ASG2 EMP3 ASG2 Truy vấn đã rút gọn 27 RÚT GỌN CHO PHÂN MẢNH DỌC Tìm các quan hệ trung... và chọn 17 PHÂN TÍCH • • • Loại bỏ những câu truy vấn sai Sai kiểu - Nếu có bất kỳ thuộc tính hoặc tên quan hệ trong câu truy vấn chưa được khai báo trong lược đồ toàn cục - Nếu các phép toán áp dụng cho các thuộc tính có kiểu không thích hợp Sai nghĩa - Các thành phần của nó không tham gia vào việc tạo ra kết quả - Các câu truy vấn không chứa các tuyển và phủ định - Để tìm kiếm câu truy vấn sai, sử... Không gian tìm kiếm – Tập của các biểu thức đại số tương đương (các cây truy vấn) Hàm chi phí (trong quan hệ thời gian) – Chi phí I/O + chi phí CPU + chi phí truy n Thuật toán tìm kiếm – Di chuyển bên trong không gian tìm kiếm – Các thuật giải heuristic (lặp cải tiến, mô phỏng luyện thép, di truy n,…) 34 TỐI ƯU HOÁ TRUY VẤN Câu truy vấn Tạo ra không gian tìm kiếm Quy tắc biến đổi QEP tương đương Search... σENAME≠“J DOE” PNO Join ENO PROJ ASG EMP 22 VIẾT LẠI CÂU TRUY VẤN ΠENAME ΠENAME PNO ΠPNO,ENAME σPNAME=“CAD/CAM” ∧ (DUR=12 ∨ DUR=24) ∧ ENAME ≠ “J DOE” ENO PNO ∧ ENO ΠPNO ΠPNO,ENO ΠPNO,ENAME σPNAME = "CAD/CAM" σDUR =12 ∧ DUR=24 σENAME ≠ "J Doe" × ASG PROJ EMP PROJ Cây toán tử tương đương ASG EMP Cây toán tử đã được viết lại 23 CỤC BỘ HOÁ DỮ LIỆU PHÂN TÁN ΠENAME Giả sử – EMP được tách thành ba mảnh ngang... gian - Tối ưu các phép toán riêng lẻ 11 THỜI ĐIỂM TỐI ƯU • Tĩnh - Biên dịch → tối ưu hoá trước khi thực hiện truy vấn - Khó khăn trong việc ước lượng kích thước của các kết quả trung gian → lỗi truy n - Có thể truy n lại cho nhiều thực thi khác - R* • Động - Tối ưu hoá trong khi thực hiện truy vấn - Thông tin chính xác về kích thước của các quan hệ trung gian - Phải tối ưu lại với các thực thi bội nên... ENO EMP2 EMP1 = σ TITLE=“Programmer” (EMP) EMP2 = σ TITLE=“Programmer” (EMP) Truy vấn SELECT FROM WHERE AND * EMP, ASG ASG.ENO = EMP.ENO EMP.TITLE = “Mech Eng.” 29 RÚT GỌN CHO PHÂN MẢNH DẪN XUẤT Truy vấn gốc ENO σ TITLE=“Mech Eng.” ∪ ASG1 ∪ ASG2 EMP2 ENO Phép chọn trước σ TITLE=“Mech Eng.” ∪ ASG1 EMP1 ASG2 EMP2 30 RÚT GỌN CHO PHÂN MẢNH DẪN XUẤT Nối trên các hợp ∪ ENO ENO σ TITLE=“Mech Eng.” ASG1 EMP2 ... LÝ TRUY VẤN PHÂN TÁN Bài toán xử lý truy vấn phân tán Mục tiêu tối ưu truy vấn phân tán Độ phức tạp phép toán đại số quan hệ Các vấn đề tối ưu truy vấn phân tán Các tầng xử lý truy vấn phân tán. .. tán II XỬ LÝ TRUY VẤN PHÂN TÁN Phân rã truy vấn Cục hoá liệu phân tánIII III.TỐI ƯU TRUY VẤN PHÂN TÁN Tối ưu hoá truy vấn Các thuật toán tối ưu hoá truy vấn phân tán KẾT LUẬN MỞ ĐẦU • Vấn đề tối... 14 CÁC TẦNG XỬ LÝ TRUY VẤN PHÂN TÁN Truy vấn dạng phép tính quan hệ phân tán Phân Phânrã r truy truyvấn vấn Lược Lượcđồ đồ toàn cục toàn cục Truy vấn dạng đại số quan hệ phân tán Vị trí điều khiển

Ngày đăng: 16/01/2016, 10:51

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Fragkiskos Pentaris; Distributed Query Optimization by Query Trading; 2006 Khác
[2] Ravindra Guravannavar, Ramanujam H.S.; Optimizing Nested Queries with Parameter Sort Orders; 2006 Khác
[3] Fabio Porto; Distributed Query Processing; 2005 Khác
[4] Farnoush Banaei-Kashani; Distributed Databases; 2005 Khác
[5] Yongluan Zou, Beng Chin Ooi; An Adaptable Distributed Query Processing; 2005.Bài giảng môn học Cơ sở dữ liệu nâng cao; 2004 Khác
[7] Donald Kossmann; The State of Art in Distributed Query Processing; 2000 Khác
[8] M. Tamer Ozsu, Patrick Valduriez; Principles of Distributed Database Systems; 1999 Khác

TỪ KHÓA LIÊN QUAN

w