ĐỒ án tìm HIỂU XỬ LÝ TRUY VẤN TRONG CSDL PHÂN TÁN

68 31 0
ĐỒ án tìm HIỂU XỬ LÝ TRUY VẤN TRONG CSDL PHÂN TÁN

Đ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

Mục lục CHƯƠNG TỔNG QUAN VỀ CSDL PHÂN TÁN 1.1 Sơ lược mạng máy tính 1.2 Các hình thức tổ chức hệ thống phân tán 1.3 Các đặc trưng loại hình hệ thống phân tán 1.4 Cơ sở liệu phân tán (Distributed Database) 1.5 Các loại truy xuất CSDL phân tán 11 Câu hỏi cuối chương 13 CHƯƠNG CÁC MỨC TRONG SUỐT TRONG CSDL PHÂN TÁN 14 2.1 Kiến trúc CSDL phân tán 14 2.2 Các đặc điểm hệ phân tán 16 2.3 Trong suốt phân tán 18 Câu hỏi tập cuối chương 21 CHƯƠNG 3: THIẾT KẾ CSDL PHÂN TÁN 22 3.1 Nội dung thiết kế hệ thống phân tán 22 3.2 Các chiến lược phân tán liệu 23 3.3 Phương pháp thiết kế CSDL phân tán 24 3.4 Phân mảnh liệu 27 3.5 Cấp phát tài nguyên hệ phân tán 32 Bài tập 34 CHƯƠNG 4: XỬ LÝ TRUY VẤN TRONG CSDL PHÂN TÁN 37 4.1 Giới thiệu xử lý truy vấn 37 4.2 Xử lý truy vấn môi trường tập trung 37 4.3 Xử lý truy vấn môi trường phân tán 42 4.4 Tối ưu hóa truy vấn CSDL phân tán 58 Câu hỏi cuối chương 65 CHƯƠNG TỔNG QUAN VỀ CSDL PHÂN TÁN Tại phải phân tán? - Phân tán gì? • Nhu cầu dùng chung liệu hợp • Các tổ chức kinh tế có nhiều trụ sở phân tán nhiều vị trí địa lý khác • Làm để quản lý luồng liệu sử dụng chung liệu, chương trình tổ chức • Một hệ thống phân tán bao gồm hai phần: mạng máy tính CSDL phân tán 1.1 Sơ lược mạng máy tính • Một mạng máy tính tập máy tính tự vận hành, kết nối lại có khả trao đổi thơng tin chúng • Các máy tính mạng thường gọi nút hay trạm, chúng tạo phần cứng mạng kết nối lại với đường truyền • Một mạng máy tính trường hợp đặc biệt môi trường xử lý phân tán, máy tính thiết bị kết nối vào kênh truyền liệu Những loại mạng máy tính a Mạng star (hình sao) Trong cấu trúc mạng star máy tính nối cáp vào thiết bị đấu nối trung tâm (Hup Switch) Tín hiệu truyền từ máy tính gửi liệu qua Hub (tín hiệu khuyếch đại) truyền đến tất máy tính mạng Hub/Switch Hình : Cấu trúc mạng Star * Ưu điểm: - Cấu trúc Star cung cấp chế độ quản lý tập trung Khi đoạn cáp bị hỏng ảnh hưởng đến máy dùng đoạn cáp mạng hoạt động bình thường - Mạng mở rộng thu hẹp cách dễ dàng * Nhược điểm: - Do máy tính phải nối vào trung tâm điểm nên cấu trúc đòi hỏi phải nhiều cáp phải tính tốn đặt vị trí thiết bị trung tâm - Khi thiết bị trung tâm bị hỏng tồn hệ thơng mạng ngừng hoạt động b Mạng vịng (circle) • Các máy tính nối với theo vịng khép kín • Mỗi trạm đóng vai trị chuyển tiếp • Truyền liệu quanh vịng thường theo chiều • Việc điều khiển truyền tin mạng xoay vòng thường thực thẻ điều khiển * Nhược điểm: - Nếu đường nối bị cắt đứt làm ngừng tồn hoạt động mạng - Lượng thông tin di chuyển đường truyền lớn c Mạng bus: • Có kênh chung để chuyền liệu, máy tính thiết bị đầu cuối gắn vào d Mạng hỗn hợp (hybrid): • Các mạng truyền thơng thường có đường nối vơ định • Các đường nối khơng có tính hệ thống khơng tn theo khn mẫu • Có thể gặp nút nối với nút khác nút nối với nhiều nút khác • Các nối kết máy tính mạng Internet thuộc loại e Mạng thảm (Mesh): • Mỗi nút nối kết với nút cịn lại • Có độ tin cậy cao khả hoạt động tốt cấu trúc nói • Cấu trúc có chi phí cao 1.2 Các hình thức tổ chức hệ thống phân tán a peer-to-peer (mơ hình nhóm làm việc): - Các máy tính cá nhân máy trạm sử dụng hệ thống độc lập trợ giúp ứng dụng địa phương - Mỗi thành viên mạng có vai trị ngang nhau, tự quản lý tài ngun chia sẻ tài nguyên cho máy tính khác mạng - Mỗi máy tính mạng vừa đóng vai trị máy chủ (Server), vừa đóng vai trị máy khách (Client) - Đây mơ hình mạng đơn giản, phù hợp với hệ thống mạng nhỏ yêu cầu cao bảo mật b File server (máy dịch vụ file): - File server Một số máy dịch vụ file gán trực tiếp vào mạng LAN - File server thiết bị quản lý hoạt động file phục vụ máy tính cá nhân kết nối mạng LAN - Mỗi máy cá nhân phân chia dung lượng cố định ổ cứng File server, chương trình máy tính cá nhân tham chiếu đến file phần đĩa tương ứng đặc tả đường dẫn - Những hạn chế File server • Dữ liệu di chuyển mạng nhiều • Việc kiểm sốt liệu phi tập trung • Các máy trạm phải đủ mạnh c Client/server (mơ hình khách/chủ) Một số máy dịch vụ file gán trực tiếp vào mạng LAN - Server có chức điều khiển, lưu trữ CSDL, xử lý truy vấn quản lý việc khai thác tài nguyên mạng máy tính khác - Thuật ngữ client sử dụng để người khai thác tài nguyên mạng 1.3 Các đặc trưng loại hình hệ thống phân tán Việc chuyển ứng dụng máy tính cá nhân ứng dụng hệ thống máy lớn trung tâm sang mơ hình phân tán xu hướng phát triển mạnh Vấn đề đặt là, cần lựa chọn hình thức phân tán thích hợp cho mơ hình chuyển đổi 1.3.1 Đặc trưng hệ thống File server kiến trúc Client/Server Đặc trưng File Server Chỉ máy khách Xử lý Client/Server Cả máy khách máy chủ Truy nhập liệu Thấp, máy khách th.hiện đồng thời Cao, Server đảm nhiệm An toàn toàn vẹn Thấp, máy khách quản lý CSDL Cao, Server đảm nhiệm Sử dụng mạng File lớn, chuyển file Truyền liệu nhiều mức Bảo trì phần mềm Thấp, máy Server Hỗn hợp số phần mềm gửi đến máy khách Phần cứng hệ Ghép nối máy khách Server để phối hợp thống Ghép nối máy khách Server để phối hợp Sự mềm dẻo phần mềm 1.3.2 Các chức kiến trúc client/server 1.3.2.1 Trình diễn thơng tin phân tán Mục đích: làm ứng dụng máy khách để định dạng lại liệu server quản lý Chức Client Server Quản lý liệu Quản lý liệu Phân tích liệu Phân tích liệu Trình diễn liệu Dữ liệu trình diễn Sử dụng cơng nghệ trình server định dạng để diễn server để gửi trình diễn cho clients liệu gửi cho clients 1.3.2.2 Trình diễn từ xa Mục đích: giúp USERS thay đổi biểu mẫu, báo cáo nội dung cần bảo trì phần mềm máy khách Kiểu trình diễn cài đặt chức trình diễn liệu clients, nên phần mềm client có khả trình diễn liệu định dạng theo ý client Chức Client Server Quản lý liệu Quản lý liệu Phân tích liệu Phân tích liệu Trình diễn liệu Dữ liệu phân tích server định dạng để trình diễn cho người dùng 1.3.2.3 Quản lý liệu từ xa Mục đích: giúp client phân tích liệu thơ lấy từ Server Chức Client Server Quản lý liệu Quản lý liệu Phân tích liệu Dữ liệu thơ lấy từ server phân tích Trình diễn liệu Trình diễn tất liệu 1.3.2.4 Phân tán chức • Các chức phân tán đặt máy khách lẫn máy chủ • Tồn chức trình diễn liệu đặt máy khách toàn chức quản lý liệu đặt máy chủ Chức Client Server Quản lý liệu Quản lý liệu Phân tích liệu Các liệu lấy phân tích từ server Trình diễn liệu Tất liệu (được phân tích server clients) Các liệu lấy phân tích từ server sau truyền cho clients 1.4 Cơ sở liệu phân tán (Distributed Database) 1.4.1 Định nghĩa: Một sở liệu (CSDL) phân tán tập hợp liệu, mà mặt logic tập hợp thuộc hệ thống, mặt vật lý liệu phân tán vị trí khác mạng máy tính Có hai điểm quan trọng nêu định nghĩa: Phân tán: Dữ liệu khơng cư trú vị trí mà phân bố rộng khắp nhiều máy tính đặt nhiều vị trí khác nhau, điểm phân biệt sở liệu phân tán với sở liệu tập trung Tương quan logic: Dữ liệu hệ phân tán có số thuộc tính ràng buộc chúng với Điều giúp phân biệt sở liệu phân tán với tập hợp sở liệu tập trung, file liệu lưu trữ nhiều vị trí khác nhau, điều thường thấy ứng dụng mà hệ thống phân quyền truy nhập liệu mơi trường mạng Ví dụ: - Một ngân hàng có ba chi nhánh đặt vị trí khác - Tại chi nhánh có máy tính điều khiển số máy kế tốn cuối (teller terminal) sở liệu thống kê chi nhánh - Mỗi máy tính với sở liệu thống kê địa phương chi nhánh đặt vị trí sở liệu phân tán Các máy tính nối với mạng truyền thông Các nút mạng phân tán mặt xử lý thơng tin vị trí mà quản lý, mặt khác tham gia vào việc xử lý yêu cầu thông tin cần truy cập qua nhiều địa điểm Ví dụ việc lên danh sách tất nhân viên ngân hàng Yêu cầu đòi hỏi tất máy tính chi nhánh công ty phải hoạt động để cung cấp thông tin 1.4.2 Hệ quản trị sở liệu phân tán (DDBMSs) DDBMS có chức hỗ trợ việc tạo bảo trì sở liệu phân tán, chúng có thành phần tương tự hệ quản trị sở liệu tập trung thành phần hỗ trợ việc chuyển tải liệu đến trạm ngược lại Các thành phần sau địi hỏi DDBMSs thương mại phải có: - Quản trị liệu (Database management): DB - Truyền thông liệu (Data Communication): DC - Từ điển liệu (Data Dictionary): DD dùng để mô tả thông tin phân tán liệu mạng - Cơ sở liệu phân tán (Distributed Database): DDB 1.4.3 So sánh CSDL phân tán CSDL tập trung CSDL phân tán không đơn giản thực phân tán CSDL tập trung, chúng cho phép thiết kế đặc trưng khác với CSDL tập trung truyền thống Các đặc điểm tiêu biểu CSDL truyền thống: • điều khiển tập trung • độc lập liệu • giảm dư thừa • biệt lập bảo mật liệu a Điều khiển tập trung Trong CSDL tập trung: Khả điều khiển tập trung tồn nguồn tài ngun thơng tin tổ chức, xem động mạnh cho việc đời CSDL Chúng phát triển tiến hố hệ thống thơng tin, mà ứng dụng có tập tin riêng Trong CSDL phân tán, ý niệm điều khiển tập trung nhấn mạnh Điều phụ thuộc vào kiến trúc CSDL phân tán Một cách tổng quát, CSDL phân tán điều khiển với cấu trúc phân lớp dựa vào hệ quản trị CSDL toàn cục (có trách nhiệm tồn CSDL phân tán) hệ quản trị CSDL địa phương (có trách nhiệm với CSDL địa phương riêng) b Độc lập liệu Độc lập liệu động lực cho việc mở đầu tiếp cận liệu phân tán Thuận lợi độc lập liệu chương trình khơng bị ảnh hưởng thay đổi cấu trúc vật lý liệu Trong CSDL phân tán, độc lập liệu quan trọng giống CSDL truyền thống Tuy nhiên, khía cạnh thêm vào ý niệm độc lập liệu suốt phân tán Với suốt phân tán hiểu chương trình ứng dụng sử dụng CSDL khơng tổ chức phân tán Vì xác chương trình khơng bị ảnh hưởng việc dịch chuyển liệu từ trạm đến trạm khác Tuy nhiên, tốc độ thực chúng bị ảnh hưởng c Giảm dư thừa liệu Trong CSDL truyền thống, liệu dư thừa giảm đến mức tối thiểu hai lý do: • Sự khơng tương thích nhiều tập liệu • Tiết kiệm không gian lưu trữ cách loại bỏ dư thừa Việc giảm dư thừa liệu đạt cách chia sẻ liệu, cho phép nhiều ứng dụng truy cập tin ghi Trong CSDL phân tán, việc giảm dư thừa phức tạp ngồi hai lý trên, nhiều lý để giảm dư thừa như: • Hoạt động trình ứng dụng bị tăng lên liệu lại tất vị trí, nơi trình ứng dụng cần • Tính thường trực hệ thống tăng lên, có lổi xẩy trạm khơng dừng việc thực ứng dụng trạm khác liệu chép lại d Biệt lập bảo mật 10 G1=σMANV≤”E3”(G) G2=σMANV>”E3”(G) Nhận xét: •E1 G1 định nghĩa tân từ •Tân từ định nghĩa G2 hợp định nghĩa tân từ E2 E3 Xét truy vấn SELECT FROM WHERE * E, G E.MANV=G.MANV Hình 4.8: Sự rút gọn phân mảnh ngang với phép nối 4.3.2.2 Rút gọn theo phân mảnh dọc • Chức việc phân mảnh dọc tách quan hệ dựa vào thuộc tính phép chiếu • Vì phép tốn xây dựng lại phân mảnh dọc nối, nên chương trình định vị quan hệ phân mảnh dọc nối mảnh vùng thuộc tính chung Ví dụ: Quan hệ E phân mảnh dọc thành E1, E2, với thuộc tính khố MANV lặp lại sau: E1 = Π MANV,TENNV(E) E2 = ΠMANV,CHUCVU(E) Chương trình định vị là: E = E1 MANV E2 • Các truy vấn phân mảnh dọc rút gọn cách xác định quan hệ trung gian vơ ích loại bỏ chứa chúng 54 • Các phép chiếu phân mảnh dọc khơng có thuộc tính chung với thuộc tính chiếu (ngoại trừ khóa quan hệ) vơ ích, quan hệ khác rỗng Luật 3: ΠD,K(Ri) vô ích D∩A’=φ Trong đó, quan hệ R xác định A={A1, ,An}; R = ΠA’(R), A’⊆A , K khoá quan hệ, K⊂A, D tập thuộc tính chiếu, D ⊂ A Ví dụ: Với quan hệ E phân mảnh dọc sau: E1 = P MANV,TENNV(E) E2 = PMANV,CHUCVU(E) Xét truy vấn SQL: SELECT FROM TENNV E Π TENNV Π TENNV MANV E1 E1 E2 (a) Truy vấn ban đầu (b) Truy vấn rút gọn Hình 4.9: Rút gọn việc phân mảnh dọc Nhận xét: phép chiếu E2 vô ích TENNV khơng có E2, nên phép chiếu cần gán vào E1 4.3.2.3 Rút gọn theo phân mảnh gián tiếp • Sự phân mảnh ngang gián tiếp cách tách hai quan hệ để việc xử lý nối phép chọn phép nối • Nếu quan hệ R phụ thuộc vào phân mảnh ngang gián tiếp nhờ quan hệ S, mảnh R S, mà có giá trị thuộc tính nối, định vị trạm Ngồi ra, S phân mảnh tùy thuộc vào tân từ chọn • Khi R đặt tuỳ theo S, phân mảnh gián tiếp nên sử dụng mối quan hệ nhiều từ S R (với S phù hợp với n R, Nhưng với R phù hợp với S) • Truy vấn phân mảnh gián tiếp rút gọn được, tân từ phân mảnh mâu thuẫn phép nối đưa quan hệ rỗng 55 • Chương trình định vị quan hệ phân mảnh ngang gián tiếp hợp mảnh Ví dụ: Cho mối quan hệ nhiều từ E đến G, quan hệ G (MANV, MADA, NHIEMVU, THOIGIAN) phân mảnh gián luật sau: G1 = G MANV E1 G2 = G MANV E2 Trong E phân mảnh ngang sau: E1= σCHUCVU=”Lập trình”(E) E2= σCHUCVU≠”Lập trình”(E) Chương trình định vị cho quan hệ phân mảnh gián tiếp hợp mảnh G=G1∪G2 Để rút gọn truy vấn phân mảnh gián tiếp này, phép nối đưa quan hệ rỗng tân từ phân mảnh mâu thuẫn Ví dụ tân từ G1 E2 mâu thuẫn nhau, nên G1 Ví dụ: Xét truy vấn SELECT * FROM E, G WHERE G.MANV=E.MANV AND CHUCVU=”KS khí” 56 E2 =φ Rút gọn phân mảnh gián tiếp Nhận xét: • Truy vấn ban đầu mảnh E1, E2, G1 G2 tương ứng hình 4.10a • Bằng cách đẩy phép chọn xuống mảnh E1 E2, truy vấn rút gọn hình 4.10b • Phân phối phép nối với phép hợp, thu hình 4.10c • Cây bên trái đưa quan hệ rỗng, nên rút gọn có hình 4.10d 4.3.2.4 Rút gọn theo phân mảnh hỗn hợp • Sự phân mảnh hỗn hợp kết hợp phân dọc phân mảnh ngang • Mục đích phân mảnh hỗn hợp hỗ trợ truy vấn liên quan đến phép chiếu, phép chọn, phép nối • Chương trình định vị cho quan hệ phân mảnh hỗn hợp sử dụng phép hợp phép nối mảnh Ví dụ: Xét quan hệ E phân mảnh hỗn hợp sau: E1=σMANV ≤ ”E4”(ΠMANV,TENNV(E)), E2=σMANV > ”E4”(Π MANV,TENNV(E)) E3=Π MANV,CHUCVU(E) Chương trình định vị là: E = (E1 ∪ E2) 57 MANV E3 Các truy vấn mảnh hỗn hợp rút gọn cách kết hợp luật sử dụng phân mảnh ngang nguyên thủy, phân mảnh dọc, phân mảnh ngang gián tiếp, tương ứng sau: Loại bỏ quan hệ rỗng sinh mâu thuẫn phép chọn phân mảnh ngang Loại bỏ quan hệ vô ích sinh phép chiếu phân mảnh dọc Phân phối phép nối với phép hợp để tách loại bỏ phép nối vô ích Ví dụ: Truy vấn SQL minh hoạ việc ứng dụng luật (1), (2) đến phân mảnh dọc_ngang quan hệ E cho thành E1, E2 E3 4.4 Tối ưu hóa truy vấn CSDL phân tán Truy vấn thu từ giai đoạn phân rã định vị liệu thực cách đơn giản việc thêm vào thao tác truyền thơng Việc hốn vị thứ tự phép toán câu truy vấn cung cấp nhiều chiến lược tương đương khác Bài toán xác định truy vấn tối ưu NP-khó Thơng thường tối ưu tìm tìm chiến lược gần tối ưu tránh chiến lược “tồi” Đầu tối ưu lịch trình tối ưu bao gồm truy vấn đại số xác định mảnh phép tốn truyền thơng hỗ trợ việc thực truy vấn trạm Để chọn lựa chiến lược tối ưu nói chung, tối ưu phải xác định chi phí thực câu truy vấn Chi phí thực tổ hợp có trọng số chi phí truyền thơng, chi phí I/O chi phí CPU 58 4.4.1 Mơ hình chi phí tối ưu hóa truy vấn Chi phí chiến lược thực phân tán biểu diễn theo tổng chi phí theo thời gian trả lời • Tổng chi phí tổng tất thành phần chi phí bao gồm chi phí truyền thơng, chi phí I/O chi phí CPU Tuy nhiên, để đơn giản ta bỏ qua chi phí xử lý địa phương (I/O, CPU), coi chi phí truyền thơng trọng yếu • Thời gian trả lời truy vấn thời gian tính từ bắt đầu xử lý đến hồn thành truy vấn Cơng thức chung cho xác định tổng chi phí: Tổng chi phí: tổng tất chi phí CCPU, CI/O CMSG Total_cost= CCPU * #instr + CI/O * #I/OS + CMSG * #msgs + CTR * #bytes Trong đó: Total_cost: tổng chi phí CCPU: chi phí lệnh CPU CI/O: chi phí xuất/nhập đĩa CMSG: chi phí việc khởi đầu nhận thông báo CTR: chi phí truyền đơn vị liệu từ trạm đến tram khác, ta xem CTR số #instr: tổng tất lệnh CPU trạm #I/OS: số lần xuất/nhập đĩa #msgs: số thông báo #bytes: tổng kích thước tất thơng báo Trong công thức: Total_cost= CCPU* #instr + CI/O*#I/OS + CMSG *#msgs + CTR *#bytes • Hai thành phần chi phí đầu (CCPU,CI/O) chi phí địa phương • Hai thành phần chi phí sau (CMSG, CTR) chi phí truyền thơng 59 • Chi phí truyền thơng để chuyển #byte liệu từ trạm đến trạm khác giả thiết hàm tuyến tính theo số #bytes truyền đi, xác định công thức CC(#byte)= CMSG + CTR * bytes Response_time = CCPU * seq_#instr + CI/O * seq_#I/OS +CMSG * seq_#msgs+ + CTR* seq_#bytes Trong đó: seq_#x (x số lệnh CPU, I/O, số thông báo, số byte) số lớn x thực truy vấn cách Response_time: thời gian trả lời truy vấn CCPU: chi phí lệnh CPU CI/O: chi phí xuất/nhập đĩa CMSG: chi phí việc khởi đầu nhận thơng báo CTR: chi phí truyền đơn vị liệu từ trạm đến trạm khác #instr: tổng tất lệnh CPU trạm #I/OS: số lần xuất/nhập đĩa #msgs: số thông báo #bytes: tổng kích thước tất thơng báo Ví dụ: Minh hoạ khác tổng chi phí thời gian trả lời, máy tính trả lời truy vấn trạm với liệu từ trạm 2, có chi phí truyền thông xét Giả sử, CMSG CTR biểu thị theo đơn vị thời gian Tổng chi phí truyền x đơn vị từ trạm đến trạm y đơn vị từ trạm đến trạm là: 60 Total_cost = CMSG + CTR*x + CMSG+ CTR*y = 2CMSG+ CTR* (x+y) Vì việc truyền liệu thực song song nên thời gian trả lời truy vấn Response_time = max{CMSG + CTR* x, CMSG + CTR* y} 4.4.2 Các thống kê liệu • Yếu tố ảnh hưởng đến hiệu suất chiến lược thực thi kích thước quan hệ trung gian sinh trình thực • Khi phép tốn đặt trạm khác, quan hệ trung gian phải truyền mạng • Do để tối thiểu hố khối lượng liệu truyền đi, điều quan tâm đánh giá kích thước kết trung gian phép tốn đại số quan hệ • Đánh giá dựa thông tin thống kê quan hệ sở cơng thức ước tính lực lượng kết phép toán quan hệ Mục đích thống kê liệu: • Xác định kích thước quan hệ trung gian sinh q trình thực câu truy vấn • Xác định chi phí truyền thơng cho đại lượng trung gian Một số ký hiệu Cho quan hệ R xác định tập thuộc tính A={A1, , An} thành R1, R2, , Rr R phân mảnh • length(Ai): độ dài (byte) thuộc tính Ai ,Ai∈R, • card(π πAi(Rj): lực lượng phép chiếu mảnh Rj lên thuộc tính Ai (số giá trị phân biệt thuộc tính Ai) • max(Ai): giá trị cực đại thuộc tính Ai Dom(Ai) • min(Ai): giá trị cực tiểu thuộc tính Ai Dom(Ai) • card(dom(Ai)): lực lượng thuộc tính Ai • card(Ri)): số mảnh Ri Ngoài ra, liệu thống kê bao gồm hệ số chọn phép nối (SFJ) số cặp đại số quan hệ, hệ số SFJ quan hệ R S số thực 1, xác định bởi: 61 • Hệ số SFJ nhỏ phép nối có tính chọn tốt, ngược lại có tính chọn tồi • Các thống kê có lợi để đánh giá kích thước quan hệ trung gian • Kích thước quan hệ trung gian R xác định size(R) = card(R)*length(R) Trong đó, + length(R) độ dài (số byte) R, tính theo độ dài thuộc tính nó, + card(R) số R tính theo cơng thức phần 4.4.3 Lực lượng kết trung gian Phần đưa công thức để ước tính lực lượng kết phép tốn sở đại số quan hệ (phép chọn, phép chiếu, phép tích Decartes, nối, nửa nối, phép hợp phép trừ) Các toán hạng quan hệ ký hiệu R S Hệ số chọn phép toán SFOP, (OP biểu thị phép toán) tỷ lệ toán hạng quan hệ tham gia vào kết phép tốn Ví dụ: • SFJ : hệ số chọn phép nối • SFS : hệ số chọn phép chọn Phép chọn card(σ σ (R)) = SFS(F) * card(R) Trong SFS(F) phụ thuộc vào cơng thức chọn tính sau, với p(Ai), p(Aj) tân từ tương ứng với thuộc tính Ai, Aj 62 Phép chiếu Phép chiếu có khơng loại bỏ sao, xét phép chiếu loại bỏ Lực lượng quan hệ kết phép chiếu tùy ý khó đánh giá xác, tương quan thuộc tính chiếu thường khơng biết Tuy nhiên, có hai trường hợp tầm thường đặc biệt có lợi: • Nếu phép chiếu R thuộc tính đơn A lực lượng tính đơn giản số phép chiếu thực • Nếu thuộc tính chiếu khố R, card(πA(R)) = card(R) card(RìS) = card(R) * card(S) Phộp ni ã Khụng có cách tổng quát để xác định lực lượng phép nối khơng có thơng tin thêm • Cận lực lượng phép nối lực lượng tích Decartes • Tuy nhiên, có số trường hợp xuất thường xuyên việc đánh giá đơn giản: - Nếu với A∈R, B∈S, A khố R, B khố ngồi S, lực lượng kết xấp xỉ là: • card( )= card(R) Với phép nối khác, lực lượng kết là: Phép nửa nối Hệ số chọn phép nửa nối (SFSJ) xấp xỉ là: Công thức phụ thuộc vào thuộc tính A S, nên thường gọi hệ số chọn thuộc tính A S, ký hiệu SFSJ(S.A) hệ số chọn S.A thuộc tính nối khác Vì thế, lực lượng phép nối tính sau: 63 Phép hợp • Rất khó đánh giá số lượng R∪S, giống R S bị loại bỏ phép hợp • Ở đưa cơng thức tính: - cận card(R∪S) card(R)+card(S), - cận card(R∪S) max{card(R),card(S)} (giả sử R S không chứa lặp) Phép trừ Cũng phép hợp đưa cận cận dưới, cận card(R-S) card(R), cận Ví dụ Xét hai quan hệ sở liệu công ty máy tính: E=NHANVIEN (MANV, TENNV, CHUCVU) G=HOSO (MANV, MADA, NHIEMVU, THOIGIAN) Với câu truy vấn “Cho biết tên nhân viên quản lý dự án” Ta có câu truy vấn SQL tương ứng là: SELECT FROM WHERE TENNV E, G E.MANV=G.MANV AND NHIEMVU=”Quản lý” Hai truy vấn đại số tương đương với truy vấn là: Rõ ràng truy vấn (2) tránh khỏi phải tích số E G, nên dùng phép tính tài nguyên truy vấn (1) 64 Câu hỏi cuối chương Mục đích tối ưu hố truy vấn CSDL phân tán Chức tối ưu hoá truy vấn phân tán Các phương pháp xử lý truy vấn Ý tưởng thuật tốn Ingres Ví dụ Sơ đồ phân lớp chung cho cho xử lý truy vấn phân tán Định vị liệu phân tán-Tối ưu hoá cục Viết cơng thức tính tổng chi phí truyền thơng chi phí thời gian trả lời truy vấn Giải thích ký hiệu cho ví dụ Bài tập 1: xét CSDL cơng ty máy tính Viết truy vấn SQL đại số quan hệ để tìm “Tên nhân viên làm việc dự án Bảo trì có lương lớn 2000” Với câu truy vấn làm việc sau: a Sử dụng thuật toán INGRES để đưa truy vấn dạng tối ưu (Mỗi truy vấn thực quan hệ) b Vẽ đồ thị truy vấn c Vẽ đại số quan hệ d Tối ưu hóa truy vấn đại số quan hệ e Viết lại truy vấn SQL đại số quan hệ 65 Giả sử ta có sơ đồ phân mảnh sau: Quan hệ E phân mảnh thành mảnh E1=σMANV ≤ ”E3”(E) E2=σ”E3”< MANV ≤ ”E6”(E) E3=σMANV > ”E6”(E) Quan hệ G phân làm hai mảnh: G1=σMANV≤”E3”(G) G2=σMANV>”E3”(G) a Viết truy vấn SQL để thực phân mảnh quan hệ b Kiểm tra tính đầy đủ, tính tách biệt, tính tái thiết c Giả sử hệ thống cung cấp suốt định vị, không suốt phân đoạn, viết truy vấn để tìm tên nhân viên làm việc dự án Bảo trì Quan hệ E phân mảnh hỗn hợp sau: a Viết truy vấn SQL để thực phân mảnh quan hệ b Kiểm tra tính đầy đủ, tính tách biệt, tính tái thiết - Quan hệ J phân mảnh ngang thành mảnh: J1: Ngân sách > 40.000 J2: 20.000

Ngày đăng: 23/12/2021, 10:26

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan