Tải bản đầy đủ (.pptx) (52 trang)

Xử lý câu truy vấn phân tán

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (872.01 KB, 52 trang )

Xử lý câu truy vấn
phân tán
Hồ Bảo Quốc
Khoa Công Nghệ Thông Tin
Đại Học Khoa Học Tự Nhiên
Các bước thực hiện câu truy vấn
Ví dụ : Tại sao cần tối ưu

Cho lược đồ
S(S#,SNAME,STATUS,CITY)
P(P#,PNAME,COLOR,WEIGHT,CITY)
SP(P#,S#,QTY)
Tiến trình tối ưu (tập trung)

Đưa câu truy vấn về dạng biểu diễn
trong

Biến đổi về dạng chuẩn

Chọn cách thực hiện tối ưu

Sinh mã (code) để thực hiện
Chiến lược tối ưu (tập trung)
1. Thực hiện các phép toán một ngôi
trước khi còn có thể
2. Thực hiện các phép toán hai ngôi
Một ví dụ về xử lý truy vấn
Một ví dụ về xử lý truy gấn

Cho lược đồ
EMP(ENO,ENAME,TITLE)


ASG(ENO,PNO,RESP,DUR)

Cho câu truy vấn
Ví dụ (tt.)

Giả sử lược đồ toàn cục trên được phân
mảnh và phân bố trên 4 vị trí như sau :
Và câu truy vấn được phát ra ở trí thứ 5
(site5)
Ví dụ (tt)

Giả sử xét biểu thức

Chiến lược 1 để thực hiện biểu thức
trên là
Ví dụ (tt)

Chiến lược 2 như sau
Chi phí của các giải pháp
Mục tiêu của tối ưu hóa câu hỏi phân
tán

Tối ưu hóa hàm chi phí
Chí phí I/O + chi phí CPU + chi phí truyền

Các chi phí trên có thể được cho trọng số tùy theo môi trường
phân tán

Mạng diện rộng (WAN)


Chí phí truyền là quan trọng nhất

Băng thông hẹp

Tốc độ truyền thấp

Nghi thức trao đổi

Phần lớn thuật toán bỏ qua các chi phí khác

Mạng cục bộ (LAN)

Chi phí truyền không là quan trọng nhất

Chi phí phải được tính trên tất cả thành tố
Xử lý truy vấn

Thứ tự thực hiện các phép toán đại số ảnh
hưởng quyết định đến hiệu suất xử lý truy
vấn

Nguyên tắc : Các phép toán chi phí càng cao
thì càng phải được thực hiện trể hơn

Chi phí của các phép toán ĐSQH
Các vấn đề của tối ưu truy vấn

Nhiều vấn đề phải được xem xét trong tối ưu
truy vấn


Loại của bộ tối ưu

Quan tâm đến các kỹ thuật tìm kiếm (vét cạn, heuristic)

Quan tâm đến thời gian (tĩnh, động)

Thống kê

Các vị trí quyết định

Topo của mạng

Sử dụng phép kết nửa
Tối ưu quan tâm đến các kỹ thuật tìm
kiếm

Tìm kiếm vét cạn

Chi phí cao

Tối ưu

Độ phức tạp tổ hợp trên số quan hệ

Tìm kiếm dựa vào heuristic

Không tối ưu

Gom nhóm các biểu thực con chung


Tiến hành chọn, chiếu trước

Thay phép kết bằng phép kết nửa

Sắp xếp lại thứ tự thực hiện các phép toán để giảm kích thước các
quan hệ trung gian

Tối ưu từng toán tử
Tối ưu quan tâm đến thời gian

Tĩnh

Truy vấn được tối ưu trước khi thực hiện

Hệ quả là khó ước lượng kích thước các quan hệ trung gian

Tối ưu được thừa kế qua các xử lý

Động

Tối ưu được xét trong quá trình thực hiện

Cung cấp 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 cho nhiều xử lý

Tổ hợp/ lai

Trước tiên câu truy vấn được dịch dùng thật toán tĩnh


Nếu kích thước ủa quan hệ trung gian vượt quá một ngưỡng cho trước,
thì tiến hành tối ưu lại
Thống kê

Quan hệ/ phân mảnh

Số lượng bộ

Kích thước bộ

Tỉ lệ bộ tham gia vào phép kết với quan hệ / phân mảnh khác

Thuộc tính

Số lượng giá trị của miền giá trị

Số của các giá trị phân biệt trong thực tế

Phân bố của giá trị thuộc tính

Các giả định chung

Sự độc lập giữa các giá trị thuộc tính

Phân bố đồng nhất của các giá trị
Vị trí quyết định

Tập trung

Một vị trí có quyền xác định kế hoạch tốt nhất


Đơn giản

Cần có tri thức về toàn bộ hệ thống phân tán

Phân tán

Hợp tác nhiều vị trí để xác định kế hoạch tốt nhất

Chỉ cần thông tin cục bộ

Chi phí để “trao đổi” cao

Lai

Một vị trí quyết định kế hoạch toàn cục

Mỗi vị trí tối ưu câu truy vấn cục bộ
Kiến trúc mạng

Mạng diện rộng (WAN)

Đặc điểm

Băng thông hẹp

Tốc độ thấp

Chi phí cho nghi thức cao


Chi phí truyền thông chiếm phần lớn, các chi phí khác có thể bỏ qua

Kế hoạch toàn cục giúp giảm chi phí truyền thông

Các kế hoạch cục bộ cho từng câu truy vấn cục bộ

Mạng cục bộ (LAN)

Chi phí truyền thông không chiếm phần lớn

Hàm chi phí toàn thể phải được ước lượng

Truyền dữ liệu có thể được khai thác thông qua phép kết

Có các thuật toán đặc biệt cho các mạng hình sao
Sử dụng phép kết nửa

Giảm kích thước của các tác tố tham gia
bằng phép kết nửa

Đặc biệt quan trọng để giảm chi phí truyền

Cải tiến việc xử lý phép kết phân tán bằng
cách giảm kích thước dữ liệu chuyển giữa
các vị trí

Tuy nhiên số thông điệp cũng như thời
gian xử lý cục bộ sẽ tăng
Các bước pháp xử lý tối ưu truy vấn
Bước 1: Phân rã câu truy vấn


Input : Lược đồ toàn cục

Chuẩn hóa

Đưa câu truy vấn về dạng chuẩn

Phân tích

Phát hiện các sai sót

Đơn giản hóa

Giản lược các dư thừa

Tái xây dựng

Xây dựng biểu thức đại số quan hệ
Chuẩn hóa

Kiểm tra « từ vựng » và cú pháp

Kiểm tra cú pháp (như trình biên dịch)

Kiểm tra thuộc tính và quan hệ

Kiểm tra các biểu thức điều kiện

Đưa về dạng chuẩn


Chuẩn hội

Chuẩn tuyển

Trong dạng chuẩn tuyển, câu truy vấn có thể được xử lý như các câu truy vấn
con độc lập được kết nối lại bằng phép hội
Ví dụ

Xét câu truy vấn

Điều kiện sau WHERE có thể được chuẩn hóa về
chuẩn hội như sau

Hay chuẩn tuyển
Phân tích

Pháp hiện các lỗi sai của câu truy vấn

Sai về thuộc tính và quan hệ

Sai về ngữ nghĩa

Các thành phần tham gia không thể cho ra
được kết quả

Các mâu thuẩn về ngữ nghĩa

Công cụ : đồ thị kết nối thuộc tính

×