Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 82 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
82
Dung lượng
9,06 MB
Nội dung
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN HỒ PHÚ CƯỜNG TỐI ƯU TRUY VẤN TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN LUẬN VĂN THẠC SĨ Ngành: Công Nghệ Thông Tin Mã ngành: 60.48.02.01 NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS TS NGUYỄN ĐÌNH THN TP HỒ CHÍ MINH – 2017 LỜI CẢM ƠN Xin chân thành cảm ơn Phòng Đào tạo Sau Đại học, Bộ môn Khoa học Kỹ thuật thông tin, Trường Đại học Công nghệ thông tin TPHCM chấp nhận tạo điều kiện để đề tài luận văn cao học thực Đặc biệt, xin bày tỏ lòng biết ơn sâu sắc đến PGS TS Nguyễn Đình Thn, Trưởng Khoa Hệ thống thơng tin, Trường Đại học Cơng nghệ Thơng tin TP.HCM tận tình hướng dẫn, bảo, giúp đỡ, định hướng cho đề tài suốt thời gian luận văn thực Đồng thời, xin chân thành cảm ơn Quý Thầy Cơ tận tình giảng dạy, trang bị, bổ sung thêm nhiều kiến thức quý báu suốt thời gian khóa học Mặc dù nỗ lực để hồn thành luận văn, nhiên trình thực đề tài luận văn khơng tránh khỏi sai sót, kinh mong nhận nhận xét, góp ý từ Quý Thầy Cô Xin chân thành cảm ơn Học viên Hồ Phú Cường 10/2017 i LỜI CAM ĐOAN Tôi xin cam đoan luận văn “Tối ưu truy vấn sở liệu phân tán” tuân thủ quy định hành pháp luật sở hữu trí tuệ Các số liệu sử dụng luận văn trung thực Các kết nguyên cứu luận văn kết lao động tơi, chưa người khác cơng bố cơng trình nghiên cứu Nếu phát có gian lận tơi xin hồn tồn chịu trách nhiệm nội dung luận văn Học viên Hồ Phú Cường ii DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT Ký hiệu/ Viết đầy đủ Dịch nghĩa/ Mô tả Chữ viết tắt Đồ thị vô hướng mà hai Clique điểm đồ thị tồn đường CSDL Cơ sở liệu DP Dynamic Programming Quy hoạch động IDP Iterative Dynamic Quy hoạch động lặp Programming IDP+ Thuật toán IDP cải tiến cách tiếp cận Linked-Server Các trạm liên kết hệ thống CSDL phân tán SQL Server SDD-1 System for Distributed Hệ thống cho CSDL phân tán Databases Semi-join Phép kết nối nửa SQL Trình quản trị CSDL SQL Management Server Studio T-SQL Ngơn ngữ lập trình CSDL hướng Transact-SQL thủ tục Microsoft sử dụng SQL Server iii DANH MỤC CÁC BẢNG Bảng 4.1: Mô tả quan hệ CSDL thực nghiệm 53 Bảng 4.2: Mô tả phân tán quan hệ CSDL thực nghiệm 56 iv DANH MỤC CÁC HÌNH ẢNH Hình 1.1: Ví dụ hoạt động semi-join Hình 2.1: Môi trường hệ thống CSDL phân tán [10] 14 Hình 2.2: Mơ hình kiến trúc client-server [26] 15 Hình 2.3: Quy trình tối ưu truy vấn 17 Hình 2.4: Cấu trúc kết nối 18 Hình 2.5: Cơng thức xác định tổng thời gian [27] 19 Hình 2.6: Thuật tốn tối ưu quy hoạch động cổ điển [28] 22 Hình 3.1: Thuật tốn tối ưu IDP [8] 29 Hình 3.3: Biểu đồ kết truy vấn 34 Hình 3.4: Các phương án có quan hệ .34 Hình 3.5: Các phương án có quan hệ .34 Hình 3.6: Phương án có quan hệ chọn 34 Hình 3.7: Các phương án có quan hệ lần lặp thứ hai 35 Hình 3.8: Các phương án có quan hệ lần lặp thứ hai 35 Hình 3.9: Phương án có quan hệ chọn lần lặp thứ hai .35 Hình 3.10: Các phương án có quan hệ lần lặp thứ ba 36 Hình 3.11: Phương án tối ưu sau 36 Hình 4.1: Các thành phần hệ tối ưu truy vấn 40 Hình 4.2: Sơ đồ quan hệ liệu thống kê 41 Hình 4.3: Sơ đồ quan hệ phương án thực thi truy vấn, phép kết quan hệ 43 Hình 4.4: Một phương án thực thi truy vấn lưu hệ thống mơ .43 Hình 4.5: Phương án thực thi biểu diễn dạng nhị phân 43 Hình 4.6: Một phương án thực thi truy vấn hoàn chỉnh lưu Danh mục 45 Hình 4.7: Module thực thi phương án truy vấn đặt trạm .45 Hình 4.8 Đoạn mã sử dụng hoạt động chép số lượng lớn 46 Hình 4.9: Giao diện Thực nghiệm 47 Hình 4.10: Giao diện Thực nghiệm 48 Hình 4.11: Ví dụ phương án thực thi truy vấn hồn chỉnh tạo .49 Hình 4.12: Phương án thực thi truy vấn dạng nhị phân .50 Hình 4.13 : Cấu trúc truy vấn hình chuỗi 51 Hình 4.14 : Cấu trúc truy vấn hình .51 Hình 4.15: Cấu trúc truy vấn clique 51 v Hình 4.16: Cấu trúc truy vấn .53 Hình 4.17: Ví dụ cấu trúc truy vấn 53 Hình 4.18: Sơ đồ quan hệ CSDL thực nghiệm 55 Hình 4.19: Sơ đồ kết nối trạm 56 Hình 4.20: Kết chạy thuật toán với n=10, biểu đồ kết hình chuỗi .59 Hình 4.21: Kết chạy thuật tốn với n=10, biểu đồ kết hình 59 Hình 4.22: Kết chạy thuật tốn với n=10, biểu đồ kết hình clique 59 Hình 4.23: So sánh thuật tốn IDP+ với thuật tốn tối ưu tham lam, biểu đồ kết hình chuỗi 60 Hình 4.24: So sánh thuật toán IDP+ với thuật toán tối ưu tham lam, biểu đồ kết hình .60 Hình 4.25: So sánh thuật toán IDP+ với thuật toán tối ưu tham lam, biểu đồ kết hình clique 61 Hình 4.26: Kết chạy thuật tốn với n=15, biểu đồ kết hình chuỗi .61 Hình 4.27: Kết chạy thuật tốn với n=15, biểu đồ kết hình 62 Hình 4.28: Kết chạy thuật toán với n=15, biểu đồ kết hình clique 62 Hình 4.29: Kết chạy thuật tốn với n=20, biểu đồ kết hình chuỗi .62 Hình 4.30: Kết chạy thuật tốn với n=20, biểu đồ kết hình 63 Hình 4.31: Kết chạy thuật tốn với n=20, biểu đồ kết hình clique 63 Hình 4.32: Thời gian tối ưu thời gian thực thi phương án IDP, IDP+ 65 Hình 4.33: Thời gian trả kết truy vấn cho người dùng 65 Hình 4.34: Thời gian tối ưu thời gian thực thi phương án IDP, IDP+ 66 Hình 4.35: Thời gian trả kết truy vấn cho người dùng 67 Hình 4.36: Giao diện chương trình mơ thực tối ưu truy vấn 67 vi MỤC LỤC LỜI CẢM ƠN i LỜI CAM ĐOAN ii DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT iii DANH MỤC CÁC BẢNG iv DANH MỤC CÁC HÌNH ẢNH .v MỤC LỤC vii MỞ ĐẦU CHƯƠNG TỔNG QUAN VỀ TỐI ƯU TRUY VẤN CƠ SỞ DỮ LIỆU PHÂN TÁN 1.1 Giới thiệu tối ưu truy vấn: 1.2 Các nghiên cứu tối ưu truy vấn sở liệu phân tán: CHƯƠNG 2: CÁC THÀNH PHẦN QUAN TRỌNG TRONG TỐI ƯU TRUY VẤN CƠ SỞ DỮ LIỆU PHÂN TÁN .13 2.1 Giới thiệu: 13 2.2 Kiến trúc hệ thống sở liệu phân tán: 14 2.3 Xử lý truy vấn sở liệu phân tán: 16 2.4 Tối ưu truy vấn sở liệu phân tán: 17 2.4.1 Khơng gian tìm kiếm: 17 2.4.2 Mơ hình chi phí: 19 2.4.3 Thuật toán tối ưu quy hoạch động: 21 CHƯƠNG 3: ỨNG DỤNG THUẬT TOÁN IDP VỚI SỰ CẢI TIẾN CÁCH TIẾP CẬN 26 3.1 Giới thiệu: 26 3.2 Thuật toán tối ưu IDP cách tiếp cận cải tiến: 27 3.2.1 Mơ tả thuật tốn tối ưu IDP: 27 3.2.2 Cách tiếp cận đề xuất cải tiến thuật toán IDP: 31 3.2.3 Lưu đồ thuật toán IDP+: 33 3.2.4 Ví dụ minh họa hoạt động thuật tốn IDP+: .33 3.2.5 Độ phức tạp thuật toán IDP+: 36 CHƯƠNG 4: HỆ THỐNG MÔ PHỎNG ỨNG DỤNG THUẬT TOÁN IDP+ TỐI ƯU TRUY VẤN CSDL PHÂN TÁN VÀ KẾT QUẢ THỰC NGHIỆM 40 4.1 Hệ thống mô ứng dụng thuật toán IDP+ tối ưu truy vấn CSDL phân tán: 40 vii 4.1.1 Môi trường ứng dụng: .40 4.1.2 Mô tả hệ thống: .40 4.1.3 Các chức hệ thống mơ phỏng: .46 4.2 Dữ liệu mô phỏng: 51 4.3 Kết thực nghiệm: .58 4.3.1 Thực nghiệm 1: .58 4.3.2 Thực nghiệm 2: .64 4.2.3 Đánh giá: 67 CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .69 5.1 Kết luận: 69 5.2 Hướng phát triển: 69 TÀI LIỆU THAM KHẢO 71 viii MỞ ĐẦU Hiện nay, quy mô hoạt động, sản xuất, kinh doanh tổ chức, doanh nghiệp mở rộng cách mạnh mẽ, cấu tổ chức khơng tập trung mà phân tán phạm vi rộng, hệ thống thông tin họ đầu tư tương ứng Với phát triển hệ thống mạng truyền thông, sở liệu phân tán ngày triển khai phổ biến, tận dụng ưu điểm liệu phân tán nhằm đáp ứng nhu cầu khai thác liệu từ nhiều chi nhánh khác tổ chức, doanh nghiệp Cùng với lớn mạnh quy mơ tổ chức, doanh nghiệp, kích thước sở liệu tăng lên Các truy vấn liệu ngày phức tạp số lượng quan hệ số lượng phép kết truy vấn tăng lên Do đó, tối ưu truy vấn đóng vai quan trọng hệ thống quản trị sở liệu, thực tối ưu truy vấn sở ba thành phần quan trọng gồm không gian tìm kiếm, mơ hình chi phí, chiến lược tìm kiếm, giúp tìm phương án thực thi truy vấn với chi phí thấp Tối ưu truy vấn môi trường sở liệu phân tán vấn đề khó khăn để giải Nhiều nghiên cứu chiến lược tìm kiếm tối ưu truy vấn thực hiện, chiến lược tìm kiếm đầy đủ, mà điển hình thuật tốn tìm kiếm dựa quy hoạch động giúp tìm phương án thực thi truy vấn có chi phí thấp số tất phương án không gian tim kiếm, nhiên phải tối ưu truy vấn có nhiều quan hệ, quy hoạch động tốn nhiều thời gian tài nguyên nhớ cho việc tối ưu Một chiến lược tìm kiếm khác dùng tối ưu truy vấn chiến lược tìm kiếm heuristic, cụ thể giải thuật tham lam giúp tìm phương án thực thi thời gian nhanh chóng, nhiên chiến lược tìm kiếm hay đưa định thay đổi hướng không xem xét lại định cũ, bỏ sót phương án tốt thường khơng tìm phương án tối ưu Một thuật toán Donald Kossmann Konrad Stocker [12] đề xuất với tên gọi Iterative Dynamic Programming xem kết hợp quy hoạch động heuristic tham lam kết hợp ưu điểm hai: tìm phương án thực thi truy vấn tốt quy hoạch động truy vấn đơn giản, + Thời gian (s) Chương 4: Hệ thống mô ứng dụng thuật toán IDP tối ưu truy vấn CSDLPT KQ thực nghiệm 20 18 16 14 12 10 KẾT QUẢ CHẠY THUẬT TOÁN VỚI n = 10, BIỂU ĐỒ KẾT HÌNH CHUỖI k IDP: Thời gian chạy thuật tốn IDP: Chi phí kết IDP+: Thời gian chạy thuật tốn IDP+: Chi phí kết 10 Thời gian (s) Hình 4.20: Kết chạy thuật tốn với n=10, biểu đồ kết hình chuỗi KẾT QUẢ CHẠY THUẬT TOÁN VỚI n = 10, BIỂU ĐỒ KẾT HÌNH SAO 13 12 11 10 2 k IDP+: Thời gian chạy thuật toán IDP+: Chi phí kết 10 IDP: Thời gian chạy thuật tốn IDP: Chi phí kết Hình 4.21: Kết chạy thuật tốn với n=10, biểu đồ kết hình 10 KẾT QUẢ CHẠY THUẬT TỐN VỚI n=10, BIỂU ĐỒ KẾT HÌNH CLIQUE Thời gian (s) 2 k IDP+: Thời gian chạy thuật tốn IDP+: Chi phí kết IDP: Thời gian chạy thuật toán IDP: Chi phí kết Hình 4.22: Kết chạy thuật tốn với n=10, biểu đồ kết hình clique 59 + Chương 4: Hệ thống mô ứng dụng thuật toán IDP tối ưu truy vấn CSDLPT KQ thực nghiệm Bên cạnh đó, thực nghiệm với n=10, thuật toán IDP+ so sánh tốc độ chạy thuật toán chất lượng phương án tối ưu trả với thuật toán tối ưu dựa heuristic tham lam, báo cáo gọi thuật toán tối ưu tham lam, kết sau: Thời gian (s) 20 KẾT QUẢ CHẠY THUẬT TOÁN VỚI n=10, BIỂU ĐỒ KẾT HÌNH CHUỖI 15 10 5 k IDP+: Thời gian chạy thuật tốn IDP+: Chi phí phương án tối ưu 10 TT Tham lam: Thời gian chạy thuật tốn T.Ư Tham lam: Chi phí phương án Hình 4.23: So sánh thuật toán IDP+ với thuật toán tối ưu tham lam, biểu đồ kết hình chuỗi KẾT QUẢ CHẠY THUẬT TỐN VỚI n=10, BIỂU ĐỒ KẾT HÌNH SAO Thời gian (s) 15 10 5 k IDP+: Thời gian chạy thuật toán IDP+: Chi phí phương án tối ưu TT Tham lam: Thời gian chạy thuật toán T.Ư Tham lam: Chi phí phương án Hình 4.24: So sánh thuật toán IDP+ với thuật toán tối ưu tham lam, biểu đồ kết hình 60 10 + Chương 4: Hệ thống mơ ứng dụng thuật tốn IDP tối ưu truy vấn CSDLPT KQ thực nghiệm Thời gian (s) 10 KẾT QUẢ CHẠY THUẬT TOÁN VỚI n=10, BIỂU ĐỒ KẾT HÌNH CLIQUE 5 k IDP+: Thời gian chạy thuật tốn Hình 4.25: So sánh thuật toán IDP+ với thuật toán tối ưu tham lam, biểu đồ kết hình clique Kết chạy thuật tốn với n=15: KẾT QUẢ CHẠY THUẬT TỐN VỚI n=15, BIỂU ĐỒ KẾT HÌNH CHUỖI 60 Thời gian (s) 50 40 30 20 10 k IDP+: Thời gian chạy thuật tốn IDP+: Chi phí kết IDP: Thời gian chạy thuật toán IDP: Chi phí kết Hình 4.26: Kết chạy thuật tốn với n=15, biểu đồ kết hình chuỗi 61 + Chương 4: Hệ thống mô ứng dụng thuật toán IDP tối ưu truy vấn CSDLPT KQ thực nghiệm 50 KẾT QUẢ CHẠY THUẬT TOÁN VỚI n=15, BIỂU ĐỒ KẾT HÌNH SAO Thời gian (s) 40 30 20 10 k IDP+: Thời gian chạy thuật tốn IDP+: Chi phí kết IDP: Thời gian chạy thuật tốn IDP: Chi phí kết Hình 4.27: Kết chạy thuật tốn với n=15, biểu đồ kết hình 35 KẾT QUẢ CHẠY THUẬT TỐN VỚI n=15, BIỂU ĐỒ KẾT HÌNH CLIQUE Thời gian (s) 30 25 20 15 10 k IDP+: Thời gian chạy thuật tốn IDP+: Chi phí kết IDP: Thời gian chạy thuật toán IDP: Chi phí kết Hình 4.28: Kết chạy thuật tốn với n=15, biểu đồ kết hình clique Kết chạy thuật toán với n=20: 80 KẾT QUẢ CHẠY THUẬT TỐN VỚI n=20, BIỂU ĐỒ KẾT HÌNH CHUỖI Thời gian (s) 70 60 50 40 30 20 10 k IDP+: Thời gian chạy thuật toán IDP+: Chi phí kết IDP: Thời gian chạy thuật tốn IDP: Chi phí kết Hình 4.29: Kết chạy thuật toán với n=20, biểu đồ kết hình chuỗi 62 + Thời gian (s) Chương 4: Hệ thống mơ ứng dụng thuật tốn IDP tối ưu truy vấn CSDLPT KQ thực nghiệm 90 80 70 60 50 40 30 20 10 KẾT QUẢ CHẠY THUẬT TỐN VỚI n=20, BIỂU ĐỒ KẾT HÌNH SAO k IDP+: Thời gian chạy thuật toán IDP+: Chi phí kết IDP: Thời gian chạy thuật tốn IDP: Chi phí kết Hình 4.30: Kết chạy thuật toán với n=20, biểu đồ kết hình 200 KẾT QUẢ CHẠY THUẬT TỐN VỚI n=20, BIỂU ĐỒ KẾT HÌNH CLIQUE Thời gian (s) 150 100 50 k IDP+: Thời gian chạy thuật tốn IDP+: Chi phí kết IDP: Thời gian chạy thuật tốn IDP: Chi phí kết Hình 4.31: Kết chạy thuật tốn với n=20, biểu đồ kết hình clique Nhận xét: Về tốc độ tối ưu: Trong thực nghiệm này, truy vấn có 10 quan hệ hình chuỗi hình sao, thuật tốn IDP+ có thời gian tối ưu nhanh so với thuật tốn IDP, nhiên, truy vấn phức tạp thuật tốn có thời gian tối ưu gần tương đương nhau, ngun nhân thuật tốn IDP+ khơng thay đổi nhiều mã nguồn so với thuật toán IDP Đối với truy vấn có 15 quan hệ trở lên, đặc biệt với trường hợp phức tạp truy vấn có dạng hình clique, thuật tốn thực tối ưu với giá trị k Khi giá trị k lớn hơn, thuật toán cần nhiều thời gian để hoàn thành tối ưu Tuy nhiên, cần lưu ý trường hợp 63 + Chương 4: Hệ thống mơ ứng dụng thuật tốn IDP tối ưu truy vấn CSDLPT KQ thực nghiệm truy vấn hình clique để mô cho trường hợp xấu phải tối ưu truy vấn, thực tế nhà thiết kế CSDL không tạo nên CSDL phức tạp đến mức có dư thừa liệu lớn Về chất lượng phương án tối ưu: Trong hầu hết trường hợp thực nghiệm này, thuật tốn IDP+ tìm phương án thực thi truy vấn có chất lượng cao thuật tốn IDP, tức phương án trả có chi phí nhỏ Với truy vấn hình sao, thuật tốn IDP+ tìm phương án có chi phí nhỏ so với phương án tìm thuật tốn IDP, không chênh lệch nhiều Tuy nhiên, với truy vấn hình chuỗi hình clique, có phân biệt rõ rệt chất lượng phương án tối ưu thuật tốn IDP+ gần ln tạo phương án tốt Đặc biệt, chất lượng phương án tạo thuật tốn IDP+ có biến động khơng lớn giá trị chi phí ứng với giá trị k, điều giúp ích cho việc định giá trị k sử dụng để tối ưu truy vấn, giá trị k nhỏ giúp tìm phương án tốt mà thời gian tối ưu truy vấn lại nhanh 4.3.2 Thực nghiệm 2: Ở thực nghiệm này, truy vấn gồm 10 quan hệ gửi từ máy tính người dùng đến Sv1, truy vấn sau: Câu truy vấn với phép kết: SELECT * FROM Orders A, OrderDetail B, Customer C, Product D, Supplier E, Shipper F, Invoice G, Category H, Employee I, ProductPhoto K WHERE A.OrderID=B.OrderID AND A.CustomerID=C.CustomerID AND A.EmployeeID=I.EmployeeID AND A.ShipVia=F.ShipperID AND A.OrderID=G.OrderID AND B.ProductID=D.ProductID AND C.CustomerID=G.CustomerID AND D.SupplierID=E.SupplierID AND 64 + Chương 4: Hệ thống mơ ứng dụng thuật tốn IDP tối ưu truy vấn CSDLPT KQ thực nghiệm D.CategoryID=H.CategoryID AND G.ShipperID=F.ShipperID AND G.EmployeeID=I.EmployeeID AND D.ProductID=K.ProductID; Thời gian tối ưu, thời gian thực thi phương án thời gian trả kết truy vấn với 47.482 cho người dùng sau: THỜI GIAN TỐI ƯU VÀ CHI PHÍ CỦA PHƯƠNG ÁN 25 20 15 10 IDP+: Thời gian tối ưu IDP: Thời gian tối ưu IDP+: Chi phí phương án tối ưu IDP: Chi phí phương án tối ưu Hình 4.32: Thời gian tối ưu thời gian thực thi phương án IDP, IDP+ THỜI GIAN TRẢ VỀ TRUY VẤN CHO NGƯỜI DÙNG 40 35 30 25 20 15 10 IDP+: Thời gian trả kết IDP: Thời gian trả kết Thực thi truy vấn khơng sử dụng tối ưu Hình 4.33: Thời gian trả kết truy vấn cho người dùng Câu truy vấn với phép kết, chiếu, chọn: 65 + Chương 4: Hệ thống mơ ứng dụng thuật tốn IDP tối ưu truy vấn CSDLPT KQ thực nghiệm SELECT C.CustomerID, C.CustomerName, A.OrderID, A.OrderDate, D.ProductName, B.UnitPrice, E.SupplierID, E.SupplierName, F.ShipperID, F.ShipperName, G.InvoiceNo, G.InvoiceDate, H.CategoryID, H.CategoryName, I.EmployeeID, I.EmpLastName, K.ProductPhotoID, K.LargePhotoFileName FROM Orders A, OrderDetail B, Customer C, Product D, Supplier E, Shipper F, Invoice G, Category H, Employee I, ProductPhoto K WHERE A.OrderID=B.OrderID AND A.CustomerID=C.CustomerID AND A.EmployeeID=I.EmployeeID AND A.ShipVia=F.ShipperID AND A.OrderID=G.OrderID AND B.ProductID=D.ProductID AND C.CustomerID=G.CustomerID AND D.SupplierID=E.SupplierID AND D.CategoryID=H.CategoryID AND G.ShipperID=F.ShipperID AND G.EmployeeID=I.EmployeeID AND D.ProductID=K.ProductID AND A.OrderDate BETWEEN '01/12/2016 08:00:00 AM' AND '02/25/2016 5:00:00 AM'; Thời gian tối ưu, thời gian thực thi phương án thời gian trả kết truy vấn với 23.723 cho người dùng sau: THỜI GIAN TỐI ƯU VÀ CHI PHÍ CỦA PHƯƠNG ÁN 12 Thời gian (s) 10 2 k IDP+: Thời gian tối ưu IDP+: Chi phí phương án tối ưu IDP: Thời gian tối ưu IDP: Chi phí phương án tối ưu Hình 4.34: Thời gian tối ưu thời gian thực thi phương án IDP, IDP+ 66 + Chương 4: Hệ thống mơ ứng dụng thuật tốn IDP tối ưu truy vấn CSDLPT KQ thực nghiệm THỜI GIAN TRẢ VỀ TRUY VẤN CHO NGƯỜI DÙNG 16 14 Thời gian (s) 12 10 2 IDP+: Thời gian trả kết truy vấn Thực thi truy vấn không sử dụng tối ưu k IDP: Thời gian trả kết truy vấn Hình 4.35: Thời gian trả kết truy vấn cho người dùng Hình 4.36: Giao diện chương trình mơ thực tối ưu truy vấn 4.2.3 Đánh giá: Các kết thực nghiệm cho thấy hiệu thuật toán IDP+ cải tiến từ thuật toán IDP cách kết hợp cách tiếp cận heuristic thuật toán A* vào thuật toán IDP, thay cho cách tiếp cận tham lam Cách tiếp cận giúp cho thuật tốn IDP+ có nhìn toàn cục đánh giá, lựa chọn phương án bước lặp quy hoạch động, từ hạn chế chọn nhầm phương án dẫn đến 67 + Chương 4: Hệ thống mô ứng dụng thuật toán IDP tối ưu truy vấn CSDLPT KQ thực nghiệm kết không tốt, chất lượng phương án tối ưu trả nâng lên, chênh lệch chất lượng phương án tối ưu giá trị k thay đổi giảm, giúp tối ưu hiệu truy vấn phức tạp với số lượng quan hệ lớn cách chọn giá trị k nhỏ Các kết thực nghiệm cho thấy việc ứng dụng thuật toán IDP+ để tối ưu truy vấn kết CSDL phân tán thực đạt hiệu tối ưu, giúp giảm thời gian trả kết truy vấn cho người dùng Việc kết hợp thuật toán IDP+ với phương pháp tối ưu truy vấn khác hứa hẹn mang lại hiệu tối ưu cao 68 CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 5.1 Kết luận: Trong luận văn này, việc ứng dụng có cải tiến thuật tốn IDP Donald Kossmann Konrad Stocker [12] đề xuất để xây dựng hệ tối ưu tối truy vấn kết CSDL phân tán đạt hiệu Trong đó, thuật tốn IDP+ đề xuất báo cáo tạo cách kết hợp cách tiếp cận heuristic thuật toán A* vào thuật toán IDP để thay cho cách tiếp cận tham lam, giúp nâng cao hiệu tối ưu truy vấn CSDL phân tán Bên cạnh đó, thay đổi nhỏ khác thực thuật toán IDP bước loại bỏ phương án không cần thiết để thuật tốn xóa triệt để tất phương án khơng sử dụng q trình liệt kê, tìm kiếm phương án sau cùng, góp phần làm giảm dung lượng nhớ cần cho thuật toán mức độ định Trong hệ thống mơ tối ưu truy vấn CSDP phân tán trình bày luận văn này, hoạt động chép hàng loạt hỗ trợ thư viện Net Framework sử dụng để chép quan hệ có kích thước liệu lớn từ trạm sang trạm khác cách nhanh chóng thay thực theo Hệ thống tối ưu ứng dụng thuật toán IDP+ tối ưu hiệu truy vấn đơn giản, có số lượng quan hệ nhỏ (𝑛 ≤ 10), đồng thời có khả tối ưu truy vấn phức tạp với số lượng quan hệ lớn (từ 10 đến 20) có biểu đồ kết dạng đơn giản hình chuỗi, phức tạp hình sao, clique mà thuật tốn tìm kiếm đầy đủ dựa quy hoạch động không khả thi để thực tối ưu độ phức tạp cao Bên cạnh đó, thuật tốn tối ưu trường hợp quan hệ nhân trạm hệ thống phân tán 5.2 Hướng phát triển: Trong thời gian giới hạn đề tài luận văn này, luận văn tập trung nghiên cứu tối ưu truy vấn kết nên số tồn hướng phát triển sau: - Các truy vấn viết dạng T–SQL có nhiều cách viết khác nhau, luận văn tập trung vào nghiên cứu thuật toán tối ưu, mơ-đun Phân tích truy vấn 69 Chương 5: Kết luận hướng phát triển hệ thống chưa hoàn thiện mức cao nên chưa thể nhận dạng nhiều cách viết truy vấn để tách thành phần bên truy vấn phức tạp, hệ thống tối ưu truy vấn viết theo cấu trúc nêu phần thực nghiệm, kéo theo việc hệ thống tối ưu truy vấn với đầy đủ phép kết, chọn, chiếu Đây thách thức lớn cho nghiên cứu tương lai - Hệ thống tối ưu ứng dụng thuật toán IDP+ cài đặt để tối ưu truy vấn CSDL phân tán trường hợp quan hệ nhân nhiều trạm khác nhau, nhiên chưa xử lý trường hợp liệu quan hệ phân mảnh không đủ thời gian để xây dựng hệ tiền xử lý liệu phân tán Đây động lực để nghiên cứu 70 TÀI LIỆU THAM KHẢO Tiếng Việt: [1] N V Dũng (2012), "Tối ưu hóa truy vấn sở liệu phân tán," BC Luận văn Thạc sĩ - Đại học Đà Nẵng [2] P T T Huyền (2010), "Tối ưu hóa truy vấn sở liệu phân tán," BC Luận văn Thạc sĩ - Đại học Thái Nguyên, Thái Nguyên [3] L T L Hương (2004), "Các thuật toán tối ưu truy vấn sở liệu phân tán," BC Luận văn Thạc sĩ - Đại học Quốc gia Hà Nội, Hà Nội [4] N T Loan (2011), "Tối ưu hóa truy vấn sở liệu phân tán," BC Luận văn Thạc sĩ - Trường Đại học CNTT&TT - Đại học Thái Nguyên, Thái Nguyên [5] V Đ Mạnh (2016), "Một số thuật toán tối ưu hóa truy vấn sở liệu phân tán," BC Luận văn Thạc sĩ - Đại học Công nghệ thông tin Truyền thông Thái nguyên, Thái Nguyên [6] Đ T Nhẫn (2013), "Tối ưu hóa truy vấn sở liệu phân tán," BC Luận văn Thạc sĩ - Học viện Cơng nghệ Bưu Viễn Thơng, Hà Nội [7] Đ N Sơn (2012), "Nghiên cứu tối ưu hóa hệ sở liệu phân tán," BC Luận văn Thạc sĩ, Học viện Cơng nghệ Bưu Viễn Thông, Hà Nội Tiếng Anh: [8] Abhijeet Raipurkar, Dr G.R Bamnote (2013), "Query Optimization In Distributed Database System," International Journal Of Computer Science And Applications, vol 6, no 2, pp 319-322 [9] Ajay Wagh, Varsha Nemade (2017), "Query Optimization using Modified Ant Colony Algorithm," International Journal of Computer Applications (0975 – 8887), vol 167, no 2, pp 29-33 [10] Astrahan, M M., Blasgen, M W., Chamberlin, D D., Eswaran, K P., Gray, J N (1976), "System r: A relational database management system," ACM Trans Database System, p 97–137 [11] B Vance and D Maier (1996), "Rapid bushy join-order optimization with Cartesian products," In Proc of the ACM SIGMOD Conf on Management of Data, pp 35-46 71 [12] Donald Kossmann, Konrad Stocker (2000), "Iterative Dynamic Programming: A New Class of Query Optimization Algorithms," ACM Transactions on Database Systems, vol 25 [13] E Shekita, H Young, and K.-L Tan (1993), "Multi-join optimization for symmetric multiprocessors," In Proc of the Conf on Very Large Data Bases (VLDB), pp 479-492 [14] Kambayashi, Y., Yoshikawa, M., and Yajima, S (1982), "Query processing for distributed databases using generalized semi–joins," In Proc ACM SIGMOD Int Conf on Management of Data, vol 2, no 2, p 151–160 [15] Y Kang (1991), "Randomized Algorithms for Query Optimization," PhD Thesis, University of Wisconsin-Madison [16] D Kossman (2000), "The State of Art in Distributed Query Processing," ACM Computing Survey, pp 422-469 [17] L Haas, J C Freytag, G Lohman, and H Pirahesh (1989), "Extensible query processing in starburst," In Proc of the ACM SIGMOD Conf on Management of Data, pp 377-389 [18] Lohman, G., Mohan, C., Haas, L., Daniels, D., Lindsay, B., Selinger, P., and Wilms, P (1985), "Query processing in r*," In Kim et al., pp 31-47 [19] M Steinbrunn, G Moerkotte, and A Kemper (1997), "Heuristic and randomized optimization for the join ordering problem," The VLDB Journal, vol 6, no 3, pp 191-208 [20] M Tamer Oezsu, Patrick Valduriez (2011), Principles of Distributed Database Systems, Third Edition, New York: Springer, pp 245-290 [21] P A Bernstein, N Goodman, E Wong, C L Reeve, and J B Rothie (1981), "Query Processing in a System for Distributed Databases (SDD-1)," ACM Transactions on Database Systems, vol 6, no 4, pp 602-625 [22] P Selinger, M Astrahan, D Chamberlin, R Lorie, T Price (1979), "Access path selection in a relational database management system," Proc of the ACM SIGMOD Conf on Management of Data, pp 23-34 [23] F Palermo (1974), "A database search problem," Plenum Publ, New York, NY [24] Peng Wang, Hong Yu Li (2015), "The query optimization algorithm based on distributed heterogeneous database," Computing, Control, Information and Education Engineering - Liu, Sung and Yao (Eds), pp 13-16 72 [25] R Orfali, D Harkey, J Edwards (1996), "Essential Client/Server Survival Guide, 2nd edition," Wiley [26] C Ray (2009), Distributed Database Systems, Dorling Kindersley, p 206 [27] S Ganguly, W Hasan, and R Krishnamurthy (1992), "Query optimization for parallel execution," In Proc of the ACM SIGMOD Conf on Management of Data, p [28] Stonebraker (1986), "The Design and Implementation of Distributed INGRES (context)," [29] W Scheufele, G Moerkotte (1996), "Constructing Optimal Bushy Processing Trees for Join Queries is NP-hard," Universitat Mannheim, Mannheim, Germany 73 ... VỀ TỐI ƯU TRUY VẤN CƠ SỞ DỮ LIỆU PHÂN TÁN 1.1 Giới thiệu tối ưu truy vấn: 1.2 Các nghiên cứu tối ưu truy vấn sở liệu phân tán: CHƯƠNG 2: CÁC THÀNH PHẦN QUAN TRỌNG TRONG. .. TRONG TỐI ƯU TRUY VẤN CƠ SỞ DỮ LIỆU PHÂN TÁN .13 2.1 Giới thiệu: 13 2.2 Kiến trúc hệ thống sở liệu phân tán: 14 2.3 Xử lý truy vấn sở liệu phân tán: 16 2.4 Tối ưu truy. .. IDP+ tối ưu truy vấn CSDL phân tán kết thực nghiệm Chương 5: Kết luận hướng phát triển CHƯƠNG TỔNG QUAN VỀ TỐI ƯU TRUY VẤN CƠ SỞ DỮ LIỆU PHÂN TÁN 1.1 Giới thiệu tối ưu truy vấn: Mỗi truy vấn người