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

bài giảng hệ cơ sở dữ liệu phân tán xử lý câu hỏi dữ liệu

111 1,8K 4

Đ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 111
Dung lượng 1,21 MB

Nội dung

CHƯƠNG III: XỬ LÝ TRUY VẤN VÀ ĐỊNH VỊ DỮ LIỆU Giảng viên: Hồ Sĩ Bàng CHƯƠNG III: XỬ LÝ VÀ ĐỊNH VỊ TRUY VẤN 3.1 Những vấn đề xử lý truy vấn 3.2 Phân rã truy vấn định vị liệu 3.3 Tối ưu hóa truy vấn phân tán 3.1 Những vấn đề xử lý truy vấn 3.1.1 Tổng quan 3.1.2 Tối ưu hóa Truy vấn 3.1.3 Các bước xử lý truy vấn phân tán Tổng quan Xử lý truy vấn: trình bước chuyển từ truy vấn bậc cao(tính toán quan hệ/SQL) sang truy vấn bậc thấp tương đương hiệu (đại số quan hệ) Phân tích dịch – Kiểm tra cú pháp quan hệ – Dich truy vấn thành biểu thức đại số quan hệ tương đương Tối ưu hóa – Phát sinh kế hoạch đánh giá tối ưu (với giá tối thiểu) cho kế hoạch truy vấn Đánh giá – Mô tơ vận hành truy vấn lấy kế hoạch truy vấn (tối ưu), thực trả lời truy vấn Xử lý truy vấn • Thành công hệ quản trị csdl quan hệ – Các phat biểu ngôn ngữ truy vấn cho phép thực dễ dàng truy vấn phức tạp không cần biết đến chi tiết tổ chức vật lý liệu – công nghệ xử lý truy vấn tiên tiến chuyển truy vấn ứng dụng/ người dùng thành chiến lược vận hành truy vấn bậc thấp cách hiệu • Chuyển đổi truy vấn cần đắn hiệu quả: Hiệu khó khăn chủ yếu nhiệm vụ quan trọng hệ quản trị csdl • Xử lý truy vấn phân tán: chuyển đổi để thực phân mảnh • Xử lý truy vấn phân tán phức tạp khi: – Phân mảnh/Nhân quan hệ – tính đến giá truyền thông – Vận hành song song Ví dụ xử lý truy vấn • Chuyển đổi truy vấn SQL truy vấn đại số quan hệ Quan hệ: EMP(ENO, ENAME, TITLE), ASG(ENO,PNO,RESP,DUR) Truy vấn : Tìm tên nhân viên quản trị dự án 37 tháng? – Truy vấn mức cao SELECT ENAME FROM EMP,ASG WHERE EMP.ENO = ASG.ENO AND DUR > 37 – Hai chuyển đổi truy vấn: Biểu thức 1: ΠENAME(σ DUR>37∧EMP.ENO=ASG.ENO(EMP × ASG)) Biểu thức 2: ΠENAME(EMP IXI ENO (σ DUR>37 (ASG))) – Biểu thức tránh tích Đề cac tốt Ví dụ xử lý truy vấn • Giả thiết cho phân mảnh : – Dữ liệu phân mảnh ngang: Site1: ASG1 = σ ENO≤”E3”(ASG) Site2: ASG2 = σ ENO>”E3” Site3: EMP1 = σ ENO≤”E3” Site4: EMP2 = σ ENO>”E3” (ASG) (EMP) (EMP) Site5: Kết – Các quan hệ ASG EMP phân mảnh theo cách – Các quan hệ ASG EMP nhóm thuộc tính theo thứ tự RESP ENO Ví dụ xử lý truy vấn • • • - Xem xét biểu thức : ΠENAME(EMP IXI ENO (σ DUR>37 (ASG))) Ngầm định phép chiếu cuối Chiến lược 1(vận hành song song phần) Tạo ASG'1 chuyển đến site / Tạo ASG'2 chuyển đến site Kết nối ASG'1 với EMP1 (site 3) chuyển kết đến site Kết nối ASG'2 với EMP2 (site 4) chuyển kết đến site Hợp kết site Ví dụ xử lý truy vấn • Chiến lược 2: - Chuyển ASG1 ASG2 sang site - Chuyển EMP1 EMP2 sang site - Chọn kết nối site Ví dụ xử lý truy vấn * Tính toán gía thành chiến lược dựa giả thiết: – Các phân tán dạng phân mảnh; 20 thỏa mãn DUR>37 – size(EMP) = 400, size(ASG) = 1000 – giá truy nhập = đơn vị; giá truyền = 10 đơn vị – ASG EMP mục cục DUR ENO • Chiến lược – Tạo ASG’ : (10+10) * giá_truy_nhập_bộ 20 – Truyền ASG đến sites EMP: (10+10) * Giá_truyền_bộ 200 – Tạo EMP’: (10+10) * giá_truy_nhập_bộ * 40 – Truyền EMP đến site kết : (10+10) * Giá_truyền_bộ 200 – Giá tổng cộng 460 • Chiến lược – Truyền EMP1, EMP2 đến site 5: 400 * Giá_truyền_bộ 4,000 – Truyền ASG1, ASG2 đến site 5: 1000 * Giá_truyền_bộ 10,000 – Chọn từ ASG1 ∪ ASG2: 1000 * giá_truy_nhập_bộ 1,000 – Kết nối EMP ASG’: 400 * 20 * giá_truy_nhập_bộ 8,000 – Giá tổng cộng 23,000 10 GIẢI THUẬT LEO ĐỒI • Giải thuật tối ưu hóa truy vấn leo đồi – Việc làm mịn giải pháp khả thi ban đầu tính toán đệ quy cải thiện giá – Các phép bán kết nối, nhân liệu phân mảnh không dùng – Dẫn xuất cho mạng điểm-điểm WAN – Là giải thuật xử lý truy vấn phân tán GIẢI THUẬT LEO ĐỒI • Giải thuật leo đồi xử lý sau: Chọn chiến lược vận hành khả thi ban đầu ES0 – lịch biểu vận hành bao gồm truyền thông – Xác định site kết quả, quan hệ tham chiếu truy vấn – Tính toán giá truyền quan hệ tham chiếu khác cho site ứng viên – ES0 = site ứng viên với giá tối thiểu Chia ES0 thành chiến lược : ES1 tiếp sau ES2 – ES1: gửi quan hệ liên quan đến kết nối đến site quan hệ khác – ES2: Gửi kết kết nối đến site kết cuối Thay ES0 với việc chia lịch biểu cho giá(ES1) + giá (local join) + giá (ES2) < giá (ES0) Áp dụng đệ quy bước bước ES1 ES2 không thu giá thấp Ktr việc phát dư thừa kế hoạch cuối loại bỏ chúng GIẢI THUẬT LEO ĐỒI • Ví dụ: Tìm lương kỹ sư làm việc dự án CAD/CAM? ΠSAL(PAY ixi TITLE EMP ixiENO (ASG ixiPNO (σPNAME=“CAD/CAM′′ (PROJ)))) – Các lược đồ: EMP(ENO, ENBAME, TITLE), ASG(ENO, PNO, RESP, DUR), PROJ(PNO, PNAME, BUDGET, LOC), PAY(TITLE, SAL) – Thống kê Relation Size Site EMP PAY PROJ ASG 10 – giả thiết: ∗ Kích thước quan hệ định nghĩa lực lượng ∗ Tối thiểu hóa giá tổng cộng ∗ Giá truyền site ∗ Bỏ qua giá xử lý cục ∗ kích thước (EMP ixi PAY) = 8, kích thước (PROJ ixi ASG) = 2, kích thước (ASG ixi EMP) = 10 GIẢI THUẬT LEO ĐỒI • Ví dụ : Xác định chiến lược khả thi ban đầu – Phương án 1: Site kết site Giá tổng cộng = giá(PAY→Site1) + giá (ASG→Site1) + giá (PROJ→Site1) = + 10 + = 15 – Phương án 2: Site kết site Giá tổng cộng = + 10 + = 19 – Phương án 3: Site kết site Giá tổng cộng = + + 10 = 22 – Phương án 4: Site kết site Giá tổng cộng = + + = 13 – Vì ES0 = EMP→Site4; PAY→Site4; PROJ→Site4 GIẢI THUẬT LEO ĐỒI • Ví dụ(tiếp) : Các phương án phân chia – Phương án 1: ES1, ES2, ES3 ∗ ES1: EMP→Site ∗ ES2: (EMP ixi PAY)→Site4 ∗ ES3: PROJ→Site Giá tổng cộng = giá (EMP → Site2) + giá((EMP ixi PAY) → Site4) + giá(PROJ → Site4) = + + = 17 – Phương án 2: ES1, ES2, ES3 ∗ ES1: PAY→Site1 ∗ ES2: (PAY ⋊⋉ EMP)→Site4 ∗ ES3: PROJ→Site Giá tổng cộng = giá(PAYSite → 1) + giá((PAY ixi EMP) → Site4) + giá(PROJ → Site4) = + + = 13 • Cả phương án không tốt ES0, nên giữ lại nó(hay lấy phương án có giá) GIẢI THUẬT LEO ĐỒI • Các vấn đề – Giải thuật Greedy xác định giải pháp khả thi ban đầu cải thiện lặp – Nếu có tối thiểu cục bộ, không cần tìm tối thiểu tổng thể – Một lịch biểu tối ưu với giá khởi đầu cao không tìm không chọn giải pháp khả thi ban đầu • Ví dụ: lịch biểu tốt – PROJ→Site – ASG’ = (PROJ ixi ASG)→Site – (ASG’ ixi EMP)→Site Giá tổng cộng = + + = SDD-1 • Giải thuật tối ưu hóa truy vấn SDD-1 cải thiện giải thuật leo đồi theo số hướng: – Xem xét đến bán kết nối – Thống kê tỉ mỉ – Kế hoạch ban đầu chọn tốt – Bước tối ưu hóa sau giới thiệu KẾT LUẬN • Phức tạp tối ưu hóa truy vấn tập trung - Cây truy vấn dày không thiết lựa chọn tồi - Cần định truyền quan hệ site nào, • Tối ưu hóa truy vấn tìm kiếm kế hoạch (cây) truy vấn tối ưu • Với N quan hệ, có O(N!) kết nối tương đương Để giải quyết, heuristics , kiểu giảm nhỏ xem xét • Có chiến lược chủ yếu tối ưu hóa truy vấn: ngẫu nhiên xác định • Có thể dùng bán kết nối Mặc dù dùng nhiều thao tác liệu truyền giảm • Các giải thuật tối ưu hóa phân tán INGRES, System R, Hill Climbing, SDD-1 104 BÀI TẬP 1.Hãy đơn giản hóa câu truy vấn biểu diễn SQL cách sử dụng quy tắc lũy đẳng SELECT ENO FROM ASG WHERE RESP=”Analyst” AND NOT(PNO !=”P2” OR DUR=12) AND PNO != “P2” AND DUR =12 Hãy trình bày đồ thị cho câu truy vấn sau ánh xạ thành đại số SELECT ENAME, PNAME FROM ASG,EMP,PROJ WHERE EMP.ENO=ASG.ENO AND DUR >12 Hãy đơn giản hóa câu truy vấn sau: SELECT ENAME, PNAME FROM ASG,EMP,PROJ WHERE DUR >12 AND EMP.ENO=ASG.ENO AND ASG.PNO=PROJ.PNO AND (TITLE=”Elect.Eng” OR ASG.PNO[...]... trung, phân tán , lai) • Xử lý truy vấn được thực hiện như sau: phân rã truy vấn > định vị dữ liệu > tối ưu hóa tổng thể > tối ưu hóa cục bộ 23 CHƯƠNG III: XỬ LÝ TRUY VẤN VÀ ĐỊNH VỊ DỮ LIỆU 3.1 Những vấn đề về xử lý truy vấn 3.2 Phân rã truy vấn và định vị dữ liệu 3.3 Tối ưu hóa các truy vấn phân tán 24 3.2 Phân rã truy vấn và định vị dữ liệu 3.2.1 Phân rã truy vấn 3.2.2 Định vị dữ liệu 25 3.2.1 Phân rã... – Cải thiện việc xử lý kết nối phân tán bằng cách giảm nhỏ kích thước dữ liệu trao đổi giữa các site – Tuy nhiên số thông điệp và thời gian xử lý cục bộ lại tăng 20 3.1 Những vấn đề về xử lý truy vấn 3.1.1 Tổng quan 3.1.2 Tối ưu hóa Truy vấn 3.1.3 Các bước xử lý truy vấn phân tán 21 Các bước xử lý truy vấn phân tán 22 KẾT LUẬN • Xử lý truy vấn chuyển truy vấn bậc cao (tính toán quan hệ) thành truy vấn...3.1 Những vấn đề về xử lý truy vấn 3.1.1 Tổng quan 3.1.2 Tối ưu hóa Truy vấn 3.1.3 Các bước xử lý truy vấn phân tán 11 Tối ưu hóa truy vấn • Tối ưu hóa truy vấn là phần quan trọng và sống còn của toàn bộ xử lý truy vấn • Mục tiêu là tối thiểu hóa các hàm giá sau: giá_thành_I/O + giá_thành_CPU + giá_thành_truyền_thong... chỉ phù hợp cho tập con tính toán quan hệ 3 Loại bỏ dư thừa 4 Viết lại: Chuyển đổi truy vấn thành đại số quan hệ và tối ưu truy vấn26 Phân rã truy vấn-Chuẩn hóa • Chuẩn hóa: Chuyển đổi truy vấn thành dạng chuẩn để hỗ trợ cho xử lý kế tiếp Cơ bản gồm 2 bước 1 Phân tích ngữ nghĩa và cú pháp - Kiểm tra tính hợp lệ( tương tự biên dịch) - Kiểm tra thuộc tính và quan hệ - Kiểm tra kiểu dựa trên phẩm chất... khác nhau thực tế • Phân bố các giá trị thuộc tính (ví dụ, histogram) – Các giả thiết chung • Độc lập giữa các giá trị thuộc tính khác nhau • Phân bố cùng kiểu các giá trị thuộc tính trong miền giá trị của chúng 17 Các nhận định tối ưu hóa truy vấn • Các site quyết định – Tập trung • Site đơn quyết định lịch biểu "tốt nhất" • Đơn giản • Cần hiểu biết về toàn bộ csdl phân tán – Phân tán • Hợp tác giữa... dữ liệu 25 3.2.1 Phân rã truy vấn • Phân rã truy vấn: Ánh xạ truy vấn tính toán (SQL) sang các phép tính đại số (chọn, chiếu, kết nối ) • Cả đầu vào và đầu ra truy vấn tham chiếu đến quan hệ tổng thể, không cần biết đến phân tán • Đầu ra truy vấn đúng về ngữ nghĩa và tránh dư thừa • Phân rã truy vấn bao gồm 4 bước: 1 Chuẩn hóa: Chuyển đổi truy vấn thành dạng chuẩn 2 Phân tích: Phát hiện và từ chối các... truyền thông không chiếm ưu thế * Gía thành tổng cộng được xem xét 12 Tối ưu hóa truy vấn • Thứ tự của các phép tính đại số quan hệ là sống còn cho xử lý truy vấn hiệu quả • Luật chủ đạo: Chuyển các phép tính tiêu tốn về cuối của xử lý truy vấn • Giá của các phép tính đại số quan hệ: Phép tính Độ phức tạp Chọn, chiếu (Không loại bỏ trùng) O(n) Chiếu (Loại bỏ trùng) O(n logn) Nhóm / Kết nối / bán kết nối... các kích thước quan hệ trung gian • Phải tối ưu lại cho nhiều vận hành – Hỗn hợp/Lai • Trước hết truy vấn được dịch dùng giải thuật tĩnh • Nếu lỗi trong kích thước dự đoán lớn hơn ngưỡng, truy vấn được tối ưu lại khi chạy 16 Các nhận định tối ưu hóa truy vấn • Thống kê – Quan hệ/ Phân mảnh • lực lượng • Kích thước các bộ • Phần của các bộ tham gia trong kết nối với các quan hệ/ phân mảnh khác – Thuộc... hạng hay các kết quả – Cạnh biểu diễn một kết nối nếu cả hai biểu diễn một toán hạng quan hệ, nếu không thì đó là phép chiếu 30 Phân rã truy vấn -Phân tích • Đồ thị kết nối – 1 đồ thị con của đồ thị truy vấn chỉ xem xét các kết nối • Vì đồ thị truy vấn được kết nối nên truy vấn là đúng ngữ nghĩa 31 Phân rã truy vấn -Phân tích • Xét truy vấn và đồ thị truy vấn của nó: SELECT ENAME,RESP FROM EMP, ASG, PROJ... EMP.ENAME = "J Doe" 34 Phân rã truy vấn- Viết lại 35 Phân rã truy vấn- Viết lại • Bằng cách áp dụng các luật chuyển đổi, nhiều cây/biểu thức tương đương với các cây/biểu thức ban đầu nhưng hiệu quả hơn • Nếu các quan hệ R(A1, ,An), S(B1, ,Bn), và T tương thích với nhau • Tính giao hoán các phép nhị phân –R×S=S×R – R ixi S = S ixi R –R∪ S=S∪ R • Tính liên hợp các phép nhị phân – (R × S) × T = R ... định vị li u 3.2.1 Phân rã truy vấn 3.2.2 Định vị li u 40 3.2.2 Định vị li u • Định vị li u – Đầu vào: truy vấn đại số lược đồ quan hệ tổng thể – Mục đích : * Áp dụng thông tin phân tán li u phép... truy vấn > định vị li u > tối ưu hóa tổng thể > tối ưu hóa cục 23 CHƯƠNG III: XỬ LÝ TRUY VẤN VÀ ĐỊNH VỊ DỮ LI U 3.1 Những vấn đề xử lý truy vấn 3.2 Phân rã truy vấn định vị li u 3.3 Tối ưu hóa... kết không – Chỉ có tập truy vấn tính toán kiểm tra tính đắn – Các cấu trúc li u dùng để phát truy vấn sai là: * Đồ thị li n kết (đồ thị truy vấn) * Đồ thị kết nối 29 Phân rã truy vấn-Phân tích

Ngày đăng: 15/01/2016, 22:28

TỪ KHÓA LIÊN QUAN

w