Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 88 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
88
Dung lượng
1,05 MB
Nội dung
ĐẠ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ở 1.2.3 Khả song song 1.2.4 Khả mở rộng 1.2.5 Khả thứ lỗi 1.2.6 Tính suốt 1.2.7 Đảm bảo tin cậy quán 1.3 Kiến trúc CSDL phân tán 1.4 Hệ quản trị sở liệu phân tán 1.4.1 Khái niệm 1.4.2 Kiến trúc hệ quản trị CSDL phân tán 1.5 Thiết kế sở liệu phân tán 1.5.1 Các chiến lược phân tán liệu 1.5.2 Phân mảnh liệu 1.5.2.1 Phương pháp phân mảnh ngang 1.5.2.2 Phương pháp phân mảnh dọc 1.5.2.3 Phương pháp phân mảnh hỗn hợp 1.6 Kết luận Chương 2: 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.2 Quá trình xử lý truy vấn 2.2.1 Phân rã truy vấn 2.2.2 Cục hóa liệu phân tán 2.2.2.1 Rút gọn cho phân mảnh ngang nguyên thủy 2.2.2.2 Rút gọn cho phân mảnh dọc 2.2.2.3 Rút gọn cho phân mảnh ngang dẫn xuất 2.2.2.4 Rút gọn cho phân mảnh hỗn hợp 2.2.3 Tối ưu hóa toàn cục 2.2.3.1 Khơng gian tìm kiếm 2.2.3.2 Chiến lược tìm kiếm 2.2.3.3 Mơ hình chi phí 2.2.4 Tối ưu hóa cục 2.3 Các thuật tốn tối ưu hóa truy vấn phân tán 2.3.1 Thứ tự kết nối 2.3.2 Thuật toán INGRES phân tán 2.3.3 Thuật toán R* 2.3.4 Thuật toán DP-ACO 2.4 Kết luận Chương 3: 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 3.2 Mơ hình phân tán CSDL, cơng cụ, ngơn ngữ lập trình 3.3 Thuật tốn áp dụng 3.4 Kết thực nghiệm 3.5 Kết luận KẾT LUẬN TÀI LIỆU THAM KHẢO 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) DANH MỤC CÁC HÌNH VẼ Hình 1.1 Mơi trường hệ CSDL phân tán Hình 1.2 Kiến trúc CSDL phân tán Hình 1.3: Mối quan hệ quan hệ đường nối Hình 1.4: Ma trận tụ tương quan CA Hình 1.5: Phân đoạn hỗn hợp Hình 1.6 Tái xây dựng phân đoạn hỗn hợp Hình 2.1: Giải pháp A Hình 2.2: Giải pháp B Hình 2.3: Sơ đồ truy trình xử lý truy vấn Hình 2.4: Đồ thị truy vấn Đồ thị nối Hình 2.5: Đồ thị truy vấn Đồ thị nối với câu truy vấn sai ngữ nghĩa Hình 2.6: Cây đại số quan hệ Hình 2.7: Cây đại số quan hệ sau tái cấu trúc Hình 2.8: Câu truy vấn gốc Hình 2.9: Câu truy vấn rút gọn Hình 2.10: Rút gọn phân mảnh ngang Hình 2.11 Rút gọn phân mảnh dọc Hình 2.12: Rút gọn cho phân mảnh ngang dẫn xuất Hình 2.13: Rút gọn phân mảnh hỗn hợp Hình 2.14: Bộ tối ưu truy vấn Hình 2.15: Các nối Hình 2.16: Hình dáng số nối Hình 2.17: Đồ thị minh họa tổng chi phí thời gian trả lời Hình 2.18:Truyền tốn hạng phép tốn hai ngơi Hình 2.19: Đồ thị nối truy vấn phân tán Hình 2.20: Đồ thị nối truy vấn q1 Hình 2.21: Các thứ tự kết nối Hình 2.22: Quá trình định đường đàn kiến Hình 3.1: Mối quan hệ bảng liệu Hình 3.2: Kết thực câu truy vấn trạm Hình 3.3: Kết thực câu truy vấn trạm Hình 3.4: Kết thực câu truy vấn trạm Hình 3.5: Kết thực câu truy vấn trạm Hình 3.6: Kết thực câu truy vấn trạm 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 tố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 tố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 toá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 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: FROM WHERE NV, PC, DA 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 DA NV 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: quét (vì khơng có phép chọn NV) + PC: qt (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 NV DA PC NV PC NV DA NV x 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ả cịn 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 Shipwhole Fetch – as – needed trình bày dựa vào lực lượng quan hệ quan hệ trung gian NV PC NV DA PC Tỉa 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 toá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 tốn tối ưu hóa đàn kiến biết đến Ant System, đề xuất từ năm 90 Sau đó, số thuật toá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 tố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 tố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 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 tố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 tố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 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 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 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 tố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: k p ταij ηβij ij = ∑ ταil ηβil l ϵ subsolutions k p ij Trong 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 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 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_ CLS_ID KetLuan LoidanBS Motahinhanh Image 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 SoPhieuKham SoBenhAn BenhPhu BenhChinh SoNgayDieuTri BHYTDuyet KetLuanKham LoiDanBS LyDoKham NgayDonTiep NgayKetLuan DoiTuong PhongKetLuan NoiGioiThieu YTaDieuDuong BacSiKetLuan IsCapCuu TrangThai KhoaDieuTri TheBHYT 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 Mơ hình quan hệ bảng Hình 3.1 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 toá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 - 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 cịn 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 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 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 tố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 tố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 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 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, 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 [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 ... 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... 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 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 [11] - Tính chất phân tán: Tồn liệu. .. 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