Tải bản đầy đủ (.doc) (96 trang)

đề thi quản trị cơ sở dữ liệu phân tán 6

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 (1.7 MB, 96 trang )

CHƯƠNG III: XỬ LÝ CÂU HỎI VÀ ĐỊNH VỊ DỮ LIỆU
(số tiết 5)
Xem quan tri giao dịch 1.pdf
(xem Distributed Database autum_chapter..pdf +++ xu ly phan tan va song song.pdf
H:\oracle-baigiang\2010\ppt\baigiang truong codex\ ch14[1]Query Optimization.ppt )

Commutative(a) giao hoán

1

+


2


3


da

dấu cách=phép kết nối?
4


5


3.1 Xử lý câu hỏi
3.1.1 Tổng quan
Vai trò xử lý câu hỏi


• Truy vấn nsd mức cao->xử lý truy vấn->các lệnh manipulation dữ liệu mức thấp
Truy vấn
nsd mức
cao

Bộ xử lý truy vấn

các lệnh vận dụng dữ liệu
mức thấp

Các thành phần xử lý truy vấn




Ngôn ngữ truy vấn được dùng (VD SQL: intergalactic dataspeak)
Phương pháp vận hành truy vấn(Các bước đi qua khi vận hành truy vấn nsd
(khai báo nsd mức cao)
Tối ưu hóa truy vấn(Làm sao xác định được kế hoạch truy vấn tốt nhất)



Ngôn ngữ truy vấn được dùng
SQL: dataspeak giữa các thiên hà

6






Phương pháp vận hành truy vấn
Các bước đi qua trong vận hành truy vấn nsd bậc cao(khai báo)
Tối ưu hóa truy vấn
Xác định kê hoach vận hành tốt nhất như thế nào

Chọn luan phiên( thứ tự chọn các thao tác với cùng lệnh SQL?)

Vấn đề là gì? Thể hiện thực hiện các thao tác trên các site
7


Giá của luân phiên
- Giả thiết
- Chiến lược 1
- Chiến lược 2:
Kết quả cho thấy chiến lược 2 có giá lớn hơn chiến lược 1

8


Các đối tượng tối ưu hóa truy vấn
Tối thiểu hóa hàm giá thành: CPU cost+ IO cost+ communication cost
Trọng số khác nhau trong môi trường phân tán khác nhau
WAN
• Giá truyền thông chiếm ưu thế (băng thông thấp/tốc độ thấp/tổng phí gthuc lớn)
• Các giải thuật bỏ qua mọi thành phần giá khác
LAN
• Giá truyền thông không chiếm ưu thế
• Xem xét đến giá các chức năng toàn thể

Cũng có thể tối đa hóa thông lượng
Các phát biểu tối ưu hóa truy vấn
 Các kiểu tối ưu
- Đầy đủ
o Tối ưu
o Phức tạp do nhiều mối quan hệ
- Heuristics
o Không tối ưu
o Gom lại các biểu thức con chung
o Thực hiện chọn, chiếu đầu tiên
o Thay join bằng chuỗi các semijoin
o Sắp xếp các thao tác để giảm nhỏ kích thước quan hệ trung gian
o Tối ưu hóa các thao tác riêng
 Nghiền hạt tối ưu
- Đơn truy vấn tại một thời điểm
o Không thể sử dụng các kết quả trung gian chung
- Đa truy vấn tại một thời điểm
o Hiệu quả nếu nhiều truy vấn tương tự
o Không gian quyết định lớn hơn nhiều
 Tối ưu hóa thời gian
- Tĩnh
o Việc dịch=> tối ưu hóa hơn vận hành
o Khó dự doán kích thước kết quả trung gian, lan truyền lỗi
o Có thể amortize(trừ dần) qua nhiều vận hành
o R*

9


-


-

Động
o
o
o
o
Lai
o
o
o

Tối ưu hóa thời gian chạy
Thông tin chính xác trên các kích thước quan hệ trung gian
Phải tôi ưu hóa lại cho nhiều vận hành
INGRES phân tán
Dịch dùng giải thuật tĩnh
Nếu lỗi trong kích thước dự đoán>ngưỡng, tối ưu hóa lại khi chạy
MERMAID

 Thống kê:
- Quan hệ
*cardinality
*kích thước bộ
*phần bộ tham gia join với các quan hệ khác
- Thuộc tính
*Cardinality của domain
*Số lượng thực các giá trị khác nhau
- Assumption chung

• Độc lập các giá trị thuộc tính khác nhau
• Phân tán uniform các giá trị thuộc tính trong domain của chúng
Các site quyết định
- Trung tâm
• Sitebđơn xác định lịch biểu tốt nhất
• Đơn giản
• Cần biết về toàn bộ CSDL phân tán
- Phân tán

Phối hợp giữa các site để xác định lịch biểu

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

Giá việc phối hợp
- Lai
• Một site xác định lịch biểu tổng thể
• Mỗi site tối ưu các truy vấn con chung

Topo mạng

10













WAN-điểm-điểm
Các đặc tính
 Băng thông hẹp
 Tốc độ chậm
 Tổng phí lớn
Giá thành truyền thông chiếm ưu thế: bỏ qua mọi yếu tố giá thành khác
Lịch biểu tối thiểu hóa giá thành truyền thông
Các lịch biểu cục bộ phụ thuộc vào tối ưu hóa truy vấn trung tâm
LAN
Giá truyền thông ko chiếm ưu thế
Hàm giá tổng thể có thể được xem xét
Quảng bá có thể được thám hiểm(join)
Giải thuật đặc biệt tồn tại cho mạng star

METHODOLOGY TIếN TRÌNH TRUY VấN PHÂN TÁN
Truy vấn tính toán trên các quan hệ phân tán->(site điều khiển)->Truy vấn phân đoạn
được tối ưu hóa với các thao tác truyền thông->(các site cục bô)->Các truy vấn cục bộ
tối ưu hóa
Site điều khiển :
Lược đồ tổng thê(phân rã truy vấn)->truy vấn đại số trên các quan hệ phân tán->lược đồ
phân đoạn(định vị dữ liệu)->phân đoạn truy vấn->thống kê trên phân đoạn(tối ưu hóa
tổng thể)-> truy vấn phân đoạn được tối ưu hóa với các thao tác truyền thông
Các site cục bộ :
->Lược đồ cục bộ(Tối ưu hóa cục bộ)-> Các truy vấn cục bộ tối ưu hóa

XEM SƠ ĐỒ DƯỚI


11


Bước 1: Phân rã truy vấn
Đầu vào: truy vấn tính toán trên quan hệ tổng thể
- Chuẩn hóa
• Vận dụng định lượng và phân loại truy vấn
- Phân tích
• Phát hiện và loại bỏ các truy vấn “ko đúng”
• Chỉ có thể cho một tập con của tính toán quan hệ
- Đơn giản hóa
• Loại bỏ các vị từ thừa
- Tái cấu trúc
• Truy vấn tính toán->truy vấn đại số
• Có thể dịch nhiều hơn 1
• Sử dụng các luật chuyển(nêu ở trên)

12


Tái cấu trúc

Tái cấu trúc-Các luật chuyển

13


Ví dụ

Truy vấn tương đương


14


Tái cấu trúc
Bước 2: Định vị dữ liệu
Đầu vào: truy vấn đại số trên các quan hệ phân tán
- Xác định phân đoạn nào bị liên quan
- Chương trình tối ưu hóa
• Thay thế cho mỗi truy vấn tổng thể chương trình vật liệu của nó
• Tối ưu hóa

15


Ví dụ:

Cung cấp cơ chế song song

Loại bỏ các công việc không càn thiết
Bước 3: Tối ưu hóa truy vấn tổng thể
Đầu vào: truy vấn phân đoạn
- Tìm lịch biểu tổng thể tốt nhất(không chắc đã tối ưu nhất)
• Tối thiểu hóa hàm giá
16








Xử lý join phân tán
Các cây Bushy và tuyến tính
Quan hệ nào, xếp(ship) đến đâu
Xếp toàn bộ và xếp khi cần
Quyết định sử dụng các semijoin
Semijoin tiết kiệm truyền thông với nhiều xử lý cục bộ hơn
Các phương pháp join
Vòng lồng và join thứ tự( join móc nối hay băm)

1/ Tối thiểu hóa giá thành:
- Không gian giải phap
- Hàm giá (về thời gian)
Giá IO+Giá CPU+Giá truyền thông
Có thể có các tham số khác nhau trong các môi trường phân tán khác nhau(LAN
và WAN)
Cũng có thể cực đại hóa thông lượng
- Giải thuật tìm kiếm
Chuyển trong không gian giai phap thế nào
Tìm kiếm , các giải thuật heuristics( iterative improvement, simulated
annealing,genetics..)

2/Xử lý tối ưu tìm kiếm(QEP=kế hoạch vận hành truy vấn=Query Execution Plan)

17


Truy vấn đàu vào->Chuyển đổi các luật (phát sinh không gian tìm kiếm)->QEP tương
đương->Mô hình giá(chiến lược tìm kiếm)->QEP tốt nhất

- Không gian tìm kiếm
• Không gian tìm kiếm được đặc trưng bởi các kế hoạch vận hành xen kẽ
• Tập trung vào các cây join
• Với N quan hệ (có O(N!) ) các cây join tương đương có thể có được bằng cách áp
dụng các luật truyền thông và liên hiệp
SELECT ename,resp
FROM emp,asg,proj
WHERE emp.eno=asg.eno
AND asg.pno=proj.pno



Không gian tìm kiếm(tiêp)
Bởi tính nghiêm ngặt của heuristic: thực hiện các thao tác unary trước các thao tác
nhị phân
Bởi tính nghiêm ngặt của cây join: chỉ xem cây tuyến tính (mỗi lần thêm một nút
vào cây), bỏ qua cây bushy(nhóm hai riêng rẽ các nut thành nút mới)

Chiến luoc tìm kiếm: Làm sao chuyển trong không gian tim kiếm
• Xác định
o Bắt đầu từ các quan hệ cơ sở và xây dựng các kế hoach bằng cách thêm
mỗi quan hệ ở mỗi bước
o Lập trình động: tìm kiếm lân cận trước hết
o Geedy: tìm kiếm sâu trước hết


Ngẫu nhiên
o Tìm kiếm để tối ưu quanh một điểm bắt đầu riêng
o Cân nhắc tối ưu thời gian vận hành
o Tốt hơn khi >5-6 quan hệ

o Sự tôi luyện được mô phỏng
o Hoàn thiện giao tiếp

Các chiến lược tìm kiếm
- Xác định: Nhặt quan hệ R1,R2->buoc sau nhặt tiếp R3 để tìm với kết quả trước
->buoc sau nhặt R4 với kết_quả(kết_quả(R1,R2),R3)
- Ngẫu nhiên kết_quả(kết_quả(R1,R2),R3)=> kết_quả(kết_quả(R1,R3),R2)
Các hàm giá

18


-

Thời gian tổng
o Giảm các thành phần thời gian riêng rẽ
o Làm mỗi giá nhỏ nhất có thể
o Tối ưu hóa sử dụng tài nguyên-> tăng thông lượng hệ thống
- Thời gian đáp ứng
o Làm song song nhiều nhất có thể
o Có thể tăng thời gian tổng thể do hoạt động tổng the tăng
- Giá tổng cộng
o Tổng mọi yếu tố giá thành= CPU+IO+truyền thông
o Giá CPU=giá 1 chỉ thi* số chỉ thị
o Giá IO=giá đơn vị đĩa* số đơn vị
Giá truyền thông= = thời gian thông điệp*số thông điệp nối tiêp+ thời gian
truyền*số byte nối tiếp
Các yếu tố giá
- WAN
Giá kdong thông điệp và truyền cao

Giá xử lý cục bộ thấp(các máy tính lớn và mini)
Tỉ lệ truyền thông trên giá IO=20:1
- LAN
Giá Truyền thông và xử lý cục bộ có thể xấp xỉ
Tỉ lệ chừng 1:1.6
Ví dụ

19


Trật tự join
- Luân phiên
• Trật tự các join
• Trật tự các semijoin
- Chỉ xem xét 2 quan hệ
If size(R)R

R
If size(R)>size(S)




Nhiều quan hệ sẽ khó khăn hơn do nhiều xen kẽ
Tính toán giá mọi luân phiên và chọn luân phiên tốt nhất
 Sự cần tính toán kích thước các quan hệ trung gian là khó khăn
Sử dụng heuristic

20



21


Kết nối (kí hiệu IXI) Bán kết nối ký hiệu (IX hay XI) Nếu R IX S thì chỉ tập con của R
thôi. Khác R IXI S thì mọi bộ thuộc R và S

Exhaustive(a): hết mọi khía cạnh, thấu đáo, toàn diện

22


23


24


Bước 4: Tối ưu hóa cục bộ
Đầu vào: lịch biểu vận hành tổng thể tốt nhất
• Chọn đường truy nhập(assess path) tốt nhất
• Sử dụng các kỹ thuật tối ưu hóa trung tâm
• ???

3.1.2 Trường hợp nghiên cứu: Oracle
(xem Distributed Database autum_chapter..pdf +++ xu ly phan tan va song song.pdf
xu ly phan tan va song song.pdf + H:\oracle-baigiang\2010\ppt\baigiang truong
codex\ ch14[1]Query Optimization.ppt )
Quan tâm đến các vấn đề(1/Tối ưu hóa truy vấn=sắp xếp các điều kiện truy vấn phù

hợp trong câu lệnh SQL_thao tác nào trước_ 2/Tổ chức dữ liệu để tìm kiếm nhanh=lập
chỉ mục 3/Tối ưu hóa không gian lưu trữ=TableSpace,extension)
 Vấn đề/các dạng câu hỏi/cấu trúc câu hỏi

Distributed Query Optimization
Distributed query optimization là một đặc điểm của Oracle Database nhằm giảm nhỏ
tổng số dữ liệu truyền yêu cầu giữa các site khi lấy dữ liệu giao dịch từ các bảng ở xa
được tchieu trong câu lênh SQL phân tán.
25


×