Bài giảng Tối ưu hóa câu hỏi - Vũ Tuyết Trinh
lượt xem 14
download
Bài giảng "Tối ưu hóa câu hỏi" cung cấp cho sinh viên các kiến thức về xử lý câu hỏi truy vấn, tối ưu hóa, kỹ thuật tối ưu hóa, tối ưu hóa logic, tối ưu dựa trên ngữ nghĩa, tính chất của phép toán. Cuối bài giảng có phần bài tạp vận dụng giúp người học ôn tập và củng cố kiến thức đã học. Mời các bạn cùng tham khảo.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Tối ưu hóa câu hỏi - Vũ Tuyết Trinh
- Nhập môn cơ sở dữ liệu Tối ưu hoá câu hỏi Vũ Tuyết Trinh trinhvt@it-hut.edu.vn Bộ môn Các hệ thống thông tin, Khoa Công nghệ thông tin Đại học Bách Khoa Hà Nội Xử lý câu hỏi truy vấn Câu lệnh SQL Phân tích Biểu thức cú pháp ĐSQH Biểu thức (parser) Bộ tối ưu ĐSQH tối ưu (optimizer) Bộ sinh mã (code generator) Chương trình tối ưu Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 1
- Nhập môn cơ sở dữ liệu Tối ưu hoá { Biến đổi biểu thức ĐSQH để tìm 1 biểu thức hiệu quả { Tối ưu dựa trên cấu trúc và nội dung của dữ liệu { Nâng cao hiệu quả thực hiện câu hỏi trên 1 hay nhiều tiêu chí: thời gian, sử dụng bộ nhớ, ... { Lưu ý: z Không nhất thiết phải tìm biểu thức tối ưu nhất z Chú ý tới tài nguyên sử dụng cho tối ưu Kỹ thuật tối ưu hoá { 2 kỹ thuật chính TYPE z Tối ưu llogic i ((rewriting) iti ) z Tối ưu vật lý (access methods) { Mục đích của các kỹ thuật tối ưu z Giảm số bản ghi z Giảm kích thước bản ghi NW { Ví dụ d WAGON WAGON (NW, TYPE, COND, STATION, (NW, TYPE...) CAPACITY, WEIGHT) NT = 4002 TRAIN (NT, NW) TRAIN (NT, NW) Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 2
- Nhập môn cơ sở dữ liệu Nội dung 9 Giới thiệu chung { Tối ưu logic { Tối ưu vật lý { Mô hình giá Tối ưu hoá logic { Sử dụng các phép biến đổi tương đương để tìm ra biểu ể thức ĐSQH tốt ố { Gồm 2 giai đoạn z Biến đổi dựa trên ngữ nghĩa z Biến đổi dựa trên tính chất của các phép toán ĐSQH Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 3
- Nhập môn cơ sở dữ liệu Tối ưu dựa trên ngữ nghĩa { Mục đích: z Dựa trên các ràng buộc dữ liệu để ể xác định các biểu ể thức tương đương z Viết lại câu hỏi trên khung nhìn dựa trên các định nghĩa của khung nhìn { Ví dụ EMPLOYEE (FirstName, LastName, SSN, Birthday, Adrresse, NoDept) DEPARTEMENT (DNO, DName, SSNManager) PROJECT (PNO, PName, PLocation, DNo) WORK-IN (ESSN, PNO, Heures) EMPLOYEE (Name, SSN, Birthday, Adrresse, NoDept) DEPARTEMENT (DNO, DName, SSNManager) PROJECT (PNO, PName, PLocation, DNo) WORK-IN (ESSN, NoProj, Heures) Tên của các nhân viên sinh sau ngày 30/01/70 và làm việc cho dự án "Esprit" Result WORK-IN.ESSN = EMPLOYEE. Name SSN WORK-IN = WORK-IN. PROJECT.PNO NoProj = PNO PNO ESSN=SSN = PROJET PROJECT.PNO “Esprit” PName = “Esprit” EMPLOYEE. > EMPLOYE Birthday > “30/01/70 “30/01/70” Birthday Đồ thị kết nối các quan hệ Đồ thị kết nối các thuộc tính Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 4
- Nhập môn cơ sở dữ liệu Tối ưu dựa trên ngữ nghĩa (2) { Loại bỏ các đồ thị con không liên kết trong đồ thị kết ế nối ố các quan hệ { Kiểm tra mâu thuẫn trong đồ thị kết nối các thuộc tính { Biế đổi câu Biến â hỏi ttương đ đương Tính chất của phép toán ĐSQH A ~ tập các thuộc tính, C ~ biểu thức điều kiện 1. Phép chiếu và phép chọn Π (R) => Π (Π (R) nếu A ⊆ A1 A A A1 σ (R) => σ (σ (R)) nếu C = C1^C2 C C1 C2 2. Tính giao hoán đối với phép chọn và chiếu nếu các thuộc tính của C2 thuộc A1 σ (σ (R)) => σ (σ (R)) Π (σ (R)) => σ (Π (R)) C1 C2 C2 C1 A1 C2 C2 A1 σ (Π (R)) => Π (σ (R)) C1 A2 A2 C1 Π (Π (R)) => Π (R) A1 A2 A1 nếu A1 ⊆ A2 Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 5
- Nhập môn cơ sở dữ liệu Tính chất của phép toán ĐSQH (2) 3. Tính g giao hoán và kết hợp ợp của các p phép p toán ∗, ∩, ∪, −, x R X S => S X R R * S => S * R R ∩ S => S ∩ R R ∪ S => S ∪ R (R X S) X T => R X (S X T) (R ∩ S) ∩ T => R ∩ (S ∩ T) (R ∪ S) ∪ T => R ∪ (S ∪ T) (R * S) * T => R * (S * T) chỉ nếu C1 C2 C1 C2 Attr(C2) ⊆ Attr(S) U Attr(T) Tính chất của phép toán ĐSQH (3) 4. Tính phân phối σ và Π trên các phép toán *, ∩, ∪, -, X Nếu C = (CR ^ CS) và nếu Attr(CR) ⊆ R và Attr(CS) ⊆ S thì : σ (R *JC S) => σ (R) * JC σ (S) C CR CS σ (R X S) => σ (R) X σ (S) C CR CS Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 6
- Nhập môn cơ sở dữ liệu Biến đổi biểu thức ĐSQH T1 R: F1 ∧ F2 ∧ ... Fn ((...(R:F1) : F2 ):...):Fn _________________________________________________________________ T2 ((R[Y]) [ ]) [[Z]] [ ]n u Z⊆Y R[Z] _________________________________________________________________ T3 (R[Y]) :F (X) (R :F(X)) [Y] n u X ⊆ Y (R: F(X)) [Y] (R[X ∪ Y]) : F(X) ) [Y] n u X ⊄ Y _________________________________________________________________ T4 (R(X) x S(Y)) : F(Z) (R(X):F) x S(Y) n u Z ⊆ X (R(X) x S(Y)) : F(Z1)∧ F(Z2) (R(X):F(Z1)) x (S(Y): F(Z2)) n u Z1 ⊆ X và Z2 ⊆ Y _________________________________________________________________ T5 (R ∪ S): F (R:F) ∪ (S:F) _________________________________________________________________ T6 (R - S): F (R:F) - S _________________________________________________________________ T7 (R(X) x S(Y))[Z] R[X ∩ Z] x S[Y ∩ Z] _________________________________________________________________ T8 (R ∪ S) [Z] (R[Z]) ∪ (S[Z]) _________________________________________________________________ Trình tự áp dụng { Khai triển phép lựa chọn dựa trên nhiều điều kiện: T1 { Hoán vị phép chọn với tích đề-các, hợp, trừ: T3, T4, T5, T6 { Hoán vị phép chiếu với tích đề-các, hợp : T2, T7,, T8 { Nhóm các điều kiện chọn bởi T1 và áp dụng T2 để loại các phép chiếu dư thừa Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 7
- Nhập môn cơ sở dữ liệu Bài tập Lựa chọn cách truy nhập dữ liệu { Giả thiết TYPE z TRAIN : có chỉ số ố trên NT z WAGON : có chỉ số trên NW { Thực hiện phép kết NW nối z Lựa chọn 1 giải thuật. WAGON (NW, TYPE...) z Lựa chọn cách truy nhập các quan hệ NT = 4002 TRAIN (NT, NW) Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 8
- Nhập môn cơ sở dữ liệu Relation S Nested-loop-join (NLJ) { Nguyên tắc z Duyệt 1 lần trên quan hệ Matching ngoài R & lặp trên quan hệ trong S Tuple R { Các mở rộng của thuật toán z Tuple-based NLJ, block- based NLJ, index-based NLJ Tuple p R Tuple p S SOURCE SOURCE R S Thực hiện như thế nào? TYPE NW WAGON (NW, TYPE...) NT = 4002 TRAIN (NT, NW) Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 9
- Nhập môn cơ sở dữ liệu Thông tin về các quan hệ { Kích thước của các quan hệ và bản ghi Relation Cardinality Record size WAGON 200000 60 TRAIN 60000 30 TRAFFIC 80000 20 {Thông tin về các thuộc tính Attribute Cardinality Size min -max NW 200000 20 TYPE 200 5 COND 5 15 CAPACITY 400 15 5 -45 NT 2000 10 DATE 8 00 6 {Thông tin về các chỉ số Relation Attributes Unique Type Num of pages WAGON NW Yes Principal 45 WAGON TYPE N No Secondary S d 25 WAGON COND No Secondary 30 WAGON CAPACITY No Secondary 25 TRAIN NT No Principal 18 TRAFFIC NT No Principal 20 TRAFFIC DATE no Principal 40 Relation Cardinality Record size Num. of pages (num of rec./page) (NP’) WAGON 200000 60(100) 1500(375) TRAIN 60000 30 (200) 225(60) TRAFFIC 80000 20 (300) 200(60) Mô hình giá { Chí phí thực hiện câu hỏi phụ thuộc: z đọc/ghi ọ g bộ ộ nhớ ngoài g ((số trang g nhớ)) zKích thước dữ liệu phải xử lý {Chi phí truy nhập dữ liệu zĐọc ghi dữ liệu zxử lý zTruyền y thông gg giữa các trạm làm việc CTA = σ * NBPAGES + τ ∗ NBNUPLETS (+ µ ∗ NBMESSAGES) {Trọng số {σ = trọng số đọc/ghi dữ liệu (ví dụ = 1) {τ = trọng số xử lý của CPU (ví dụ = 1/3) {µ = trọng số truyền dữ liệu Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 10
- Nhập môn cơ sở dữ liệu Tối ưu hoá dựa trên mô hình giá { Mục đích: Chọn phương án thực hiện câu hỏi với chi phí thấp ấ nhất ấ { Nhận xét: z Chi phí cho liệt kê các phương án trả lời câu hỏi z Chi phí cho lượng hoá các phương án theo mô hình giá ¾ Có thể sử dụng các « mẹo » (heuristics) để giảm không gian tìm kiếm của câu hỏi Kết luận { Tối ưu hoá nhằm tìm phương án tốt nhất để th hiện thực hiệ một ột câu â hỏi z Cần lưu ý: chí phí thực hiện tối ưu hoá và chi phí thực hiện câu hỏi { Các kỹ thuật tối ưu z Logic : kiểm tra điều kiện ràng buộc của các thuộc tính/quan hệ và điều kiện lựa chọn trong câu hỏi, biến đổi tương đương các biểu thức ĐSQH z Vật lý : tổ chức vật lý của dữ liệu trên đĩa, mô hình giá ¾ Không nhất thiết phải áp dụng tất cả các kỹ thuật trên khi thực hiện tối ưu hoá 1 câu hỏi Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 11
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng môn Lắp ráp và cài đặt máy tính - Bài 5. BIOS VÀ CMOS - Trường CĐ nghề CNTT iSPACE
10 p | 700 | 231
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 5 - Phạm Thị Bạch Huệ
13 p | 186 | 17
-
PHẦN II TRÍ TUỆ NHÂN TẠO NHƯ LÀ BIỂU DIỄN VÀ TÌM KIẾM
17 p | 122 | 13
-
Bài giảng Cơ sở dữ liệu: Bài 8 - ĐH CNTT
14 p | 100 | 10
-
Bài giảng Cơ sở dữ liệu: Chương 9 - TS. Nguyễn Quốc Tuấn
12 p | 65 | 7
-
Bài giảng Lý thuyết ngôn ngữ lập trình: Chương 6 - CĐ CNTT Hữu nghị Việt Hàn
13 p | 91 | 6
-
Bài giảng Cơ sở dữ liệu: Chương 6 - Hoàng Thị Hà
18 p | 28 | 5
-
Bài giảng Cơ sở dữ liệu: Giới thiệu môn học - Nguyễn Hồng Phương
2 p | 42 | 5
-
Cấu hình và tối ưu hoá cài đặt máy chủ cơ sở dữ liệu Mysql với MysqlTuner
3 p | 111 | 4
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 0 - Nguyễn Trường Sơn
11 p | 35 | 4
-
Bài giảng Cơ sở dữ liệu: Chương 5 - Nguyễn Hồng Phương
4 p | 35 | 4
-
Bài giảng Nhập môn cơ sở dữ liệu: Chương 6 - Vũ Tuyết Trinh
11 p | 65 | 2
-
Bài giảng Cơ sở dữ liệu: Bài 8 - Trung tâm Athena
14 p | 36 | 2
-
Bài giảng Ôn tập Hệ CSDL
19 p | 89 | 2
-
Bài giảng Tích hợp dữ liệu và XML - Chương 1: Tổng quan Tích hợp dữ liệu
5 p | 9 | 1
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn