Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 28 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
28
Dung lượng
1,01 MB
Nội dung
1 ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VŨ ĐỨC MẠNH MỘT SỐ THUẬT TỐN TỐI ƢU HĨA TRUY VẤN TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái Ngun - 2016 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THƠNG VŨ ĐỨC MẠNH MỘT SỐ THUẬT TỐN TỐI ƢU HÓA TRUY VẤN TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH Mã số: 60480101 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC PGS TS ĐOÀN VĂN BAN Thái Nguyên - 2016 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn MỞ ĐẦU Sở Giáo dục Đào tạo (GD&ĐT) tỉnh Yên Bái quản lý trực tiếp phòng Giáo dục Đào tạo, 24 trường Trung học phổ thông, trung tâm, trường chuyên nghiệp, với đội ngũ cán quản lý, giáo viên nhân viên lên tới hàng trăm nghìn người Hiện tất đơn vị sử dụng mạng internet Do năm học, việc thống kê tình hình nhân Sở GD&ĐT đơn vị thực cố định theo định kì đầu, cuối năm học, mà liệu nhân ln thay đổi, nên khó khăn việc cập nhật liệu thường xun nên mơ hình sở tập trung gặp khó khăn vấn đề máy chủ, băng thơng đường truyền, tính sẵn sàng hệ thống Xuất phát từ thực tế nhu cầu công việc, tơi nhận thấy ứng dụng sở liệu phân tán để giải khó khăn trên; tơi chọn nghiên cứu đề tài "Một số thuật tốn tối ưu hóa truy vấn sở liệu phân tán” làm luận văn tốt nghiệp Luận văn gồm có chương: Chương trình bày khái quát sở liệu phân tán, tìm hiểu phương pháp thiết kế sở liệu phân tán, tập trung nghiên cứu kỹ thuật phân mảnh: phân mảnh ngang, phân mảnh dọc phân mảnh hỗn hợp Chương trình bày chi tiết bước quy trình xử lý câu truy vấn; trình bày thuật tốn tối ưu hóa câu truy vấn sở liệu phân tán như: INGRES phân tán, R*, DP-ACO Chương cài đặt thực nghiệm thuật toán INGRES phân tán R* đưa nhận xét đánh giá Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn Chƣơng KHÁI QUÁT VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN 1.1 Cơ sở liệu phân tán 1.1.1 Khái niệm sở liệu phân tán Một sở liệu (CSDL) phân tán tập liệu có quan hệ logic với nhau, phân bố máy tính mạng máy tính [1] 1.1.2 Hệ quản trị sở liệu phân tán Hệ quản trị CSDL phân tán (DDBMS) hệ thống phần mềm cho phép quản lý CSDL phân tán (tạo lập điều khiển truy nhập cho hệ CSDL phân tán) làm cho việc phân tán trở nên suốt với người sử dụng [1] 1.1.3 Ưu điểm sở liệu phân tán - Cho phép quản lý liệu theo nhiều mức suốt - Tăng độ tin cậy khả sẵn sàng - Cải thiện hiệu - Tổ chức liệu phân tán kinh tế so với tổ chức liệu tập trung - Dễ dàng mở rộng 1.1.4 Nhược điểm sở liệu phân tán - Độ phức tạp thiết kế cài đặt hệ thống tăng - Tăng chi phí - Bảo mật khó khăn - Kiểm sốt tính tồn vẹn khó khăn 1.2 Đặc điểm sở liệu phân tán 1.2.1 Chia sẻ tài nguyên Việc chia sẻ tài nguyên hệ phân tán thực thơng qua mạng truyền thơng Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn 1.2.2 Tính mở Tính mở hệ phân tán xem xét theo mức độ bổ sung vào dịch vụ dùng chung tài nguyên mà không phá hỏng hay nhân đôi dịch vụ tồn 1.2.3 Khả song song Hệ phân tán hoạt động mạng truyền thông có nhiều máy tính, máy có hay nhiều CPU Trong thời điểm có N tiến trình tồn tại, ta nói chúng thực đồng thời Việc thực tiến trình theo chế song (nhiều CPU) 1.2.4 Khả mở rộng Khả mở rộng đặc trưng tính không thay đổi phần mềm hệ thống phần mềm ứng dụng hệ thống mở rộng Điều đạt mức độ với hệ phân tán Yêu cầu việc mở rộng không mở rộng phần cứng, mạng mà trải khía cạnh thiết kế hệ phân tán 1.2.5 Khả thứ lỗi Việc thiết kế khả thứ lỗi hệ thống máy tính dựa hai giải pháp: Dùng khả thay để đảm bảo hoạt động liên tục hiệu quả; Dùng chương trình hồi phục xảy cố 1.2.6 Tính suốt Tính suốt hệ phân tán hiểu việc che khuất thành phần riêng biệt hệ người sử dụng người lập trình ứng dụng, bao gồm: Tính suốt vị trí, việc sử dụng, việc phân chia, trùng lặp 1.2.7 Đảm bảo tin cậy quán Sự bí mật liệu phải bảo vệ, chức khôi phục hư hỏng phải đảm bảo Ngồi ra, u cầu hệ thống tính quán quan trọng thể hiện: mâu thuẫn nội dung liệu Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn 1.3 Các đặc trƣng suốt sở liệu phân tán 1.3.1 Trong suốt phân tán 1.3.2 Trong suốt giao dịch 1.3.3 Trong suốt thất bại 1.3.4 Trong suốt thao tác 1.3.5 Trong suốt tính khơng 1.4 Kiến trúc sở liệu phân tán Mơ hình kiến trúc CSDL phân tán gồm: Lược đồ tổng thể, lược đồ phân mảnh, lược đồ định vị lược đồ ánh xạ cục 1.5 Các kĩ thuật xây dựng sở liệu phân tán Có chiến lược phân tán liệu bản: Sao lặp liệu, phân mảnh liệu phương pháp hỗn hợp Sao lặp liệu: CSDL nhân thành nhiều phần đầy đủ đặt nhiều trạm mạng Phân mảnh liệu: CSDL chia thành mảnh nhỏ liên kết với (không trùng lặp) Mỗi phần liệu đưa đến trạm thích hợp để sử dụng Phương pháp hỗn hợp: CSDL chia thành nhiều phần: quan trọng khơng quan trọng Phần quan trọng lưu trữ nơi, phần quan trọng lưu trữ nhiều nơi khác 1.5.1 Phân mảnh liệu Sự phân mảnh chia liệu bảng liệu thành bảng liệu Có ba kiểu phân mảnh quan hệ tổng thể: Phân mảnh ngang, phân mảnh dọc, phân mảnh hỗn hợp [1] Một phân mảnh đắn tuân thủ quy tắc sau: Tính đầy đủ; tính phục hồi; tính tách biệt 1.5.1.1 Phương pháp phân mảnh ngang Phân mảnh ngang chia quan hệ thành nhiều nhóm Kết trình phân mảnh ngang quan hệ con, số lượng quan hệ phụ thuộc vào điều kiện ràng buộc thuộc tính Các Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn quan hệ tách biệt Phân mảnh ngang thực chất phép chọn quan hệ thỏa mãn biểu thức điều kiện cho trước Có hai loại phân mảnh ngang: Phân mảnh ngang nguyên thủy phân mảnh ngang dẫn xuất a Phân mảnh ngang nguyên thủy Phân mảnh ngang nguyên thuỷ định nghĩa phép tốn chọn quan hệ đích lược đồ CSDL Vì thế, cho biết quan hệ R, mảnh ngang R Ri: Ri = σFi (R), ≤ i ≤ n Trong đó, Fi biểu thức đại số quan hệ hội sơ cấp có dạng chuẩn hội b Phân mảnh ngang dẫn xuất Phân mảnh ngang dẫn xuất phân chia quan hệ ban đầu thành quan hệ thứ hai khác mà quan hệ liên hệ với quan hệ ban đầu khố ngồi Điều liên hệ liệu quan hệ ban đầu quan hệ thứ hai phân mảnh cách 1.5.1.2 Phương pháp phân mảnh dọc Phân mảnh dọc cho quan hệ R sinh mảnh R1, R2, , Rr, mảnh chứa tập thuộc tính R khố R Một phân mảnh dọc đắn thỏa mãn ba quy tắc sau: - Tính đầy đủ: Nếu thuộc tính xuất quan hệ tổng thể phải xuất mảnh dọc - Tính phục hồi: Cần phải thêm vào mảnh khố chính, việc xây dựng lại nhờ vào phép kết nối mảnh dọc theo thuộc tính chung - Tính tách biệt: Ít khố phải lặp lại tất mảnh để đảm bảo cho phép xây dựng lại, nên khơng thể xem rời hồn tồn Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn 1.5.1.3 Phương pháp phân mảnh hỗn hợp Phân mảnh hỗn hợp kết hợp phương pháp phân mảnh ngang phân mảnh dọc 1.5.2 Nhân liệu a Nhân liệu đầy đủ: Toàn CSDL tạo tất trạm b Không có nhân liệu: Mỗi phân mảnh lưu trữ trạm, phương án gọi định vị không dư thừa liệu c Nhân liệu phần: Một vài phân mảnh tạo số phân mảnh khơng có 1.5.3 Định vị liệu Là trình gán phân mảnh, phân mảnh cho trạm cụ thể hệ thống phân tán 1.6 Kết luận chƣơng CSDL phân tán quan trọng nhiều lý khác nhau, cài đặt mạng máy tính diện rộng mạng cục nhỏ Có hai lý tổ chức kỹ thuật phát triển CSDL phân tán là: CSDL phân tán xây dựng để khắc phục thiếu sót sở liệu tập trung phù hợp cấu trúc phân quyền nhiều tổ chức Kỹ thuật CSDL phân tán mở rộng phát triển từ kỹ thuật CSDL truyền thống Trong môi trường này, số vấn đề kỹ thuật đòi hỏi giải pháp khác số giải pháp hồn tồn Tính suốt phân tán cung cấp độc lập chương trình khỏi phân tán CSDL Các mức suốt phân tán khác cung cấp hệ quản trị CSDL phân tán; Tại mức, tính suốt làm cho người lập trình ứng dụng phân tán liệu Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn Chƣơng TỐI ƢU HÓA TRUY VẤN CƠ SỞ DỮ LIỆU PHÂN TÁN 2.1 Vấn đề tối ƣu hóa xử lý truy vấn 2.1.1 Bài toán xử lý truy vấn Chức xử lý truy vấn chuyển đổi truy vấn mức cao (phép tính quan hệ) sang truy vấn tương đương (đại số quan hệ) Quá trình chuyển đổi cho kết [4] Có hai phương pháp tối ưu bản: Phương pháp biến đổi câu truy vấn mức cao thành câu truy vấn tương đương mức thấp dạng biểu thức đại số quan hệ phương pháp chọn lựa số câu truy vấn dạng biểu thức đại số quan hệ tương đương biểu thức có chi phí thời gian thực chi phí sử dụng tài nguyên Tối ưu hóa truy vấn vấn đề quan trọng việc xử lý truy vấn Có nhiều phép biến đổi truy vấn mức cao CSDL phân tán thành nhiều giải pháp thực dạng ngôn ngữ mức thấp, có giải pháp thực có hiệu quả, tối ưu chi phí sử dụng tài nguyên mạng, bao gồm chi phí sử dụng nhớ, thời gian xử lý thời gian truyền liệu Trong môi trường CSDL phân tán, số đánh giá tối ưu hóa truy vấn dựa vào tổng chi phí giảm thiểu sử dụng nhớ, chi phí thời gian cần thiết thực thao tác vào/ra liệu nhớ chi phí cần thiết để trao đổi liệu bên tham gia vào trình xử lý truy vấn Chi phí truyền thơng nhân tố quan trọng, quan tâm CSDL phân tán 2.1.2 Các quy tắc biến đổi đại số quan hệ 2.1.2.1 Tính chất giao hốn phép tốn hai ngơi 2.1.2.2 Tính kết hợp phép tốn hai ngơi Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn 10 2.1.2.3 Tính lũy đẳng phép tốn đơn ngơi 2.1.2.4 Giao hốn phép chọn với phép chiếu 2.1.2.5 Giao hoán phép chọn với phép tốn hai ngơi 2.1.2.6 Giao hốn phép chiếu với phép tốn hai ngơi 2.2 Q trình xử lý truy vấn Quá trình xử lý truy vấn bao gồm tầng: phân rã truy vấn, cục hóa liệu, tối ưu hóa tồn cục tối ưu hóa cục [2] 2.2.1 Phân rã truy vấn Phân rã truy vấn giai đoạn trình xử lý câu truy vấn, thực việc biến đổi câu truy vấn dạng ngôn ngữ bậc cao thành câu truy vấn ngôn ngữ bậc thấp thực thi cho kết tương đương Phân rã truy vấn xem bốn bước liên tiếp nhau: Chuẩn hoá, phân tích, loại bỏ dư thừa, viết lại câu truy vấn 2.2.1.1 Chuẩn hóa: Các câu truy vấn phép tính quan hệ viết lại dạng chuẩn tắc thích hợp cho bước Sự chuẩn hóa câu truy vấn bao gồm đặt lượng tử lượng tử hóa truy vấn cách áp dụng độ ưu tiên tốn tử logic 2.2.1.2 Phân tích: Câu truy vấn chuẩn hóa phân tích mặt ngữ nghĩa nhằm loại bỏ câu truy vấn sai sớm tốt Tìm truy vấn sai tồn với tập phép tính quan hệ Thông thường sử dụng loại đồ thị để nắm bắt ngữ nghĩa câu truy vấn 2.2.1.3 Loại bỏ dư thừa: Câu truy vấn đơn giản hóa cách loại bỏ phụ thuộc dư thừa Truy vấn dư thừa xuất truy vấn kết việc biến đổi hệ thống áp dụng cho truy vấn người sử dụng 2.2.1.4 Viết lại câu truy vấn: Câu truy vấn phép tính quan hệ xây dựng lại dạng truy vấn đại số quan hệ quy tắc biến đổi Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn 14 với câu truy vấn có - quan hệ trở lên Hai kỹ thuật tiêu biểu Interative Improvement Simulated Annealing [4] 2.3.3 Mô hình chi phí Mơ hình chi phí tối ưu hóa gồm có hàm chi phí để dự đốn chi phí tốn tử, số liệu thống kê, liệu sở công thức để ước lượng kích thước kết trung gian Hàm chi phí - Tổng thời gian tổng tất thành phần thời gian, thời gian trả lời tính từ lúc bắt đầu đến lúc kết thúc câu truy vấn: Total_time = TCPU *#insts+TI/O *#I/Os+TMSG *#msgs+TTR * #bytes Trong đó: Total_cost: Tổng thời gian; TCPU: Thời gian lệnh CPU; TI/O: Thời gian cho thao tác truy xuất/nhập đĩa; TMSG: Thời gian cố định việc khởi hoạt nhận thông báo; TTR: Thời gian cần để truyền đơn vị liệu từ trạm tới trạm khác, ta xem CTR số; #insts, #I/Os, #msgsm, #byte: Tương ứng tổng trạm tất số lệnh CPU, số lần truy xuất/ nhập đĩa, số thơng báo, kích thước tất thông báo - Thời gian trả lời câu truy: Response_time = TCPU * seq_#insts + TI/O * seq_#I/Os + TMSG * seq_#msgs + TTR * seq_#bytes Trong đó: seq_#x (x lệnh CPU, I/O, thông báo, byte) số lớn x phải thực thực thi câu truy vấn Số liệu thống kê CSDL Tác nhân ảnh hưởng đến hiệu hoạt động chiến Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn 15 lược thực thi kích thước quan hệ trung gian tạo Khi phép toán nằm vị trí khác, quan hệ trung gian phải di chuyển đến Đó điều khiến phải ước lượng kích thước kết trung gian phép toán đại số quan hệ nhằm giảm thiểu lượng liệu phải truyền Việc ước lượng dựa thông tin thống kê quan hệ sở công thức để dự đoán lực lượng kết Lực lƣợng kết trung gian Dữ liệu thống kê có ích đánh giá lực lượng kết trung gian Lực lượng kết trung gian ước lượng theo phép toán đại số bản: phép chọn, chiếu, tích Đề các, kết nối, phép nối nửa, phép hợp, hiệu 2.3.4 Thứ tự kết nối Một số thuật toán tối ưu hoá thứ tự phép kết nối cách trực tiếp không sử dụng phép nửa kết nối thuật toán INGRES phân tán R* Xét truy vấn có kết nối R S, R S hai quan hệ lưu trữ trạm khác Sự lựa chọn hiển nhiên truyền quan hệ nhỏ tới trạm quan hệ lớn hơn, làm phát sinh khả năng, thể Hình 2.18 Hình 2.18 Truyền tốn hạng phép tốn hai ngơi 2.4 Các thuật tốn tối ƣu hóa truy vấn phân tán Việc tối ưu hóa truy vấn thực theo phương pháp: Phương pháp tĩnh: Việc tối ưu hóa truy vấn tĩnh thực thời điểm biên dịch truy vấn Thuật tốn tiêu biểu: R* Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn 16 Phương pháp động: Việc tối ưu hóa động thực vào thời gian thực truy vấn Thuật toán tiêu biểu: INGRES phân tán Phương pháp dựa phép nửa kết nối (semijoin): Phương pháp sử dụng phép nửa kết nối thay cho phép kết nối để giảm kích thước kết trung gian, giảm chi phí truyền thơng, từ giảm tổng thời gian truy vấn Thuật tốn tiêu biểu: SDD-1, AHY Phương pháp tối ưu hóa truy vấn hỗn hợp có ưu điểm tối ưu hóa truy vấn tĩnh, tránh vấn đề tạo đánh giá khơng xác gây Về phương pháp tĩnh q trình truy vấn động xảy lúc chạy phát có khác biệt lớn kích thước dự đốn kích thước thực tế quan hệ trung gian Thuật toán tối ưu truy vấn pha sử dụng phương pháp Ưu điểm phương pháp động so với phương pháp tĩnh kích thước thực quan hệ trung gian phù hợp cho xử lý truy vấn Vì vậy, giảm thiểu xác suất cho việc lựa chọn giải pháp tồi Nhược điểm phương pháp động thao tác tối ưu hóa có chi phí cao, lặp lại nhiều lần cho thao tác Vì vậy, phương pháp phù hợp cho số câu truy vấn đặc biệt Phần trình bày số thuật tốn tối ưu hóa truy vấn CSDL phân tán thuật toán INGRES phân tán, thuật toán R* thuật toán mới, kết hợp thuật toán quy hoạch động (Dynamic Programming) thuật toán đàn kiến (Ant Colony Optimization) gọi DP-ACO 2.4.1 Thuật toán INGRES phân tán Input: MRQ: Câu truy vấn có nhiều quan hệ Output:Kết câu truy vấn cuối Begin For ORQi tách in MRQ Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn 17 {ORQi truy vấn biến} Run(ORQi); MRQ‘_list REDUCE (MRQ) {MRQ‘ chứa n truy vấn rút gọn} While n ≠ {Chọn truy vấn rút gọn liên quan đến mảnh nhỏ nhất} MRQ‘ SELECT_QUERY (MRQ‘_list); {Xác định mảnh để truyền trạm xử lý cho MRQ‘} Fragment-site-list SELECT_STRATEGY (MRQ‘); {Chuyển mảnh chọn đến trạm xử lý chọn} For cặp (F,S) Fragment-site-list Chuyển mảnh F tới trạm xử lý S; Thực thi MRQ‘; n n-1; { kết đầu kết MRQ‘ cuối cùng} End 2.4.2 Thuật toán R* Input: QT: Cây truy vấn câu truy vấn có n quan hệ Output: strat: Chiến lược thực thi tối ưu (có chi phí nhỏ nhất) Begin For quan hệ Ri thuộc QT For đường truy cập APij tới Ri Tính chi phí APij; best_APi APij có chi phí nhỏ nhất; For thứ tự (Ri1, Ri2, ,Rin) {i= 1, , n!} Xây dựng chiến lược( ((best APi1 Ri2) Ri3) Rin); Tính chi phí chiến lược này; strat Chiến lược có chi phí tốt nhất; For trạm k chứa quan hệ QT LSk Chiến lược cục (chiến lược, k); {Xác định chiến lược tối ưu cục LSk trạm k} Send (LSk, trạm k); End Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn 18 2.4.3 Thuật toán DP-ACO 2.4.3.1 Thuật toán tối ưu đàn kiến (ACO Metaheuristic)[10] Thuật toán dựa hành vi đàn kiến thực việc thiết lập đường ngắn thức ăn tổ Kiến giao tiếp với thơng qua hóa chất phát từ chúng đường từ tổ tới chỗ thức ăn ngược lại, gọi pheromone Như vậy, đường ngắn đường có lượng pheromone cao hơn, kiến có xu hướng chọn đường ngắn Thuật toán tối ưu đàn kiến: Trong ACO, kiến nhân tạo xây dựng giải pháp cách qua đồ thị kết nối đầy đủ GC (V,E), V tập đỉnh, E tập cạnh Theo Dorigo, kiến nhân tạo di chuyển từ đỉnh tới đỉnh dọc theo cạnh đồ thị để xây dựng giải pháp thành phần (partial solution) Thuật toán ACO metaheuristic, lặp giai đoạn sau: - ConstructAntSolution: Một tập m kiến nhân tạo xây dựng giải pháp từ thành phần tập hữu hạn giải pháp có sẵn Ban đầu tập rỗng - ApplyLocalSearch: Khi giải pháp xây dựng trước cập nhật pheromone, chức cải thiện giải pháp thu kiến thơng qua tìm kiếm cục Bước khơng bắt buộc - UpdatePheromones: Nó làm tăng giá trị pheromone gắn liền với giải pháp tốt làm giảm với giải pháp xấu Điều đạt bằng: + Giảm tất giá trị pheromone qua việc bốc pheromone + Tăng mức pheromone với tập giải pháp tốt chọn Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn 19 ACO có số hạn chế hình thành ban đầu ACO khơng có cách bắt đầu cách có hệ thống Tốc độ hội tụ ACO thấp giai đoạn đầu lượng pheromone đường khác 2.4.3.2 Quy hoạch động (DP)[5] DP hoạt động theo cách từ lên xây dựng tất kế hoạch Giải pháp tối ưu cho kế hoạch tính tốn lần khơng tính lại Đầu tiên, thuật toán xây dựng kế hoạch truy cập cho quan hệ câu truy vấn liệt kê tất kế hoạch có hai kết nối giai đoạn DP tiếp tục liệt kê tất kế hoạch n kết nối Một kế hoạch hiệu tỉa kế hoạch khác với kết đầu DP liệt kê (A B) (B A) hai kế hoạch thay có kế hoạch tốt hai giữ lại sau cắt tỉa Các kế hoạch thực thi trừu tượng hóa PT (Processing Trees) Đầu vào vấn đề tối ưu hóa đưa đồ thị truy vấn Đồ thị truy vấn bao gồm tất quan hệ kết nối nút PT nhị phân đơn giản Lá tương ứng với quan hệ nút tương ứng bên tham gia phép kết nối Các cạnh thể luồng kết thành phần từ nút gốc Mỗi kế hoạch có chi phí thực Mục đích tối ưu hóa tìm kế hoạch với chi phí thấp Nếu quan hệ kết nối quan hệ bản, PT đc gọi left-deep tree Sẽ có n! cách để phân bổ n quan hệ tới loại PT Nếu ko có hạn chế PT đc gọi bushy tree Trong nghiên cứu này, sử dụng left-deep tree Mơ hình chi phí dựa tổng thời gian xử lý (CPU time + I/O time) sử dụng Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn 20 Quy hoạch động tạo thiết kế tốt có thời gian thực dài yêu cầu nhớ lớn kích thước quan hệ số lượng kết nối tăng lên truy vấn 2.4.3.3 Kết hợp thuật toán tối ưu đàn kiến quy hoạch động để tối ưu hóa truy vấn CSDL phân tán [5] Khi kết hợp với quy hoạch động, mô hoạt động kiến đồ thị PT (Processing Trees) Mỗi trình tính tốn thời gian chạy kế hoạch thực coi kiến thuật toán Các giải pháp đại diện cho thức ăn Kiến có thức ăn sớm lượng pheromone chúng tiết đường giải pháp nhiều Càng cần nhiều thời gian cho kiến theo đường thời gian bay nhiều Kiến kiếm ăn liên tục tìm kiếm kế hoạch thực tốt Các đường lựa chọn thay tổ hợp cho kế hoạch DP mức Nếu có trạm phép kết nối (A B C), có đường khác A B truy vấn kế hoạch Với trạm, phải kiểm tra thời gian trả lời trạm Nếu tìm giải pháp tối ưu trạm tăng pheromone giải pháp khác (A B) bị giảm pheromone bị bay Thuật toán sử dụng tham số giới hạn khơng gian tìm kiếm (SSL-search space limit) để kiểm sốt độ phức tạp thời gian khơng gian thuật tốn Khơng gian tìm kiếm thu gọn cách sử dụng pheromone kế hoạch Nếu ko có q trình thu gọn (cắt tỉa) DP-ACO hoạt động giống DP Tăng giá trị SSL làm tăng theo cấp số nhân yêu cầu thời gian không gian thuật toán Pheromone đường đánh giá theo phương trình: SSL Pheromone (k) = ( ∑ Best_time (i) x (1/ Response_time (k))) i Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn 21 Đường định tính tốn theo cơng thức sau: α ij k p ij = ηβij ταil ηβil ∑ l ϵ subsolutions Trong pkij xác suất dịch chuyển kiến thứ k chuyển từ giải pháp thứ i sang giải pháp thứ j l thành phần giải pháp Các giải pháp đặt câu lệnh SQL, α β kiểm soát quan trọng tương đối pheromone τij với thông tin heuristic ηij DP-ACO chứng minh giải pháp khả thi việc tạo kế hoạch thực thi tốt với câu truy vấn 15 nối thời gian giới hạn không gian nhớ hạn chế Một ưu điểm khác DP-ACO dễ dàng thích ứng với tối ưu hóa truy vấn tồn sử dụng thuật toán dựa DP 2.5 Kết luận chƣơng Chương trình bày vấn đề xử lý câu truy vấn, thành phần tối ưu hóa truy vấn, thuật toán tối ưu Distributed INGRES, System R*, DP-ACO Mỗi phương pháp tối ưu có ưu điểm, nhược điểm Phương pháp tối ưu phân tán tĩnh, động có ưu nhược điểm giống hệ thống tập trung, phương pháp tối ưu dựa phép nửa kết nối sử dụng tốt với mạng chậm, phương pháp hỗn hợp tốt mơi trường động ngày trì hỗn định quan trọng lựa chọn chép phân phối truy vấn đến trạm thời điểm khởi động truy vấn Vì vậy, tăng tính sẵn sàng cân tải hệ thống tốt Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn 22 Chƣơng ỨNG DỤNG THUẬT TỐN TỐI ƢU HĨA TRUY VẤN CƠ SỞ TRONG DỮ LIỆU PHÂN TÁN 3.1 Giới thiệu toán quản lý nhân Xét CSDL quản lý nhân Sở Giáo dục Đào tạo tỉnh Yên Bái gồm bảng liệu sau: 3.2 Mơ hình phân tán CSDL, cơng cụ, ngơn ngữ lập trình - CSDL phân tán trạm, sử dụng DBMS SQL Server 2008 + Trạm chứa bảng CanBo (20005 ghi) + Trạm chứa bảng: DienBienNgachBac (101627 ghi) dmNgach (105183 ghi) + Trạm chứa bảng DienBienChucVu (2273 ghi) - Chương trình viết ngơn ngữ lập trình C# Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn 23 3.3 Thuật toán áp dụng Chương trình cài đặt thử nghiệm thuật tốn INGRES phân tán R* trình bày mục 2.4.1 2.4.2 3.4 Kết thực nghiệm Xét câu truy vấn SELECT dbo.CanBo.SoHieu, dbo.CanBo.HoTen, dbo.CanBo.TenGoiKhac, dbo.CanBo.NgaySinh, dbo.CanBo.CoQuanQuanLyID, dbo.CanBo.CoQuanSuDungID, dbo.CanBo.GioiTinh, dbo.CanBo.NoiSinhID, dbo.CanBo.QueQuanID, dbo.CanBo.DanTocID, dbo.CanBo.TonGiaoID, dbo.CanBo.HKTT, dbo.CanBo.NoiO, dbo.CanBo.NgheNghiepID, dbo.CanBo.NgayTD, dbo.DienBienNgachBac.BacLuong, dbo.DienBienNgachBac.NgayHuong, dbo.DienBienNgachBac.NgayKetThuc, dbo.DienBienNgachBac.ThoiHanNangBac, dbo.DienBienNgachBac.DaVuotKhung, dbo.DienBienNgachBac.HSCLBL, dbo.DienBienNgachBac.HeSo dbo.DienBienNgachBac.PhuCapVuotKhung, dbo.dmNgach.MaNgach, dbo.dmNgach.TenNgach, dbo.dmNgach.LoaiNgach, dbo.dmNgach.PCVK dbo.DienBienChucVu.ChucVuID, dbo.DienBienChucVu.PhuCapChucVu, dbo.DienBienChucVu.NgayBoNhiem, dbo.DienBienChucVu.SoQuyetDinh FROM dbo.CanBo INNER dbo.DienBienChucVu, dbo.DienBienNgachBac WHERE dbo.CanBo.ID = dbo.DienBienChucVu.CanBoID AND dbo.CanBo.ID =.CanBoID AND dbo.DienBienNgachBac.NgachID = dbo.dmNgach.ID AND CLS.CLS_ID=CLSKhamBenh.CLS_ID Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn 24 - Kết thực trạm 1: + Tổng số ghi kết quả: 3379 + Thời gian thực truy vấn áp dụng Thuật toán INGRES phân tán: 125 ms + Thời gian thực truy vấn áp dụng Thuật toán R*: 140 ms - Kết thực trạm 2: + Tổng số ghi kết quả: 3379 + Thời gian thực truy vấn áp dụng Thuật toán INGRES phân tán: 140 ms + Thời gian thực truy vấn áp dụng Thuật toán R*: 156 ms - Kết thực trạm 3: + Tổng số ghi kết quả: 3379 + Thời gian thực truy vấn áp dụng Thuật toán INGRES phân tán: 187 ms + Thời gian thực truy vấn áp dụng Thuật toán R*: 130 ms Bảng so sánh kết thời gian thực thuật toán: Tên trạm INGRES phân tán R* Trạm 125 ms 140 ms Trạm 140 ms 156 ms Trạm 187 ms 130 ms 3.5 Kết luận chƣơng Chương trình bày tốn quản lý nhận chương trình cài đặt thuật tốn INGRES phân tán R* bao gồm: Thiết kế CSDL phân tán, lựa chọn ngơn ngữ lập trình, hệ quản trị CSDL Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn 25 kết thực nghiệm chạy câu truy vấn để so sánh thời gian chạy truy vấn tối ưu sử dụng thuật toán trạm khác Qua kết thực nghiệm ta thấy giải pháp thực trạm với hai thuật toán thời gian thực khác Cụ thể, thời gian thực truy vấn trạm nhanh trạm trạm với hai thuật toán Trong trường hợp câu truy vấn này, thuật toán R* thuật toán INGRES phân tán có thời gian thực chênh lệch không đáng kể tùy thuộc vào tốc độ CPU trạm Thuật toán INGRES phân tán R* có ưu, nhược điểm riêng, thuật tốn R* khơng hỗ trợ hệ thống phân tán theo kiểu phân mảnh sao, thuật tốn INGRES phân tán có hỗ trợ phân mảnh với phân mảnh ngang Do đó, tùy vào cách thiết kế hệ thống phân tán mà ta lựa chọn thuật toán áp dụng cho phù hợp Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn 26 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN Kết luận Hệ thống phân tán hệ thống CSDL phức tạp hơn, đòi hỏi việc tổ chức vật lý, mơ hình mạng phức tạp, việc tìm hiểu lựa chọn giải pháp thiết kế CSDL phân tán phù hợp với yêu cầu thực tế, tối ưu hóa truy vấn phân tán có ý nghĩa quan trọng định đến hiệu hệ thống hiệu kinh tế mang lại Với đề tài “Một số thuật toán tối ưu hóa sở liệu phân tán”, luận văn đạt số kết sau: - Trình bày khái quát sở liệu phân tán, hệ quản trị CSDL phân tán, phân tích đặc điểm CSDL phân tán số phương pháp thiết kế CSDL phân tán - Giới thiệu bước trình xử lý câu truy vấn, xác định thời điểm tối ưu phương pháp, thuật toán tối ưu hóa truy vấn phân tán, phân tích ưu nhược điểm phương pháp để lựa chọn cho phù hợp với yêu cầu thực tế hệ thống - Cài đặt, đánh giá tính hiệu hai thuật toán: INGRES phân tán R* Hƣớng phát triển luận văn Tiếp tục nghiên cứu phương pháp tối ưu hóa truy vấn CSDL phân tán khác phương pháp dựa phép nửa kết nối, kết hợp thuật toán tối ưu đàn kiến với số thuật toán khác thuật toán di truyền, thuật toán tối ưu bầy đàn, sở đưa đánh giá ưu nhược điểm phương pháp để áp dụng cho toán cụ thể thực tế Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn 27 TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt Nguyễn Văn Huân - Phạm Việt Bình(2009), “Giáo trình hệ sở liệu phân tán & suy diễn: Lý thuyết thực hành”, NXB Khoa học kỹ thuật Phạm Thế Quế (2009) “Giáo trình Cơ sở liệu phân tán”, NXB thơng tin truyền thông Nguyễn Bá Tường (2005), “Nhập môn sở liệu liệu phân tán”, NXB Khoa học kỹ thuật Tài liệu tiếng Anh Alaa Aljanaby, Emad Abuelrub, and Mohammed Odeh (2005), “A Survey of Distributed Query Optimization”, The International Arab Journal of Information Technology, Vol 2, No Tansel Dokeroglu, Ahmet Cosar (2011), “Dynamic Programming with Ant Colony Optimization Metaheuristic for optimization of Distributed Database Queries”, ISCIS:26th International Symposium on Computer and Information Sciences, IEEE, Vol 2, pp.107-113 Marco Dorigo, Thomas Stutzle (2003), The Ant Colony Optimization Metaheuristic, Algorithms, Applications, and Advances - Handbook of Metaheuristics, Springer US, pp 250285 Marco Dorigo, Thomas Stutzle (2004), Ant Colony Optimization, MIT Press Chhanda Ray (2009), Distributed Database Systems, Pearson Education India Sacco, M.P, and Yao, S.B (1982), “Query Optimization in Distributed Database Systems,” Advances in Computers, Vol 21, Academic Press Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn 28 10 Preeti Tiwari, Swati V Chande (2013), “Optimization of Distributed Database Queries Using Hybrids of Ant Colony Optimization Algorithm”, International Journal of Advanced Research in Computer Science and Software Engineering 3(6), pp 609-614 11 M Tamer Özsu, Patrick Valduriez (2011), Principles of Distributed Database Systems third edition, Springer 12 Preeti Tiwari, Swati V Chande (2013), “Query Optimization Strategies in Distributed Databases”, International Journal of Advances in Engineering Sciences Vol.3 13 Yasmeen R M Umar, Amit R Welekar (2014), “Query Optimization in Distributed Database: A Review”, Query Optimization in Distributed Database: A Review, Vol 4, No Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn ... biết phân tán liệu Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn Chƣơng TỐI ƢU HÓA TRUY VẤN CƠ SỞ DỮ LIỆU PHÂN TÁN 2.1 Vấn đề tối ƣu hóa xử lý truy vấn 2.1.1 Bài tốn xử lý truy vấn. .. lý truy vấn Quá trình xử lý truy vấn bao gồm tầng: phân rã truy vấn, cục hóa liệu, tối ưu hóa tồn cục tối ưu hóa cục [2] 2.2.1 Phân rã truy vấn Phân rã truy vấn giai đoạn trình xử lý câu truy vấn, ... pháp phù hợp cho số câu truy vấn đặc biệt Phần trình bày số thuật tốn tối ưu hóa truy vấn CSDL phân tán thuật toán INGRES phân tán, thuật toán R* thuật toán mới, kết hợp thuật toán quy hoạch động