Tối ưu hóa truy vấn trong cơ sở dữ liệu phân tán

64 5 0
Tối ưu hóa truy vấn trong cơ sở dữ liệu 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 DANH MỤC CHỮ VIẾT TẮT PHẦN MỞ ĐẦU 5 Lý chọn đề tài Phạm vi nghiên cứu ứng dụng Ý nghĩa khoa học Phương pháp nghiên cứu Các kết dự kiến đạt Chương CƠ SỞ DỮ LIỆU PHÂN TÁN 1.1 Khái niệm hệ sở liệu phân tán 1.1.1 Khái niệm 1.1.2 Ưu điểm 1.1.3 Nhược điểm 1.3 1.3.1 Kiến trúc tham chiếu đặc trưng sở liệu phân tán 11 Kiến trúc tham chiếu 11 1.3.2 Các đặc trưng sở liệu phân tán 17 1.4 Các kĩ thuật xây dựng sở liệu phân tán 19 1.4.1 Phân đoạn 19 1.4.2 Nhân liệu 20 1.4.3 Định vị liệu 20 1.5 Hệ quản trị sở liệu phân tán 21 1.6 Kết luận 23 Chương 24 PHƯƠNG PHÁP TỐI ƯU HOÁ XỬ LÝ TRUY VẤN TRONG 24 CƠ SỞ DỮ LIỆU PHÂN TÁN 24 2.1 Các chiến lược tối ưu hóa 24 2.1.1 Đặt vấn đề 24 2.1.2 Mục đích việc xử lý truy vấn 27 2.2 Xử lý truy vấn 28 2.3 Phân rã truy vấn .29 2.3.1 Bước chuẩn hoá 30 2.3.2 Bước phân tích 31 2.3.3 Bước loại bỏ dư thừa 34 2.3.4 2.4 Bước xây dựng lại câu truy vấn 
 35 Cục hoá liệu phân tán 42 2.4.1 Rút gọn cho phân mảnh ngang nguyên thuỷ 42 2.4.2 Rút gọn cho phân mảnh dọc .45 2.4.3 Rút gọn cho phân mảnh dẫn xuất .46 2.4.4 Rút gọn phân mảnh hỗn hợp 46 2.5 Thuật toán System R* 50 Chương 54 CÀI ĐẶT THỬ NGHIỆM THUẬT TOÁN 54 3.1 Xác định toán thử nghiệm 54 3.2 Cài đặt thử nghiệm phương pháp tối ưu truy vấn 54 3.2.1 Cấu trúc CSDL 54 3.2.2 Xây dựng ứng dụng .56 3.2.3 Thử nghiệm .57 3.2.4 Thử nghiệm .60 3.3 So sánh phân tích kết thực nghiệm 62 3.4 Kết luận 62 TỔNG QUAN CHUNG 63 TÀI LIỆU THAM KHẢO 64 DANH MỤC CHỮ VIẾT TẮT CSDL Cơ sở liệu CSDLPT Cơ sở liệu phân tán CSDLTT Cơ sở liệu tập trung DBMS Database management system QTCSDL Quản trị sở liệu CNTT Công nghệ thông tin Lời cảm ơn:Trong trình thực đồ án chúng em gặp nhiều khó khăn kiến thức liên quan đến chun ngành Hơm hồn thành xong đồ án tốt nghiệp, em xin chân thành cảm ơn thầy Dương Thăng Long tận tình hướng dẫn, bảo, giúp đỡ chúng em từ lúc bắt đầu thực với nhiều góp ý dẫn việc khảo sát, lập trình, làm rõ yêu cầu đề tài Và cuối cùng, em xin cảm ơn thầy cô Khoa Công nghệ thông tin giảng dạy, cung cấp cho chúng em kiến thức để vận dụng trình thực đồ án tốt nghiệp Hà Nội, ngày 14 tháng 12 năm 2015 Học viên Lê Quang Lâm PHẦN MỞ ĐẦU Lý chọn đề tài Cùng với phát triển xã hội, nhiều tập đồn, xí nghiệp có nhu cầu mở rộng cấu tổ chứ, phát triển phạm vi hoạt động, gia tăng chi nhánh, sở Vì việc thiết kế cài đặt sở liệu phân tán phù hợp với phát triển kinh tế xã hội, đáp ứng nhu cầu truy xuất khai thác liệu Cùng với phát triển công nghệ viễn thông, tin học, động thúc đẩy kinh tế, việc tổ chức trybg tâm máy tính lớn tập trung trở thành vấn đề cần quan tâm Cơ sở liệu phân tán đa, nghiên cứu, phát triển ứng dụng vào thực tế Việc cần làm nghiên cứu sáng tỏ thêm khả ứng dụng thực tiễn sở liệu phân tán Trong hệ phân tán câu truy vấn sử dụng kỹ thuật tối ưu hố làm giảm thời gian tính tốn, khối lượng truyền thông tin trạm giảm không gian nhớ, tránh công việc dư thừa, loại bỏ phần vơ ích Khi khối lượng thơng tin ngày lớn, phong phú đa dạng vấn đề cần đặt xử lý thông tin để giảm chi phí đến mức tối thiểu Vì tơi chọn cho đề tài nghiên cứu “Tối ưu hoá truy vấn sở liệu phân tán” làm luận văn tốt nghiệp Phạm vi nghiên cứu ứng dụng Đề tài nghiên cứu vấn đề sở liệu phân tán, nguyên lý chung, kỹ thuật, thuật toán liên quan đến vấn đề tối ưu hoá truy vấn cài đặt thử nghiệm thuật toán tối ưu truy vấn phân tán Ý nghĩa khoa học Trên sở nghiên cứu mơ hình CSDL phân tán chế truy vấn để xây dựng thuật toán truy vấn tối ưu Những kết dự kiến luận văn góp phần vào việc thiết kế CSDL phân tán phục vụ cho việc truy vấn hiệu Phương pháp nghiên cứu Nghiên cứu lý thuyết CSDL, CSDL phân tán, kỹ thuật truy vấn sách, báo công bố Tổng hợp kết công bố truy vấn tối ưu đề xuất số cải tiến thực tối ưu Các kết dự kiến đạt - Giới thiệu tổng quan CSDL phân tán - Trình bày phương pháp, thuật tốn tối ưu hóa truy vấn phân tán - Cài đặt thử nghiệm thuật toán tối ưu truy vấn phân tán Chương CƠ SỞ DỮ LIỆU PHÂN TÁN Khái niệm hệ sở liệu phân tán 1.1 1.1.1 Khái niệm Một cách trực quan [1], CSDL phân tán loại liệu có liên kết logic với phân bổ vật lý nhiều máy chủ mạng máy tính Khái niệm hệ CSDLPT bao gồm khái niệm CSDL hệ quản trị CSDLPT Định nghĩa nhấn mạnh hai khía cạnh CSDLPT: Tính phân tán: khác với CSDLTT, CSDLPT khơng cư trú trạm Đây tính chất đặc trưng phân biệt CSDLPT CSDLTT Sự tương quan logic: loại liệu có số tính chất ràng buộc lẫn nhau, phân biệt CSDLPT với tập CSDL địa phương với tệp lưu trữ site khác 1.1.2 Ưu điểm - Cải thiện khả chia sẻ - Cải thiện tính sẵn sàng - Cải thiện độ tin cậy - Dữ liệu đặt gần site có nhu cầu truy xuất lớn phân tán phù hợp với yêu cầu toán quản lý - Tốc độ truy cập liệu nhanh người dùng làm việc với tập hợp lưu trữ cục liệu - Xử lý liệu nhanh liệu xử lý địa điểm khác - Việc mở rộng mơ hình thuận lợi site thêm vào mà không làm ảnh hưởng đến hoạt động site khác - Cải thiện tương tác site địa phương nhỏ gần gũi khách hàng - Giảm chi phí điều hành chi phí thêm máy trạm vào hệ thống so với cập nhật hệ thống máy tính lớn - Ít trường hợp thất bại điểm, liệu khối lượng công việc phân bố trạm khác - Bộ vi xử lý độc lập: người dùng cuối truy cập có sẵn liệu 1.1.3 Nhược điểm - Độ phức tạp thiết kế cài đặt hệ thống tăng - Hệ thống phần cứng phức tạp cần có nhiều trạm trạm phải kết nối mạng - Các phần mềm hệ thống đảm bảo quản trị, trì kết nối, trao đổi liệu mạng - Bảo mật khó khăn Ở mức phần cứng vật lý, nhân tố sau để phân biệt hệ cơsở liệu phân tán với hệ sở liệu tập trung: Có nhiều máy tính gọi trạm hay nút - Các trạm phải kết nối kiểu mạng truyền thông để truyền liệu câu lệnh trạm với nhau, hình 1.1 Trong mơ hình liệu tập trung, tài nguyên tập trung máy tính Trong hệ thống sở liệu phân tán, sở liệu chứa nhiều máy tính, máy tính nối với qua hệ thống truyền thông, chúng không chia sẻ nhớ chung không dùng chung đồng hồ Các xử lý hệ thống phân tán có kích cỡ chức khác (chẳng hạn bao gồm vi xử lý, trạm làm việc, máy tính mini, hay máy lớn vạn năng) Trong hệ thống sở liệu phân tán gồm nhiều trạm trạm truy nhập liệu trạm khác 1.2 Sự cần thiết sở liệu phân tán Trong năm gần đây, công nghệ sở liệu phân tán trở thành lĩnh vực quan trọng cơng nghệ thơng tin, tính cần thiết ngày nâng cao Có nhiều nguyên nhân thúc đẩy phát triển hệ CSDLPT: a) Sự phát triển cấu tổ chức Cùng với phát triển cuả xã hội, nhiều quan, xí nghiệp có cấu tổ chức khơng tập trung, hoạt động phân tán phạm vi rộng Vì thiết kế cài đặt sở liệu phân tán phù hợp, đáp ứng nhu cầu truy xuất khai thác liệu Cùng với phát triển công nghệ viễn thông, tin học, động thúc đẩy kinh tế, việc tổ chức trung tâm máy tính lớn tập trung trở thành vấn đề cần nghiên cứu Cơ cấu tổ chức vấn đề kinh tế nguyên nhân quan trọng phát triển sở liệu phân tán b) Giảm chi phí truyền thơng Trong thực tế, sử dụng số ứng dụng mang tính địa phương làm giảm chi phí truyền thơng Bởi vậy, việc tối ưu hố tính địa phương ứng dụng mục tiêu việc thiết kế cài đặt CSDLPT c) Hiệu công việc Sự tồn số hệ thống xử lý điạ phương đạt thông quan việc xử lý song song Vấn đề thích hợp với hệ đa xử lý CSDLPT có thuận lợi phân tích liệu phản ánh điều kiện phụ thuộc ứng dụng, cực đại hố tính địa phương ứng dụng Theo cách tác động qua lại xử lý làm cức tiểu Công việc phân chia xử lý khác tránh tắc nghẽn thông tin mạng truyền thông dịch vụ chung toàn hệ thống Sự phân tán liệu phản ánh hiệu làm tăng tính địa phương ứng dụng d) Độ tin cậy tính sẵn sàng Cách tiếp cận CSDLPT, cho phép truy nhập độ tin cậy tính sẵn sàng cao Tuy nhiên, để đạt mục đích vấn đề khơng đơn giản đòi hỏi kỹ thuật phức tạp Những lỗi xuất CSDLPT xảy nhiều số thành phần cấu thành lớn hơn, ảnh hưởng lỗi ảnh hưởng tới ứng dụng sử dụng site lỗi Sự hỏng hóc tồn hệ thống xảy CSDLPT tập hợp liệu thuộc hệ thống mặt logic phân bố site mạng máy tính Cơng nghệ CSDLPT kết hợp hai vấn đề phân tán hợp nhất: • Phân tán : phân tán liệu site mạng 
 • Hợp : hợp mặt logic liệu phân tán cho chúng xuất với 
