Tối ưu hóa cơ sở dữ liệu phân tán : Luận văn ThS. Công nghệ thông tin: 60 48 01 04

79 72 0
Tối ưu hóa cơ sở dữ liệu phân tán : Luận văn ThS. Công nghệ thông tin: 60 48 01 04

Đ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

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ THƠ MÂY TỐI ƯU HÓA CƠ SỞ DỮ LIỆU PHÂN TÁN LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN HÀ NỘI – 2015 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ THƠ MÂY TỐI ƯU HÓA CƠ SỞ DỮ LIỆU PHÂN TÁN Ngành: Công nghệ thông tin Chuyên ngành: Hệ thống thông tin Mã số: 60480104 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THƠNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS TS ĐỒN VĂN BAN HÀ NỘI – 2015 LỜI CAM ĐOAN Tôi xin cam đoan, kết luận văn hoàn toàn kết tự thân tơi tìm hiểu, nghiên cứu Các tài liệu tham khảo trích dẫn thích đầy đủ Tác giả Nguyễn Thị Thơ Mây LỜI CẢM ƠN Lời đầu tiên, em xin chân thành cảm ơn PGS.TS Đoàn Văn Ban, người trực tiếp hướng dẫn, giúp đỡ tạo điều kiện thuận lợi cho em từ lúc tìm hiểu, định hướng tìm kiếm tài liệu lĩnh vực sở liệu phân tán lúc hoàn thành luận văn Em xin gửi lời cám ơn sâu sắc đến tất thầy cô giáo dạy dỗ truyền đạt kiến thức, kinh nghiệm quý báu cho chúng em suốt hai năm cao học trường Đại học Công nghệ - Đại học Quốc gia Hà nội Cuối cùng, em xin cảm ơn tất bạn bè, người thân đồng nghiệp khích lệ, động viên, đóng góp ý kiến giúp đỡ để em hoàn thành luận văn Hà nội, ngày … , tháng … , năm 2015 MỤC LỤC MỤC LỤC DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT DANH MỤC CÁC HÌNH VẼ LỜI MỞ ĐẦU Chương 1: 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 Định nghĩa 1.1.2 Ưu điểm 1.1.3 Nhược điểm 1.2 Đặc điểm sở liệu phân tán 1.2.1 Chia sẻ tài nguyên 1.2.2 Tính mở 10 1.2.3 Khả song song 10 1.2.4 Khả mở rộng 10 1.2.5 Khả thứ lỗi 10 1.2.6 Tính suốt 11 1.2.7 Đảm bảo tin cậy quán 11 1.3 Kiến trúc CSDL phân tán 11 1.4 Hệ quản trị sở liệu phân tán 12 1.4.1 Khái niệm 12 1.4.2 Kiến trúc hệ quản trị CSDL phân tán 13 1.5 Thiết kế sở liệu phân tán 14 1.5.1 Các chiến lược phân tán liệu 14 1.5.2 Phân mảnh liệu 14 1.5.2.1 Phương pháp phân mảnh ngang 15 1.5.2.2 Phương pháp phân mảnh dọc 23 1.5.2.3 Phương pháp phân mảnh hỗn hợp 29 1.6 Kết luận 30 Chương 2: TỐI ƯU HÓA TRUY VẤN CƠ SỞ DỮ LIỆU PHÂN TÁN 31 2.1 Vấn đề tối ưu hóa xử lý truy vấn 31 2.2 Quá trình xử lý truy vấn 34 2.2.1 Phân rã truy vấn 34 2.2.2 Cục hóa liệu phân tán 41 2.2.2.1 Rút gọn cho phân mảnh ngang nguyên thủy 41 2.2.2.2 Rút gọn cho phân mảnh dọc 44 2.2.2.3 Rút gọn cho phân mảnh ngang dẫn xuất 44 2.2.2.4 Rút gọn cho phân mảnh hỗn hợp 46 2.2.3 Tối ưu hóa tồn cục 47 2.2.3.1 Khơng gian tìm kiếm 48 2.2.3.2 Chiến lược tìm kiếm 49 2.2.3.3 Mơ hình chi phí 50 2.2.4 Tối ưu hóa cục 54 2.3 Các thuật tốn tối ưu hóa truy vấn phân tán 54 2.3.1 Thứ tự kết nối 55 2.3.2 Thuật toán INGRES phân tán 56 2.3.3 Thuật toán R* 60 2.3.4 Thuật toán DP-ACO 63 2.4 Kết luận 67 Chương 3: CHƯƠNG TRÌNH CÀI ĐẶT THUẬT TỐN TỐI ƯU HÓA TRUY VẤN 67 3.1 Bài toán quản lý bệnh nhân 67 3.2 Mơ hình phân tán CSDL, cơng cụ, ngơn ngữ lập trình 70 3.3 Thuật tốn áp dụng 70 3.4 Kết thực nghiệm 70 3.5 Kết luận 73 KẾT LUẬN 74 TÀI LIỆU THAM KHẢO 75 DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT STT Ký hiệu ACO (Ant Colony Optimization) CSDL CPU (Central Processing Unit ) DBMS (Database Management System) DDBMS (Distributed Database Management System) DP (Dynamic Programming) I/O (Input/Output) PT (Processing tree) SSL (Search Space Limit) Diễn giải Tối ưu đàn kiến Cơ sở liệu Bộ xử lý trung tâm Hệ quản trị sở liệu Hệ quản trị sở liệu phân tán Quy hoạch động Vào/Ra Cây xử lý Giới hạn khơng gian tìm kiếm DANH MỤC CÁC HÌNH VẼ Hình 1.1 Mơi trường hệ CSDL phân tán ….8 Hình 1.2 Kiến trúc CSDL phân tán 12 Hình 1.3: Mối quan hệ quan hệ đường nối 16 Hình 1.4: Ma trận tụ tương quan CA 26 Hình 1.5: Phân đoạn hỗn hợp 29 Hình 1.6 Tái xây dựng phân đoạn hỗn hợp 30 Hình 2.1: Giải pháp A 32 Hình 2.2: Giải pháp B 32 Hình 2.3: Sơ đồ truy trình xử lý truy vấn 34 Hình 2.4: Đồ thị truy vấn Đồ thị nối 37 Hình 2.5: Đồ thị truy vấn Đồ thị nối với câu truy vấn sai ngữ nghĩa 37 Hình 2.6: Cây đại số quan hệ 39 Hình 2.7: Cây đại số quan hệ sau tái cấu trúc 41 Hình 2.8: Câu truy vấn gốc 42 Hình 2.9: Câu truy vấn rút gọn 42 Hình 2.10: Rút gọn phân mảnh ngang 43 Hình 2.11 Rút gọn phân mảnh dọc 44 Hình 2.12: Rút gọn cho phân mảnh ngang dẫn xuất 46 Hình 2.13: Rút gọn phân mảnh hỗn hợp 47 Hình 2.14: Bộ tối ưu truy vấn 48 Hình 2.15: Các nối 49 Hình 2.16: Hình dáng số nối 49 Hình 2.17: Đồ thị minh họa tổng chi phí thời gian trả lời 51 Hình 2.18:Truyền tốn hạng phép tốn hai ngơi 55 Hình 2.19: Đồ thị nối truy vấn phân tán 56 Hình 2.20: Đồ thị nối truy vấn q1 62 Hình 2.21: Các thứ tự kết nối 63 Hình 2.22: Quá trình định đường đàn kiến 64 Hình 3.1: Mối quan hệ bảng liệu 70 Hình 3.2: Kết thực câu truy vấn trạm 71 Hình 3.3: Kết thực câu truy vấn trạm 71 Hình 3.4: Kết thực câu truy vấn trạm 72 Hình 3.5: Kết thực câu truy vấn trạm 72 Hình 3.6: Kết thực câu truy vấn trạm 73 LỜI MỞ ĐẦU Ngày nay, với phát triển nhanh chóng cơng nghệ thơng tin, ứng dụng sở liệu thâm nhập vào hoạt động kinh tế xã hội, quản lý nhà nước đem lại hiệu vơ to lớn, góp phần tăng suất lao động, đơn giản quản lý cải cách hành Xã hội ngày phát triển, yêu cầu khối lượng thông tin cần lưu trữ, xử lý ngày tăng Trên thực tế, doanh nghiệp, đơn vị, quan, tổ chức phân bố vùng rộng lớn mặt địa lý, phạm vi nhiều thành phố toàn quốc gia hay vài quốc gia, chí tồn cầu Do đó, liệu khơng thể lưu trữ tập trung địa điểm định mà rải khắp địa điểm mà quan, tổ chức hay doanh nghiệp hoạt động Khi liệu khơng cịn lưu trữ tập trung vấn đề làm để quản lý, tốc độ truy xuất liệu phục vụ cho xử lý công việc không bị ảnh hưởng, không bị gián đoạn đặt Cơ sở liệu phân tán đời giải yêu cầu Cơ sở liệu lĩnh vực quan tâm nhiều công nghệ thông tin Việc nghiên cứu CSDL phát triển ngày phong phú, đa dạng Cho đến nay, có hàng loạt vấn đề CSDL nghiên cứu, giải CSDL phân tán nói riêng hệ phân tán nói chung lĩnh vực nghiên cứu không mới, gần với phát triển nhanh chóng mạnh mẽ công nghệ truyền thông, mạng Internet đặc biệt xu phát triển thương mại điện tử, CSDL phân tán trở thành lĩnh vực thu hút nhiều quan tâm nhà nghiên cứu nhà sản xuất phần mềm Khi khối lượng thông tin phải xử lý ngày lớn, phong phú đa dạng vấn đề đặt xử lý thông tin để giảm chi phí đến mức tối thiểu Một giải pháp có tính khả thi phải tối ưu hóa câu lệnh truy vấn liệu Nghiên cứu tối ưu hóa truy vấn sở liệu phân tán cần thiết để khai thác có hiệu liệu phân tán Do đó, tơi chọn nghiên cứu đề tài “Tối ưu hóa sở liệu phân tán” làm luận văn tốt nghiệp Mục tiêu luận văn nghiên cứu phương pháp thiết kế sở liệu phân tán, kỹ thuật tối ưu hóa câu truy vấn sở liệu phân tán, cài đặt thử nghiệm số thuật toán tối ưu hóa câu truy vấn sở liệu phân tán, từ đưa nhận xét, đánh giá ưu điểm, nhược điểm thuật toán tối ưu để có lựa chọn phù hợp với toán thực tế Với mục tiêu luận văn vậy, bố cục luận văn gồm: phần mở đầu, ba chương nội dung phần kết luận Chương 1: Khái quát sở liệu phân tán Giới thiệu tổng quan sở liệu phân tán, phân biệt sở liệu tập trung với sở liệu phân tán để thấy khác biệt hai sở liệu lợi ích 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 2: Tối ưu hóa truy vấn sở liệu phân tán Trong 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 3: Cài đặt thử nghiệm thuật tốn: Trình bày mơ hình cài đặt hệ thống Cài đặt thuật toán INGRES phân tán, R* so sánh, đánh giá kết thực nghiệm cho tốn tối ưu hóa truy vấn Cuối kết luận hướng phát triển đề tài Nội dung luận văn trình bày, thảo luận seminar khoa học Bộ môn Hệ thống thông tin, khoa Công nghệ Thông tin, trường Đại học Công nghệ Đại học Quốc gia Hà Nội 61 thuật yêu cầu liệu truyền lớn số lượng thông báo nhỏ tốt với quan hệ nhỏ - Tìm cần (Fetch – as – needed): Kỹ thuật giống với phép nối nửa quan hệ với nút Quan hệ quét tuần tự, giá trị kết nối gửi tới trạm quan hệ Những giá trị quan hệ phù hợp với giá trị quan hệ chọn gửi tới trạm chứa quan hệ Kỹ thuật phù hợp với quan hệ lớn phép kết nối có tính chọn lọc tốt Với kỹ thuật Fetch – as – needed có chiến lược nối R S, với R quan hệ ngoài, S quan hệ Ký hiệu, LT thời gian xử lý cục bộ, CT chi phí truyền thơng, s số trung bình S phù hợp với R card (S A R) s= card (R) + Chiến lược 1: Chuyển toàn quan hệ tới trạm chứa quan hệ Tổng chi phí là: Total_cost = LT( gọi card(R) từ R) + CT (size (R)) + LT( gọi s từ S)* card (R) + Chiến lược 2: Chuyển quan hệ tới trạm quan hệ Trường hợp này, quan hệ kết nối chúng đến nên cần lưu quan hệ T tạm thời Vì ta có: Total_cost = LT(gọi card(S) từ S) + CT(size(S)) + LT(lưu card(S) T) + LT(gọi card(R) từ R) + LT(gọi s từ T)*card(R) + Chiến lược 3: Tìm quan hệ cần quan hệ Trường hợp này, với R, giá trị thuộc tính kết nối A gửi tới trạm S Sau đó, s phù hợp với S gọi gửi tới trạm R để kết nối chúng đến Vì ta có: Total_cost = LT(gọi card(R) từ R) + CT(length(A))*card(R) + LT(gọi s từ S)*card(R) + CT(s*length(S))*card(R) + Chiến lược 4: Chuyển hai quan hệ tới trạm thứ ba tính tốn kết nối Trường hợp quan hệ trước tiên chuyển tới trạm thứ lưu quan hệ tạm thời T Sau quan hệ ngồi chuyển đến trạm thứ kết nối với T chúng đến Vì vậy, ta có: Total_cost = LT(gọi card(S) từ S) + CT(size(S)) 62 + LT(gọi card(S) từ T) + LT(gọi card(R) từ R) + CT(size(R)) + LT(gọi s từ T)*card(R) Thuật toán R* giảm đáng kể số lựa chọn sử dụng quy hoạch động thực nghiệm Với quy hoạch động, lựa chọn cấu trúc động lược bớt cách loại lựa chọn khơng có hiệu Độ phức tạp thuật tốn: Thuật tốn tìm kiếm tồn lấy từ hệ R* Về mặt thiết kế xem liên hệ n! hoán vị thứ tự kết nối để từ chọn hốn vị với chi phí cực tiểu Độ phức tạp thuật toán tỷ lệ với n! khiến chi phí cho việc tối ưu hố lớn n lớn Ví dụ 2.18: Xét câu truy vấn q1: “Tên nhân viên làm dự án CAD/CAM” biểu diễn dạng SQL sau: SELECT NV.TenNV FROM NV, PC, DA WHERE NV.MaNV = PC MaNV and PC.MaDA = DA.MaDA and DA.TenDA = “CAD/CAM” có đồ thị nối Hình 2.20: PC MNV MDA NV DA Hình 2.20: Đồ thị nối truy vấn q1 quan hệ lưu trạm khác Các bước thuật toán minh họa sau: - Bước (1): Giả sử chọn đường truy cập quan hệ tốt sau: + NV: qt (vì khơng có phép chọn NV) + PC: quét (vì khơng có phép chọn PC) + DA: mục trường TenDA (do có phép chọn DA dựa vào TenDA) - Bước (2)(3): Xác định chiến lược kết nối với thứ tự (tối đa 3! thứ tự):     PC DA DA PC PC NV NV x DA NV NV DA PC 63  DA x NV PC Ta có chiến lược Hình 2.21 Mức thể đường truy cập quan hệ tốt Mức thứ thể phương thức kết nối tốt quan hệ với quan hệ khác Chiến lược NV x DA DA x NV tỉa sử dụng tích Đề tránh sử dụng (thay chiến lược khác) Giả sử NV PC PC DA có chi phí cao PC NV DA PC, chúng tỉa Hai khả lại thể mức độ thứ Thứ tự kết nối tốt có chi phí tốt nằm trong chiến lược: (PC NV) DA (DA PC) NV Do DA xác định đường truy cập theo mục trường TenDA tốt quét PC nên chiến lược (DA PC) NV lựa chọn chiến lược có chi phí tốt để thực thi câu truy vấn Cụ thể là: Chọn quan hệ DA theo mục TenDA  kết nối với quan hệ PC theo mục MDA  kết nối với NV theo mục MNV - Bước (4): Việc truyền liệu trạm sử dụng hai kỹ thuật Ship-whole Fetch – as – needed trình bày dựa vào lực lượng quan hệ quan hệ trung gian NV NV PC Tỉa PC NV x DA PC NV Tỉa DA PC DA DA PC Tỉa (PC NV) DA DA x NV Tỉa (DA PC) NV Hình 2.21: Các thứ tự kết nối 2.3.4 Thuật toán DP-ACO Dựa ưu điểm, nhược điểm thuật toán quy hoạch động tối ưu đàn kiến, Tansel cộng đề xuất thuật tốn DP-ACO để tối ưu hóa truy vấn đa kết nối (equijoin queries) môi trường CSDL phân tán 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 DP thực tối ưu đến quan hệ 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 quan hệ thời gian giới hạn không gian nhớ hạn chế Một ưu điểm khác DP-ACO 64 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  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: Hình 2.22 mơ tả quy trình định loài kiến việc lựa chọn đường chúng Khi kiến gặp điểm định A, số lựa chọn theo hướng số chọn theo hướng khác cách ngẫu nhiên Giả sử kiến có tốc độ di chuyển nhau, lựa chọn bên ngắn đến B nhanh so với chọn bên lại Kết lượng pheromone bên ngắn lớn so với bên dài nhiều kiến chọn Hệ thống đàn kiến nhân tạo tạo thành từ nguyên tắc đàn kiến để giải vấn đề tối ưu hóa khác Pheromone chìa khóa định đàn kiến Hình 2.22: Quá trình định đường đà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 tối ưu hóa đàn kiến biết đến Ant System, đề xuất từ năm 90 Sau đó, số thuật tốn ACO khác đề xuất 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 65 ++ Tăng mức pheromone với tập giải pháp tốt chọn ACO thiết kế phát triển đặc biệt để giải vấn đề liên tục tối ưu tổ hợp (tối ưu hóa kết nối) Số lượng quan hệ truy vấn tăng sử dụng nhiều nhớ nhiều xử lý DDBMS sử dụng DBMS chuẩn tất ứng dụng thương mại bao gồm liệu trạm khác Hành vi đánh dấu đường loài kiến áp dụng để hướng kiến đến khu vực chưa khám phá không gian tìm kiếm thăm tất nút mà khơng biết hình dạng đồ họa giải pháp tối ưu tạo truy vấn CSDL phân tán Kiến tính tốn thời gian chạy kế hoạch thực thi truy vấn cung cấp đưa kết tối ưu, nhanh chóng, hiệu cao với chi phí hiệu  Quy hoạch động (DP)[5] DP thuật tốn tối ưu hóa truy vấn tiếng DBMS DP hoạt động theo cách tiếp cận 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 Ở giai đoạn 2, thuật toán xem xét tất cách để kết nối quan hệ lại với nhau, bắt đầu với kết nối quan hệ việc sử dụng kế hoạch truy cập quan hệ giai đoạn trước Dựa kế hoạch kết nối quan hệ kế hoạch truy cập, DP xây dựng kế hoạch kết nối quan hệ DP tiếp tục xây dựng kế hoạch kết nối n quan hệ 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 gọi sâu trái Sẽ có n! cách để phân bổ n quan hệ tới loại PT Nếu khơng có hạn chế PT gọi đầy đủ Trong nghiên cứu này, sử dụng sâu trái Mơ hình chi phí dựa tổng thời gian xử lý (CPU + I/O) sử dụng Chi phí kế hoạch tính tốn từ lên Mức bao gồm kết nối chiều Tất cặp n quan hệ đánh giá cho tất trạm Nếu hai quan hệ trạm, chi phí bao gồm CPU+ I/O để thực phép kết nối sử dụng thuật toán kết nối vòng lặp lồng Nếu quan hệ, gọi A trạm kết nối, chi phí tổng chi phí truy cập B từ trạm nó, chi phí chuyển B tới trạm kết nối thơng qua mạng truyền thơng, chi phí kết nối quan hệ A với quan hệ B ghi kết (A, B) kết nối ổ đĩa cục Nếu 66 khơng có quan hệ lưu trữ trạm nối, tổng chi phí chi phí quét A B, chuyển chúng qua mạng truyền thông, thực phép kết nối ghi kết lên ổ đĩa Đối với mức PT, kết kết nối trung gian coi bảng sở  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]: Cơ chế phản hồi tích cực tính tốn phân tán ACO làm cho mạnh ACO có khả xử lý song song, tìm kiếm tồn cục tốc độ hội tụ cao 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 tốc độ hội tụ tăng câu trả lời tối ưu chế phản hồi tích cực Từ đó, kết hợp ACO với thuật toán khác quy hoạch động, thuật toán di truyền thuật toán tối ưu hóa bầy đàn đề xuất để cung cấp kết tốt xử lý truy vấn CSDL Khi kết hợp với quy hoạch động, mô hoạt động kiến đồ thị PT Mỗi q 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 tổ hợp lựa chọn thay 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, ta 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 soá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 khơng 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 Đường định tính tốn theo cơng thức sau: pkij τα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 67 đặ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 Các giải pháp cho kết nối đa chiều tính tốn pheromone cập nhật phụ thuộc vào lực lượng quan hệ Lượng tỉa kiểm soát tham số SSL 2.4 Kết luận 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, bao gồm khơng gian tìm kiếm, mơ hình chi phí chiến lược tìm kiếm; minh họa việc sử dụng kỹ thuật kết nối nửa kết nối 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 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 Chương CHƯƠNG TRÌNH CÀI ĐẶT THUẬT TỐN TỐI ƯU HĨA TRUY VẤN 3.1 Bài toán quản lý bệnh nhân Trong Bệnh viện đa khoa Bắc Giang, hàng ngày có nhiều bệnh nhân đến khám khám nhiều lượt khác Do đó, cần có ứng dụng để quản lý thơng tin 68 bệnh nhân lần khám bệnh bệnh nhân Trong lần khám cần quản lý bệnh nhân làm dịch vụ qua phịng khám Trong phạm vi luận văn, tơi demo phần CSDL bệnh viện, gồm bảng liệu sau:  BenhNhan: Lưu thông tin bệnh nhân đến khám bệnh Tên trường liệu Benhnhan_ID MaBenhNhan HoTen NgaySinh GioiTinh DiaChi DanToc QuocTich DienThoai Cmt Kiểu liệu int nvarchar nvarchar datetime bit nvarchar nvarchar nvarchar nvarchar nvarchar Mơ tả Khóa Mã bệnh nhân Họ tên Ngày sinh Giới tính Địa Dân tộc Quốc tịch Số điện thoại Chứng minh thư  Bảng CLS: Lưu thông tin danh mục dịch vụ Cận lâm sàng Tên trường liệu CLS_ID NhomDichVu MaCanLamSang TenChuyenMon DonViTinh DonGia Kiểu liệu numeric nvarchar nvarchar nvarchar nvarchar money Mơ tả ID (khóa chính) Nhóm dịch vụ Mã cận lâm sàng Tên chun mơn Đơn vị tính Đơn giá  CLSKhamBenh: Lưu thông tin dịch vụ CLS mà bệnh nhân đến khám làm Tên trường liệu CLSKhamBenh_ID LichSuPhongKham_ID CLS_ID KetLuan LoidanBS Motahinhanh Image Kiểu liệu numeric int numeric nvarchar nvarchar nvarchar image Mô tả ID (khóa chính) ID lịch sử phịng khám ID cận lâm sàng Kết luận Lời dặn bác sĩ Mơ tả hình ảnh Hình ảnh  KhamBenh: Lưu thơng tin lần đến khám bệnh bệnh nhân Tên trường liệu KhamBenh_ID BenhNhan_ID Kiểu liệu numeric int Mơ tả ID (khóa chính) ID Bệnh nhân 69 SoPhieuKham SoBenhAn BenhPhu BenhChinh SoNgayDieuTri BHYTDuyet KetLuanKham LoiDanBS LyDoKham NgayDonTiep NgayKetLuan DoiTuong PhongKetLuan NoiGioiThieu YTaDieuDuong BacSiKetLuan IsCapCuu TrangThai KhoaDieuTri TheBHYT nvarchar nvarchar nvarchar nvarchar int bit nvarchar nvarchar nvarchar datetime datetime nvarchar nvarchar nvarchar nvarchar nvarchar int int nvarchar numeric Số phiếu khám Sổ bệnh án Bệnh phụ Bệnh Số ngày điều trị BHYT duyệt không Kết luận khám Lời dặn bác sĩ Lý khám Ngày đón tiếp Ngày kết luận Đối tượng Phòng kết luận Nơi giới thiệu Y tá điều dưỡng Bác sĩ kết luận Cấp cứu Trạng thái Khoa điều trị Thẻ BHYT  LichSuPhongKham: Lưu thơng tin phịng khám mà bệnh nhân đến lần khám bệnh Tên trường liệu LichSuPhongKham_ID KhamBenh_ID Phong_ID KetLuan STT Kiểu liệu int numeric nvarchar nvarchar tinyint  Mơ hình quan hệ bảng Hình 3.1 Mơ tả ID (khóa chính) ID lần khám bệnh Phịng khám Kết luận STT 70 Hình 3.1: Mối quan hệ bảng liệu 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 hệ quản trị CSDL SQL Server 2008 + Trạm chứa bảng BenhNhan (20005 ghi) + Trạm chứa bảng: KhamBenh (101627 ghi) LichSuPhongKham (105179 ghi) + Trạm chứa bảng: CLS (57 ghi) CLSKhamBenh (697118 ghi)  Chương trình viết ngơn ngữ lập trình C# 3.3 Thuật tố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.3.1 2.3.2 3.4 Kết thực nghiệm  Thử nghiệm 1: Xét câu truy vấn SELECT BenhNhan.*, KhamBenh.ngaydontiep, LichSuPhongKham.phong_id, LichSuPhongKham.Ketluan,CLSKhamBenh.CLS_ID, CLSKhamBenh.KetLuan, CLS.TenChuyenMon FROM BenhNhan, KhamBenh, LichSuPhongKham, CLSKhamBenh, CLS WHERE BenhNhan.benhnhan_ID = KhamBenh.benhnhan_ID and KhamBenh.khambenh_ID = LichSuPhongKham.khambenh_id and LichSuPhongKham.lichsuphongkham_ID = CLSKhamBenh.lichsuphongkham_id and CLS.CLS_ID=CLSKhamBenh.CLS_ID - Kết thực trạm 1: 71 Hình 3.2: Kết thực câu truy vấn trạm + Tổng số ghi kết quả: 697118 + Tổng thời gian thực truy vấn áp dụng Thuật toán INGRES phân tán: 26301 ms + Tổng thời gian thực truy vấn áp dụng Thuật toán R*: 28818 ms - Kết thực trạm 2: Hình 3.3: Kết thực câu truy vấn trạm + Tổng số ghi kết quả: 697118 + Tổng thời gian thực truy vấn áp dụng Thuật toán INGRES phân tán: 25702 ms + Tổng thời gian thực truy vấn áp dụng Thuật toán R*: 28655 ms - Kết thực trạm 3: 72 Hình 3.4: Kết thực truy vấn trạm + Tổng số ghi kết quả: 697118 + Tổng thời gian thực truy vấn áp dụng Thuật toán INGRES phân tán: 17875 ms + Tổng thời gian thực truy vấn áp dụng Thuật toán R*:19788 ms Các kết cho thấy: Tổng thời gian thực truy vấn trạm ngắn ba trạm với hai thuật toán Do lượng liệu trạm lớn nhiều so với liệu trạm trạm nên thực truy vấn trạm 3, chi phí truyền thơng so với trạm lại Trong thử nghiệm này, sử dụng thuật toán INGRES phân tán hiệu  Thử nghiệm 2: Xét câu truy vấn SELECT Benhnhan.*, KhamBenh.ngaydontiep, LichSuPhongKham.phong_id, LichSuPhongKham.ketluan FROM BenhNhan, KhamBenh, LichSuPhongKham WHERE BenhNhan.benhnhan_ID= KhamBenh.benhnhan_ID and KhamBenh.khambenh_ID = LichSuPhongKham.khambenh_id - Kết thực trạm 1: Hình 3.5: Kết thực câu truy vấn trạm + Tổng số ghi kết quả: 105179 73 + Tổng thời gian thực truy vấn áp dụng Thuật toán INGRES phân tán: 2603 ms + Tổng thời gian thực truy vấn áp dụng Thuật toán R*: 2605 ms - Kết thực trạm 2: Hình 3.6: Kết thực truy vấn trạm + Tổng số ghi kết quả: 105179 + Tổng thời gian thực truy vấn áp dụng Thuật toán INGRES phân tán: 2515 ms + Tổng thời gian thực truy vấn áp dụng Thuật toán R*: 2537 ms Kết thực nghiệm cho thấy: Thời gian thực truy vấn trạm nhanh trạm với hai thuật toán tổng thời gian xử lý truy vấn áp dụng thuật toán INGRES phân tán nhanh so với thuật tốn R* khơng đáng kể 3.5 Kết luận Chương trình bày chương trình cài đặt thuật toá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 kết thực nghiệm chạy số 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, với câu truy vấn có quan hệ tham gia kết nối thử nghiệm 2, thời gian thực nhanh với hai thuật toán (trung bình 2.5 giây) Nhưng với câu truy vấn có quan hệ tham gia kết nối thử nghiệm 1, thời gian thực chậm với thuật tốn (trung bình khoảng 26 giây) Do đó, với câu truy vấn có nhiều quan hệ tham gia kết nối nên sử dụng thuật toán tối ưu truy vấn khác thuật tốn DP-ACO trình bày mục 2.3.4 để rút ngắn thời gian thực 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 toá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 74 KẾT LUẬN Hệ thống phân tán hệ thống sở liệu 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 ”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, phân tích đặc điểm CSDL phân tán, hệ quản trị 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 tố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 tố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, Trê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ế 75 TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt [1] Nguyễn Văn Nhuậ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 [2] 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 [3] 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 [4] Alaa Aljanaby, Emad Abuelrub, and Mohammed Odeh (2005), “A Survey of Distributed Query Optimization”, The International Arab Journal of Information Technology, Vol 2, No [5] 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 [6] Marco Dorigo, Thomas Stutzle (2003), The Ant Colony Optimization Metaheuristic, Algorithms, Applications, and Advances - Handbook of Metaheuristics, Springer US, pp 250-285 [7] Marco Dorigo, Thomas Stutzle (2004), Ant Colony Optimization, MIT Press [8] Chhanda Ray (2009), Distributed Database Systems, Pearson Education India [9] Sacco, M.P, and Yao, S.B (1982), “Query Optimization in Distributed Database Systems,” Advances in Computers, Vol 21, Academic Press [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

Ngày đăng: 23/09/2020, 22:43