1. Trang chủ
  2. » Giáo án - Bài giảng

cơ sở dữ liệu phan tan va hướng đối tượngchương 4 xử lý truy vấn trong csdl phan tan sinhvienzone com

74 50 0

Đ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

CHƯƠNG 4: XỬ LÝ TRUY VẤN TRONG CSDL PHÂN TÁN NỘI DUNG 4.1 Giới thiệu xử lý truy vấn 4.2 Xử lý truy vấn môi trường tập trung 4.3 Xử lý truy vấn môi trường phân tán 4.4 Tối ưu hoá truy vấn CSDL phân tán MỤC ĐÍCH •Giới thiệu tranh tổng qt tối ưu hóa truy vấn mơi trường tập trung phân tán •Trình bày quy trình xử lý truy vấn hệ thống phân tán CuuDuongThanCong.com https://fb.com/tailieudientucntt 4.1 GIỚI THIỆU VỀ XỬ LÝ TRUY VẤN Mục đích xử lý truy vấn: • Giảm thiểu thời gian xử lý • Giảm vùng nhớ trung gian • Giảm chi phí truyền thơng trạm Chức xử lý truy vấn: • Biến đổi truy vấn mức cao thành truy vấn tương đương mức thấp • Phép biến đổi phải đạt tính đắn hiệu • Mỗi cách biến đổi dẫn đến việc sử dụng tài nguyên máy tính khác nhau, nên vấn đề đặt lựa chọn phương án dùng tài nguyên CuuDuongThanCong.com https://fb.com/tailieudientucntt 4.1 GIỚI THIỆU VỀ XỬ LÝ TRUY VẤN Các phương pháp xử lý truy vấn • Phương pháp biến đổi đại số: Đơn giản hóa câu truy vấn nhờ phép biến đổi đại số tương đương nhằm giảm thiểu thời gian thực phép tốn, phương pháp khơng quan tâm đến kích thước cấu trúc liệu • Phương pháp ước lượng chi phí: Xác định kích thước liệu, thời gian thực phép toán câu truy vấn Phương pháp phải xác định kích thước liệu chi phí thời gian thực phép toán câu truy vấn CuuDuongThanCong.com https://fb.com/tailieudientucntt 4.2 XỬ LÝ TRUY VẤN TRONG MÔI TRƯỜNG TẬP TRUNG 4.2.1 So sánh xử lý truy vấn tập trung phân tán • Tập trung:  Chọn truy vấn đại số quan hệ tốt số tất truy vấn đại số tương đương  Các chiến lược xử lý truy vấn biểu diễn mở rộng đại số quan hệ • Phân tán  Kế thừa chiến lươc xử lý truy vấn mơi trường tập trung  Còn phải quan tâm thêm  Các phép toán truyền liệu trạm  Chọn trạm tốt để xử lý liệu  Cách thức biến đổi liệu CuuDuongThanCong.com https://fb.com/tailieudientucntt Tố I ƯU h oá tru y vấ n Trong m«i tr­ê ng tËp trung Câu truy v n S chung Kiểm tra ng ữ pháp Truy vấn đú ng ngữ pháp Tố i ưu ho ®¹i s è quan hƯ Truy vÊn ®¹i sè quan hƯ ®· tè i ­ u KiĨm tra s ù hỵp lƯ Chän c hiÕn l­ỵc tè i ­u Truy vấn SQL hợp lệ Kế ho ạch thực Dịc h truy vấn Truy vấn đại số quan hệ CuuDuongThanCong.com T¹o s inh m· M· cđa truy vÊn https://fb.com/tailieudientucntt Tè i u h o¸ truy vÊ n Tro ng m«i tr­ê ng phân tán Câu truy vấn phân tán Lược đồ tổng thể Phân rã truy vấn Truy vấn đại số quan hệ phân tán Trạm điều khiển Lược đồ phân mảnh Định vị liệu Truy vấn mảnh Các thống kê mảnh Truy vấn mảnh tối ưu với phép toán truyền thơng Tối ưu hố tồn cục Các trạm địa phương Lược đồ địa phương Tối ưu hoá cục Các truy vấn cục tối ưu Sơ đồ phân lớp chung cho xử lý truy vấn phân tán CuuDuongThanCong.com https://fb.com/tailieudientucntt 4.2 XỬ LÝ TRUY VẤN TRONG MÔI TRƯỜNG TẬP TRUNG 4.4.2 Chiến lược tối ưu CSDL tập trung Hai số kỹ thuật tối ưu thông dụng hệ thống tập trung thuật toán INGRES SYSTEM R Tại phải nghiên cứu xử lý truy vấn tập trung? Để hiểu kỹ thuật tối ưu phân tán ba lí do: • Thứ nhất, câu truy vấn phân tán phải dịch thành câu truy vấn cục bộ, xử lí theo phương pháp tập trung • Thứ hai, kỹ thuật tối ưu hoá phân tán thường mở rộng kỹ thuật tập trung • Cuối cùng, tối ưu hoá tập trung thường đơn giản CuuDuongThanCong.com https://fb.com/tailieudientucntt 4.2 XỬ LÝ TRUY VẤN TRONG MÔI TRƯỜNG TẬP TRUNG Thuật toán INGRES Ý tưởng thuật toán: Thuật toán tổ hợp hai giai đoạn phân rã tối ưu hố • Đầu tiên phân rã câu truy vấn dạng phép toán quan hệ thành phần nhỏ Câu truy vấn phân rã thành chuỗi truy vấn có quan hệ chung • Sau câu truy vấn đơn quan hệ xử lí “thể xử lý truy vấn biến” (one variable query processor-OVQP) CuuDuongThanCong.com https://fb.com/tailieudientucntt 4.2 XỬ LÝ TRUY VẤN TRONG MÔI TRƯỜNG TẬP TRUNG OVQP tối ưu hoá việc truy xuất đến quan hệ cách dựa vị từ phương pháp truy xuất hữu hiệu đến quan hệ Trước tiên OVQP thực phép tốn đơn ngơi giảm thiểu kích thước kết trung gian tách (detachment) thay (substitution) Kí hiệu qi-1qi để câu truy vấn q phân rã thành hai câu truy vấn qi-1và qi, qi-1 thực trước kết qi sử dụng CuuDuongThanCong.com https://fb.com/tailieudientucntt 4.2 XỬ LÝ TRUY VẤN TRONG MÔI TRƯỜNG TẬP TRUNG Phép tách: OVQP sử dụng để tách câu truy vấn q thành truy vấn q’q” dựa quan hệ chung kết q’ Nếu câu truy vấn q biểu diễn SQL có dạng: q: SELECT R2.A2, R3.A3, ., Rn.An FROM R1, R2, , Rn WHERE P1(R1.A’1) AND P2(R1.A1, R2.A2, , Rn.An) Trong đó: A1 A’1 thuộc tính quan hệ R1, P1 vị từ có chứa thuộc tính quan hệ R1, R2, , Rn Một câu truy vấn phân rã thành hai câu truy vấn con, q’ theo sau q” qua phép tách dựa quan hệ chung R1 sau: q’: SELECT R1A1 INTO R’1 FROM R1 WHERE P1(R1.A1) Trong R’1 quan hệ tạm thời chứa thông tin cần thiết để thực tiếp tục câu truy vấn: q”:SELECT R2A2, ., RnAn 10 FROM R’1, R2, , Rn CuuDuongThanCong.com https://fb.com/tailieudientucntt 4.4 Tối ưu hoá truy vấn CSDL phân tán Trong công thức: Total_cost= CCPU* #instr + CI/O*#I/OS + CMSG *#msgs + + CTR *#bytes •Hai thành phần chi phí đầu (CCPU,CI/O) chi phí địa phương •Hai thành phần chi phí sau (CMSG, CTR) chi phí truyền thơng •Chi phí truyền thơng để chuyển #byte liệu từ trạm đến trạm khác giả thiết hàm tuyến tính theo số #bytes truyền đi, xác định công thức CC(#byte )= CMS G + CTR * byte s 60 CuuDuongThanCong.com https://fb.com/tailieudientucntt 4.4 Tối ưu hoá truy vấn CSDL phân tán Công thức chung cho xác định thời gian trả lời Response_time = CCPU * seq_#instr + CI/O * seq_#I/OS + CMSG * seq_#msgs + CTR* seq_#bytes Trong ®ã : s e q_#x (x c ã th Ĩ lµ s è lƯnh c CP U, I/O, s ố th ô ng báo, s è byte ) lµ s è lín nh Ê t c đa x kh i th ùc h iƯn truy vấ n mộ t c ách Trong đó: Response_time: thời gian trả lời truy vấn CCPU: chi phí lệnh CPU CI/O: chi phí xuất/nhập đĩa CMSG: chi phí việc khởi đầu nhận thơng báo CTR: chi phí truyền đơn vị liệu từ trạm đến trạm khác #instr: tổng tất lệnh CPU trạm 61 #I/OS: số lần xuất/nhập đĩa #msgs: số thông báo CuuDuongThanCong.com https://fb.com/tailieudientucntt 4.4 Tối ưu hoá truy vấn CSDL phân tỏn Ví dụ: Minh h oạ s ự kh ác nh a u g iữa tổng chi phí thời gian trả lời, máy tính trả lờ i truy vấ n trạm với liệu từ trạm 2, c h ỉ c ã c h i ph Ý trun th « ng xét Trạm x Trạm Trạm y H×nh 4.12: VÝ dơ c đa s ù b iÕn ®ỉ i truy vÊ n G i¶ s ư, C MS G C TR biểu th ị th e o đơn vị th i g ia n Tỉ ng c h i ph Ý trun x đơn vị từ trạm đến trạm y đơn vị từ trạm đến trạm là: To tal_co s t = CMSG + CTR*x + CMSG+ CTR*y = 2CMS G+ CTR* (x+y) Vì việc truyền liệu c ó th ể th ực h iện s ong s ong nª n th ê i g ia n trả lờ i c truy vấ n Re s po ns e _time = max{CMS G + CTR* x, CMS G + CTR* y} 62 CuuDuongThanCong.com https://fb.com/tailieudientucntt 4.4 Tối ưu hoá truy vấn CSDL phân tán 4.4.2 Các thống kê liệu •Yếu tố ảnh hưởng đến hiệu suất chiến lược thực thi kích thước quan hệ trung gian sinh q trình thực •Khi phép tốn đặt trạm khác, quan hệ trung gian phải truyền mạng •Do để tối thiểu hoá khối lượng liệu truyền đi, điều quan tâm đánh giá kích thước kết trung gian phép tốn đại số quan hệ •Đánh giá dựa thông tin thống kê quan hệ sở công thức ước tính lực lượng kết phép tốn quan hệ 63 CuuDuongThanCong.com https://fb.com/tailieudientucntt 4.4 Tối ưu hoá truy vấn CSDL phân tán Mục đích thống kê liệu: •Xác định kích thước quan hệ trung gian sinh trình thực câu truy vấn •Xác định chi phí truyền thơng cho đại lượng trung gian Một số ký hiệu Cho quan hệ R xác định tập thuộc tính A={A1, , An} R phân mảnh thành R1, R2, , Rr •length(Ai): độ dài (byte) thuộc tính Ai ,AiR, •card(Ai(Rj): lực lượng phép chiếu mảnh Rj lên thuộc tính Ai (số giá trị phân biệt thuộc tính Ai) •max(Ai): giá trị cực đại thuộc tính Ai Dom(Ai) •min(Ai): giá trị cực tiểu thuộc tính Ai Dom(Ai) •card(dom(Ai)): lực lượng thuộc tính Ai •card(R )): số mảnh R CuuDuongThanCong.com https://fb.com/tailieudientucntt 64 4.4 Tối ưu hoá truy vấn CSDL phân tán Ngoài ra, liệu thống kê bao gồm hệ số chọn phép nối (SFJ) số cặp đại số quan hệ, hệ số SFJ quan hệ R S số thực 1, xác định bởi: SFJ = card(R S) card(R)*card(S) •Hệ số SFJ nhỏ phép nối có tính chọn tốt, ngược lại có tính chọn tồi •Các thống kê có lợi để đánh giá kích thước quan hệ trung gian •Kích thước quan hệ trung gian R xác định size(R) = card(R)*length(R) Trong đó, + length(R) độ dài (số byte) R, tính theo độ dài thuộc tính nó, + card(R) số R tính theo cơng thức 65 phần CuuDuongThanCong.com https://fb.com/tailieudientucntt 4.4 Tối ưu hoá truy vấn CSDL phân tán 4.4.3 Lực lượng kết trung gian Phần đưa công thức để ước tính lực lượng kết phép toán sở đại số quan hệ (phép chọn, phép chiếu, phép tích Decartes, nối, nửa nối, phép hợp phép trừ) Các toán hạng quan hệ ký hiệu R S Hệ số chọn phép toán SFOP, (OP biểu thị phép toán) tỷ lệ toán hạng quan hệ tham gia vào kết phép tốn Ví dụ: • SFJ : hệ số chọn phép nối • SFS : hệ số chọn phép chọn 66 CuuDuongThanCong.com https://fb.com/tailieudientucntt 4.4 Tối ưu hoá truy vấn CSDL phân tán Phép chọn card( (R)) = SFS(F) * card(R) Trong SFS(F) phụ thuộc vào cơng thức chọn tính sau, với p(Ai), p(Aj) tân từ tương ứng với thuộc max(A) - value tính Ai, Aj SFS (A=value) = SFS (A>value) = Card(A(R)) SFS (A>value) = max(A)-min(A) Value - min(A) max(A)-min(A) SFS(p(Ai)  p(Aj)) = SFS(p(Ai)) * SFS(p(Aj)) SFS(p(Ai) p(Aj)) = SFS(p(Ai))+SFS(p(Aj))-SFS(p(Ai))* SFS(p(Aj)) SFS(A {value}) = SFS(A=value) * card({value}) 67 CuuDuongThanCong.com https://fb.com/tailieudientucntt 4.4 Tối ưu hoá truy vấn CSDL phân tán Phép chiếu Phép chiếu có khơng loại bỏ sao, xét phép chiếu loại bỏ Lực lượng quan hệ kết phép chiếu tùy ý khó đánh giá xác, tương quan thuộc tính chiếu thường khơng biết Tuy nhiên, có hai trường hợp tầm thường đặc biệt có lợi: • Nếu phép chiếu R thuộc tính đơn A lực lượng tính đơn giản số phép chiếu thực • Nếu thuộc tính chiếu khố R, card( A(R)) = card(R) card(RS) = card(R) * card(S) 68 CuuDuongThanCong.com https://fb.com/tailieudientucntt 4.4 Tối ưu hoá truy vấn CSDL phân tán Phép nối •Khơng có cách tổng quát để xác định lực lượng phép nối khơng có thơng tin thêm •Cận lực lượng phép nối lực lượng tích Decartes •Tuy nhiên, có số trường hợp xuất thường xuyên việc đánh giá đơn giản: - Nếu R AB S với AR, BS, A khố R, B khố ngồi S, lực lượng kết xấp xỉ là: card(R AB S) = card(R) •Với phép nối khác, lực lượng kết là: card(R S) = SFJ * card(R) * card(S) 69 CuuDuongThanCong.com https://fb.com/tailieudientucntt 4.4 Tối ưu hoá truy vấn CSDL phân tán Phép nửa nối Hệ số chọn phép nửa nối (SFSJ) xấp xỉ là: SFSJ (R S) = Card(A(S)) Card(dom[A]) Công thức phụ thuộc vào thuộc tính A S, nên thường gọi hệ số chọn thuộc tính A S, ký hiệu SFSJ(S.A) hệ số chọn S.A thuộc tính nối khác Vì thế, lực lượng phép nối tính sau: card(R AS) = SFSJ(S.A) * card(R) 70 CuuDuongThanCong.com https://fb.com/tailieudientucntt 4.4 Tối ưu hóa CSDL phân tán Phép hợp •Rất khó đánh giá số lượng RS, giống R S bị loại bỏ phép hợp •Ở đưa cơng thức tính: -cận card(RS) card(R)+card(S), -cận card(RS) max{card(R),card(S)} (giả sử R S không chứa lặp) Phép trừ Cũng phép hợp đưa cận cận dưới, cận card(R-S) card(R), cận 71 CuuDuongThanCong.com https://fb.com/tailieudientucntt 4.4 Tối ưu hóa CSDL phân tán Ví dụ Xét hai quan hệ sở liệu công ty máy tính: E=NHANVIEN (MANV, TENNV, CHUCVU) G=HOSO (MANV, MADA, NHIEMVU, THOIGIAN) Với câu truy vấn “Cho biết tên nhân viên quản lý dự án” Ta có câu truy vấn SQL tương ứng là: SELECT TENNV FROM E, G WHERE E.MANV=G.MANV AND NHIEMVU=”Quản lý” Hai truy vấn đại số tương đương với truy vấn là: TENNV(NHIEMVU=”Quản lý”  E.MANV=G.MANV (E  G)) TENNV(E (NHIEMVU=”Quản lý” G)) MANV (1) (2) Rõ ràng truy vấn (2) tránh khỏi phải tích số E G, nên dùng phép tính tài nguyên truy vấn (1) 72 CuuDuongThanCong.com https://fb.com/tailieudientucntt Câu hỏi cuối chương Mục đích tối ưu hoá truy vấn CSDL phân tán Chức tối ưu hoá truy vấn phân tán Các phương pháp xử lý truy vấn Ý tưởng thuật tốn Ingres Ví dụ Sơ đồ phân lớp chung cho cho xử lý truy vấn phân tán Định vị liệu phân tán-Tối ưu hoá cục 73 CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG 4: XỬ LÝ TRUY VẤN TRONG CSDL PHÂN TÁN HẾT CHƯƠNG 74 CuuDuongThanCong.com https://fb.com/tailieudientucntt .. .4. 1 GIỚI THIỆU VỀ XỬ LÝ TRUY VẤN Mục đích xử lý truy vấn: • Giảm thiểu thời gian xử lý • Giảm vùng nhớ trung gian • Giảm chi phí truy n thơng trạm Chức xử lý truy vấn: • Biến đổi truy vấn. .. https://fb.com/tailieudientucntt 4. 2 XỬ LÝ TRUY VẤN TRONG MÔI TRƯỜNG TẬP TRUNG 4. 2.1 So sánh xử lý truy vấn tập trung phân tán • Tập trung:  Chọn truy vấn đại số quan hệ tốt số tất truy vấn đại số tương đương... https://fb.com/tailieudientucntt 4. 3 Xử lý truy vấn môi trường phân tán Câu truy vấn phân tán Lược đồ tổng thể Phân rã truy vấn Truy vấn đại số quan hệ phân tán Trạm điều khiển Lược đồ phân mảnh Định vị liệu Truy vấn mảnh

Ngày đăng: 29/01/2020, 14:26

Xem thêm:

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w