người sử dụng giống với CSDL đơn lẻ 
 Công nghệ CSDL phân tán thực phát triển năm gần nhờ phát triển kỹ thuật tính tốn, kỹ thuật truyền thơng mạng máy tính Những ứng dụng xây dựng CSDL phân tán xuất nhiều thị trường bước chứng minh tính ưu việt so với CSDL tập trung 10 Hình 2.8: Rút gọn phân mảnh ngang với phép chọn - Rút gọn với phép kết nối: Phép kết nối thực phân mảnh ngang đơn giản kết nối dựa theo thuộc tính kết nối., cách phân phối kết nối hợp sau loại bỏ kết nối khơng tác dụng Việc phân phối kết nối phép hợp phát biểu sau: ) ∪ )$  ⊳⊲ G = ) ⊳⊲ G ∪ )$ ⊳⊲ G Trongđó,Ri làcácmảnhcủaRvàSlàmộtquanhệ.
Bằng phép biến đổi này, phép hợp di chuyển xuống đại số quan hệ, nên tất phép kết nối mảnh lộ Các phép kết nối vơ dụng xác định lượng từ hố mảnh có mâu thuẫn Giả sử mảnh Ri Rj xác định theo vị từ chọn pi pj quan hệ, quy tắc đơn giản hố phát biểu sau: Quy tắc 2:) ⊳⊲ )$ =∅ ∀x∈Ri , ∀y∈Rj :¬(pi(x) ∧pj(y)) Việc xác định kết nối vơ dụng thực cách xét vị từ mảnh Áp dụng quy tắc cho phép kết nối hai quan hệ cài đặt nối phần song song mảnh Câu truy vấn rút gọn chưa đơn giản câu truy vấn gốc, câu truy vấn gốc có nhiều nối phần, vif vị từ phân mảnh mâu thuẫn Như câu truy vấn rút gọn tốt có nối phần Trường hợp xấu xảy mảnh quan hệ kết nối với mảnh khác quan hệ khác, nghĩa thực phép tích Đề Các hai quan hệ Ưu điểm truy vấn rút gọn theo phép kết nối nối phần thực song song làm giảm thời gian đáp ứng Ví dụ: 2.10: Giả sử quan hệ NHANVIEN(MANV, TENNV, CHUYENNGANH) phân mảnh ngang thành: nmk = w !# nmk nmk$ = w#x !y nmk nmk# = w %y nmk Quan hệ NHANVIENCHUCVU(MANV, MADA, CHUCVU, THOIGIANLAM) phân mảnh sau: 44 nmk`)p`nm = w !# nmk`)p`nm nmk`)p`nm$ = w% # nmk`)p`nm Ta có nmk nmk`)p`nm định nghĩa vị từ MANV “3” = (“3” < MANV < “6”) ∪ (MANV > “6”) Xét câu truy vấn sau: SELECT * FROM NHANVIEN, NHANVIENCHUCVU WHERE NHANVIEN.MANV = NHANVIENCHUCVU.MANV Câu truy vấn rút gọn cách phân phối nối hợp áp dụng quy tắc cài đặt hợp ba nối phần thực song song nmk nmk`)p`nm nmk$ ⊳⊲ nmk`)p`nm nmk# ⊳⊲ nmk`)p`nm ⊳⊲ ∪ Hình 2.9: Rút gọn phân mảnh ngang với phép kết nối 2.4.2 Rút gọn cho phân mảnh dọc Phân mảnh dọc phân tán quan hệ dựa thuộc tính chiếu Vì phép kết nối phép tốn tái xây dựng phân mảnh dọc, chương trình cục hoá cho quan hệ phân mảnh dọc bao gồm kết nối mảnh thuộc tính chung Ví dụ 2.11: Giả sử quan hệ NHANVIEN(MANV, TENNV, CHUYENNGANH) phân dọc thành: nmk = ,; nmk nmk$ = , A~;CA nmk Khi chương trình cục hố cho quan hệ phân mảnh dọc là: nmk = nmk ⊳⊲ nmk$ Cũng phân mảnh ngang, câu truy vấn mảnh dọc rút gọn cách xác định quan hệ trung gian vô dụng loại bỏ 45 sinh chúng Phép chiếu mảnh dọc khơng có thuộc tính chung với thuộc tính chiếu sinh quan hệ vơ dụng khơng rỗng Cho quan hệ R định nghĩa tập thuộc tính  = {1 , 2 , … , c } phân mảnh thành )e = ' ) , M = … K, ' ⊆  Quy tắc phát biểu cách hình thức sau: Quy tắc 3: :,= )e là vơ dụng tập thuộc tính chiếu D khơng nằm A’ Ví dụ 2.12: giả sử nmk = ,; nmk nmk$ = , A~;CA nmk Xét câu truy vấn sau: SELECT TENNV FROM NHANVIEN Bằng cách hoán vị phép chiếu phép kết nối , nghĩa thực phép chiếu thuộc tính MANV TENNV, nhận thấy phép chiếu thuộc tính TENNV quan hệ nmk$ vơ dụng, TENNV khơng phải thuộc tính nmk$ Vì phép chiếu cần thực nmk 2.4.3 Rút gọn cho phân mảnh dẫn xuất Phép kết nối thường xuyên xẩy có chi phí cao Tối ưu hố cách sử dụng phân mảnh ngang nguyên thuỷ quan hệ nối phân mảnh theo thuộc tính nối Trong trường hợp nối hai quan hệ cài đặt hợp nối phần Tuy nhiên phương pháp ngăn cản không cho quan hệ phân mảnh theo phép chọn thuộc tính khác Phân mảnh ngang dẫn xuất phân phối hai quan hệ, cải thiện khả xử lý điểm giao phép chọn phép kết nối Nếu quan hệ R phân mảnh dẫn xuất theo quan hệ S, mảnh R S có giá trị thuộc tính kết nối nằm vị trí Quan hệ S phân mảnh theo vị từ chọn Vì quan hệ R đặt tuỳ chọn theo S đơn giản, giả sử xét phân mảnh dẫn xuất sử dụng cho mối liên hệ nhiều, S tương ứng với n R R khớp với S 2.4.4 Rút gọn phân mảnh hỗn hợp Phân mảnh hỗn hợp bao gồm việc phân mảnh ngang phân mảnh dọc Mục đích phân mảnh hỗn hợp hỗ trợ cách hiệu câu truy vấn có chứa 46 phép chọn, phép chiếu va phép kết nối Chương trình hố cục cho quan hệ phân mảnh hỗn hợp có sử dụng phép hợp kết nối mảnh Điều đáng quan tâm để tối ưu hoá phép toán hay tổ hợp phép tốn ln ln phải trả chi phí cao cho phép tốn khác Ví dụ phân mảnh hỗn hợp dựa phép chiếu chọn làm cho phép chiếu phép chọn hiệu so với phân mảnh ngang phân mảnh dọc 47 Ví dụ 2.13: Phân mảnh hỗn hợp quan hệ NHANVIEN sau nmk =  !E ,; nmk nmk$ =  % E ,; nmk Chương trình cục hố sau nmk = nmk ∪ nmk$  ⊳⊲ nmk# Các truy vấn mảnh hỗn hợp rút gọn cách kết hợp quy tắc phân mảnh ngang nguyên thuỷ, phân mảnh dọc phân mảnh ngang dẫn xuất Các quy tắc tóm tắt sau: Loại bỏ quan hệ rỗng tạo phép chọn mâu thuẫn mảnh ngang Loại bỏ kết nối vô dụng tạo phép chiếu mảnh dọc.
 Phân phối kết nối cho phép hợp nhàm cô lập loại bỏ kết nối vô dụng Ví dụ 2.14: Xét câu truy vấn sau SELECT TENNV FROM NHANVIEN WHERE MANV = “5” ⊳⊲ nmk nmk$ nmk# nmk$ ∪ ⊳⊲ ⊳⊲  }  }  ; ; 48 Hình 2.10: Rút gọn phân mảnh hỗn hợp 49 2.5 Thuật toán System R* Thuật toán System R* (4) thực tìm kiếm tất chiến lược truy vấn chiến lược tốn chi phí System R* thực tối ưu hóa truy vấn tĩnh, đầu vào đại số quan hệ phân tích truy vấn SQL, đầu sơ đồ thực đại số quan hệ "tối ưu" Thuật tốn tối ưu bao gồm hai bước chính:
 - Dự đoán phương pháp truy nhập tới quan hệ đơn tốt dựa giả thiết chọn - Với quan hệ R, đánh giá thứ tự kết nối tốt nhất, R truy nhập trước tiên sử dụng phương pháp truy nhập quan hệ - đơn tốt Có hai thuật tốn để xét phép kết nối Khi kết nối hai quan hệ, quan hệ có đọc trước gọi quan hệ ngồi, quan hệ có tìm thấy tùy theo giá trị có từ quan hệ gọi quan hệ Quyết định quan trọng với phương pháp kết nối xác định hướng truy nhập tới quan hệ rẻ Phương pháp 1, gọi vòng lặp lồng nhau, thực tích hai quan hệ Với quan hệ ngoài, quan hệ thoả mãn giả thiết kết nối gọi để tạo quan hệ kết Nếu không đánh số, với quan hệ lưu trữ theo thứ tự n1, n2bộ ghi, thuật tốn có chi phí n1* n2 Phương pháp 2, gọi kết nối trộn, kết nối hai quan hệ xếp thuộc tính kết nối Nếu kết nối bằng, chi phí việc kết nối hai quan hệ lưu trữ n1và n2bộ ghi n1 + n2 Vì vậy, phương pháp ln chọn có kết nối bằng, quan hệ xếp trước Nếu khơng có quan hệ xếp, chi phí vịng lặp lồng so sánh với chi phí phương pháp trộn + chi phí xếp Chi phí xếp n ghi nlog2n Thuật toán tối ưu hoá System R* (System* QOA), gồm [4]:
 - Chọn phương pháp truy nhập quan hệ đơn tốt tới quan hệ truy vấn.
 - Xét tất hốn vị thứ tự kết nối (có n! hoán vị với n quan hệ) chọn chiến lược truy nhập tốt câu truy vấn Các hoán vị đưa cấu trúc động chiến lược luân phiên 50 51 Thuật toán: Static*-QOA Input: QT = Cây truy vấn với n quan hệ Output: output = chiến lược truy vấn có chi phí tối thiểu begin For each relation Ri ∈ QT For each access path APij.b Rido Compute cost (APij) best APi

Ngày đăng: 29/08/2023, 15:30

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

Tài liệu liên quan