CHƯƠNG 1 CÁC VẤN ĐỀ CƠ BẢN VỀ MẠNG MÁY TÍNH 1 CHƯƠNG 4 XỬ LÝ TRUY VẤN TRONG CSDL PHÂN TÁN NỘI DUNG 4 1 Giới thiệu về xử lý truy vấn 4 2 Xử lý truy vấn trong môi trường tập trung 4 3 Xử lý truy vấn tro[.]
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 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 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 toá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 tốn câu truy vấn 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 d liu 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Ư T¹o s inh m· M· cđa truy vÊn 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 Phân rã truy vấn Lược đồ tổng thể Truy vấn đại số quan hệ phân tán Trạm điều khiển Định vị liệu Lược đồ phân mảnh 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 Tối ưu hoá cục Lược đồ địa phương 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 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 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) 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-1qi để 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 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