Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 80 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
80
Dung lượng
1,53 MB
Nội dung
i 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ìm hiểu, nghiên cứu Các tài liệu tham khảo trích dẫn thích đầy đủ Thái Nguyên, ngày 11 tháng năm 2016 Học viên Vũ Đức Mạnh ii MỤC LỤC MỞ ĐẦU 1 Lý chọn đề tài Mục đích đề tài .1 Đối tượng phạm vi nghiên cứu .1 Phương pháp nghiên cứu .2 Các kết dự kiến đạt Chương 1: KHÁI QUÁT VỀ CƠSỞDỮLIỆUPHÂNTÁN 1.1 Cơsởliệuphântán 1.1.1 Khái niệm 1.1.2 Hệ quản trị sởliệuphântán 1.1.3 Ưu điểm CSDL phântán 1.1.4 Nhược điểm CSDL phântán .5 1.2 Đặc điểm sởliệuphântán .5 1.2.1 Chia sẻ tài nguyên .5 1.2.2 Tính mở 1.2.3 Khả song song 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 Các đặc trưng suốt sởliệuphântán 1.3.1 Trong suốt phântá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 .9 1.4 Kiến trúc sởliệuphântán 1.5 Các kĩ thuật xây dựng sởliệuphântán 10 1.5.1 Phân mảnh liệu 11 iii 1.5.1.1 Phương pháp phân mảnh ngang .11 1.5.1.2 Phương pháp phân mảnh dọc 15 1.5.1.3 Phương pháp phân mảnh hỗn hợp .16 1.5.2 Nhân liệu 18 1.5.3 Định vị liệu 18 1.6 Kết luận chương 19 Chương 2: TỐIƯUHÓATRUYVẤNCƠSỞDỮLIỆUPHÂNTÁN 20 2.1 Vấn đề tốiưuhóa xử lý truyvấn 20 2.1.1 Bài toán xử lý truyvấn 20 2.1.2 Các quy tắc biến đổi đại số quan hệ .22 2.1.2.1 Tính chất giao hoán phép toán hai 22 2.1.2.3 Tính lũy đẳng phép toán đơn .23 2.1.2.4 Giao hoán phép chọn với phép chiếu .23 2.1.2.5 Giao hoán phép chọn với phép toán hai .23 2.1.2.6 Giao hoán phép chiếu với phép toán hai 23 2.2 Quá trình xử lý truyvấn 23 2.2.1 Phân rã truyvấn .24 2.2.1.1 Chuẩn hóa câu truyvấn .25 2.2.1.2 Phân tích 26 2.2.1.3 Loại bỏ dư thừa 28 2.2.1.4 Viết lại 29 2.2.2 Cục hóaliệuphântán 31 2.2.2.1 Rút gọn cho phân mảnh ngang nguyên thủy .32 2.2.2.2 Rút gọn cho phân mảnh ngang dẫn xuất 34 2.2.2.3 Rút gọn cho phân mảnh dọc 36 2.2.2.4 Rút gọn cho phân mảnh hỗn hợp .37 2.2.3 Tốiưuhóatoàn cục 38 2.2.4 Tốiưuhóa cục 38 iv 2.3 Tốiưuhóatruyvấnphântán 38 2.3.1 Không gian tìm kiếm .39 2.3.2 Chiến lược tìm kiếm 40 2.3.3 Mô hình chi phí .41 2.3.4 Thứ tự kết nối 45 2.4 Các thuậttoántốiưuhóatruyvấnphântán .47 2.4.1 Thuậttoán INGRES phântán 48 2.4.2 Thuậttoán R* 53 2.4.3 Thuậttoán DP - ACO 57 2.4.3.1 Thuậttoántốiưu đàn kiến (ACO Metaheuristic)[10] .57 2.4.3.2 Quy hoạch động (DP)[5] 59 2.4.3.3 Kết hợp thuậttoántốiưu đàn kiến quy hoạch động để tốiưuhóatruyvấn CSDL phântán [5] 60 2.5 Kết luận chương 62 Chương 3: ỨNG DỤNG CÁC THUẬTTOÁNTỐIƯUHÓATRUYVẤNTRONGCƠSỞDỮLIỆUPHÂNTÁN 63 3.1 Giới thiệu toán quản lý nhân .63 3.2 Thiết kế sởliệu .63 3.3 Mô hình phântán CSDL, công cụ, ngôn ngữ lập trình .66 3.4 Cài đặt thuậttoán 66 3.5 Kết thực nghiệm .67 3.6 Kết luận chương 72 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 73 Kết luận 73 Hướng phát triển luận văn 73 TÀI LIỆU THAM KHẢO 74 v DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT Ký hiệu STT Diễn giải CSDL Cơsởliệu DBMS (Database Management System) Hệ quản trị sởliệu DDBMS (Distributed Database Management System) Hệ quản trị sởliệuphântán DP (Dynamic Programming) Quy hoạch động ACO (Ant Colony Optimization) Tốiưu đàn kiến PT (Processing tree) Cây xử lý SSL (Search Space Limit) Giới hạn không gian tìm kiếm CPU (Central Processing Unit ) Bộ xử lý trung tâm I/O (Input/Output) Vào/Ra vi DANH MỤC CÁC HÌNH VẼ Hình 1.1 Mô hình CSDL phântán Hình 1.2 Mô hình kiến trúc CSDL phântán 10 Hình 1.3 Phân mảnh hỗn hợp 16 Hình 1.4 Cây phân tách quan hệ 17 Hình 1.5 Tái xây dựng phân mảnh hỗn hợp 18 Hình 2.1 Các giải pháp truyvấn tương đương 22 Hình 2.2 Sơ đồ truy trình xử lý truyvấn 24 Hình 2.3 Đồ thị truyvấn Đồ thị nối 27 Hình 2.4 Đồ thị truyvấn Đồ thị nối với câu truyvấn sai ngữ nghĩa 28 Hình 2.5 Cây đại số quan hệ 30 Hình 2.6 Cây đại số quan hệ sau tái cấu trúc 31 Hình 2.7 Câu truyvấn gốc 33 Hình 2.8 Câu truyvấn rút gọn 33 Hình 2.9 Rút gọn phân mảnh ngang với phép nối 34 Hình 2.10 Rút gọn cho phân mảnh ngang dẫn xuất 36 Hình 2.11 Rút gọn phân mảnh dọc 37 Hình 2.12 Rút gọn phân mảnh hỗn hợp 38 Hình 2.13 Quá trình xử lý truyvấntốiưu 39 Hình 2.14 Các nối 40 Hình 2.15 Đồ thị minh họa tổng chi phí thời gian trả lời 42 Hình 2.16 Truyền toán hạng phép toán hai 46 Hình 2.17 Đồ thị nối truyvấnphântán 46 Hình 2.18 Đồ thị nối truyvấn q1 55 Hình 2.19 Các thứ tự kết nối 57 Hình 2.20 Quá trình định đường đàn kiến 58 Hình 3.1 Mối quan hệ bảng liệu 66 Hình 3.2 Kết thực câu truyvấn trạm 68 Hình 3.3 Kết thực câu truyvấn trạm 69 Hình 3.4 Kết thực câu truyvấn trạm 71 MỞ ĐẦU Lý chọn đề tài 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 GD&ĐT, 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; thời điểm năm học, số đơn vị có thay đổi nhân thay đổi thông tin khác sốliệu thời điểm thống kê trước Sở GD&ĐT không xác để cóliệu xác phải thực qua nhiều bước trung gian, nhiều thời gian Mặt khác, từ thực tế công việc nhiều Bộ GD&ĐT hay UBND tỉnh yêu cầu báo cáo đột xuất tình hình nhân thật xác việc cập nhật gặp nhiều khó khăn chậm tiến độ Xuất phát từ thực tế nhu cầu công việc, nhận thấy ứng dụng sởliệuphântán để giải khó khăn trên; chọn nghiên cứu đề tài "Một sốthuậttoántốiưuhóatruyvấnsởliệuphân tán” làm luận văn tốt nghiệp Mục đích đề tài Nghiên cứu phương pháp thiết kế sởliệuphân tán, kỹ thuậttốiưuhóa câu truyvấnsởliệuphân tán, cài đặt thử nghiệm sốthuậttoántốiưuhóa câu truyvấnsởliệuphân tán, từ đưa nhận xét, đánh giá ưu điểm, nhược điểm thuậttoántốiưu để có lựa chọn phù hợp với toán thực tế Đối tượng phạm vi nghiên cứu - Đối tượng nghiên cứu sởliệuphân tán, câu truyvấnphân tán, thuậttoántốiưuhóa ứng dụng - Phạm vi nghiên cứu kỹ thuật đồng tốiưutruyvấnsởliệu Phương pháp nghiên cứu - Nghiên cứu lý thuyết: tìm hiểu nghiên cứu từ tài liệu sách, tạp chí viết mạng internet… tổng hợp so sánh để viết thành luận văn; - Nghiên cứu thực nghiệm: Cài đặt thử nghiệm Các kết dự kiến đạt - Giới thiệu tổng quan CSDL phân tán; - Trình bày phương pháp tốiưuhóatruy vấn; - Cài đặt thử nghiệm thuậttoántốiưuhóatruyvấn Ý nghĩa khoa học đề tài Việc tốiưuhóasởliệuphântán giúp cho việc nghiên cứu, khai thác ứng dụng hệ thống phân tán, chủ yếu qua môi trường mạng thuận lợi phát triển nhờ ưu điểm sau: - Giảm thiểu thời gian xử lý; - Giảm vùng nhớ trung gian; - Giảm chi phí truyền thông trạm; - Sử dụng tài nguyên Bố cục luận văn 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ệuphântán Giới thiệu tổng quan sởliệuphân tán, phân biệt sởliệu tập trung với sởliệuphântán để thấy khác biệt hai sởliệu lợi ích sởliệuphân tán; Tìm hiểu phương pháp thiết kế sởliệuphân tán, tập trung nghiên cứu kỹ thuậtphâ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ưuhóatruyvấnsởliệuphântánTrong 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ậttoántốiưuhóa câu truyvấnsởliệuphântán như: INGRES phân tán, R*, DP-ACO Chương 3: Cài đặt thử nghiệm thuật toán: Trình bày mô hình cài đặt hệ thống Cài đặt thuậttoán INGRES phân tán, R* so sánh, đánh giá kết thực nghiệm cho toántốiưuhóatruyvấn Cuối kết luận hướng phát triển đề tài Chương KHÁI QUÁT VỀ CƠSỞDỮLIỆUPHÂNTÁN 1.1 Cơsởliệuphântán 1.1.1 Khái niệm Cơsởliệu (CSDL) phântán tập liệucó quan hệ logic với nhau, phân bố máy tính mạng máy tính [1] Trong mô hình sởliệuphân tán, quan hệ cài đặt nhiều vị trí (site) khác Như vậy, đặc trưng CSDL phântán CSDL phântán mạng máy tính có mối quan hệ với mặt logic Khái niệm CSDL phântán nhấn mạnh hai khía cạnh: - Tính chất phân tán: Toànliệu CSDL phântán không nằm nơi mà nằm nhiều trạm thuộc mạng máy tính Vì phân biệt CSDL phântán với CSDL tập trung - Quan hệ logic: Dữliệucó tính chất phụ thuộc, ràng buộc lẫn Như phân biệt CSDL phântán với CSDL địa phương (Local) tệp liệu lưu trữ vị trí khác Ở mức phần cứng vật lý, nhân tố sau để phân biệt hệ CSDL phântán với hệ CSDL tập trung: - Có nhiều máy tính gọi trạm hay nút - Các trạm phải kết nối kiểu mạng truyền thông để truyền liệu câu lệnh trạm với nhau, Hình 1.1 Trạm Trạm DB DB Mạng truyền thông DB DB Trạm Trạm Hình 1.1 Mô hình hệ CSDL phântán 1.1.2 Hệ quản trị sởliệuphântán Hệ quản trị CSDL phântán (DDBMS) hệ thống phần mềm cho phép quản lý CSDL phântá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ântán trở nên suốt với người sử dụng [11] DDBMS gồm tập chương trình sau đây: - Các chương trình quản trị liệuphân tán; - Các chương trình quản trị việc truyền thông liệu; - Các chương trình quản trị CSDL cục bộ; - Các chương trình quản trị từ điển liệu: Thông tin phântánliệu mạng; DDBMS phân làm loại: - DDBMS đồng nhất: Là DBMS mà tất nút sử dụng loại DBMS - DDBMS không đồng nhất: Là DBMS mà có nút không loại DBMS với DBMS nút lại 1.1.3 Ưu điểm CSDL phântán Lợi ích CSDL phântánliệu CSDL vật lý riêng biệt tích hợp logic với làm cho nhiều người sử dụng mạng truy nhập Cho phép quản lý liệu theo nhiều mức suốt: DBMS phải suốt phântán theo nghĩa làm cho người sử dụng không cần biết vị trí liệu không cần biết phức tạp truy cập qua mạng Tăng độ tin cậy khả sẵn sàng: Độ tin cậy khả hệ thống làm việc (không bị ngừng) thời điểm đó, tính sẵn sàng khả hệ thống tiếp tục làm việc khoảng thời gian Khi CSDL phântán vài trạm, trạm cócố trạm khác hoạt động sử dụng thành phần khác CSDL, trạm bị cố, liệu ứng dụng truy cập Để nâng cao độ tin cậy tính sẵn sàng, áp dụng chế tạo nhiều trạm [2] 60 thị truyvấ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ưuhó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 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 Chi phí kế hoạch tính toán từ lên Mức bao gồm kết nối chiều (2-way join) 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ậttoán kết nối nested-loop 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 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ở 2.4.3.3 Kết hợp thuậttoántốiưu đàn kiến quy hoạch động để tốiưuhóatruyvấn CSDL phântán [5] Cơ chế phản hồi tích cực tính toánphântán ACO làm cho mạnh ACO có khả xử lý song song tìm kiếm toàn cầu, có khả phântán thấp tốc độ hội tụ cao ACO cósố hạn chế hình thành ban đầu ACO 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ậttoán khác quy hoạch động, thuậttoán di truyền thuậttoántốiưuhóa bầy đàn đề xuất để cung cấp kết tốt xử lý truyvấn CSDL 61 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 toán thời gian chạy kế hoạch thực coi kiến thuậttoá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 đường khác A B C), có B truyvấ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ậttoá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ậttoán Không gian tìm kiếm thu gọn cách sử dụng pheromone kế hoạch Nếu ko có 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ậttoá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 toá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 đặ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 toá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 62 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ầntốiưuhóatruy 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ậttoántốiưu INGRES phân tán, System R* thuậttoán ACO Mỗi phương pháp tốiưucóưu điểm, nhược điểm Phương pháp tốiưuphântá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ì hoãn định quan trọng lựa chọn chép phân phối truyvấn đến trạm thời điểm khởi động truyvấn Vì vậy, tăng tính sẵn sàng cân tải hệ thống tốt 63 Chương ỨNG DỤNG CÁC THUẬTTOÁNTỐIƯUHÓATRUYVẤNTRONGCƠSỞDỮLIỆUPHÂNTÁN 3.1 Giới thiệu toán quản lý nhân Quản lý nhân nhiệm vụ quan trọng Ngành giáo dục đào tạo, thông qua sốliệu hàng năm, Sở Giáo dục Đào tạo Yên Bái nắm số lượng trình độ cán bộ, giáo viên nhân viên toàn ngành, tình hình cán bộ, giáo viên nhân viên thừa thiếu, số nghỉ hưu, số chuyển công tác để từ tham mưu với Ủy ban nhân dân tỉnh bổ sung, chuyển điều động từ nơi thừa đến nơi thiếu Để quản lý tốt vấn đề nhân sự, Sở Giáo dục Đào tạo tỉnh Yên Bái sử dụng sốphần mềm PMIS, EMIS, VEMIS; nhiên phần mềm quản lý dạng ofline nên khó khăn việc cập nhật thường xuyên Do vậy, cần có ứng dụng dạng online để quản lý hiệu quả, thông tin cập nhật thường xuyên liên tục Trongphần mềm quản lý nhân cần quản lý thông tin nhân như: thông tin hành chính, thông tin lương, thông tin chức vụ, thông tin lịch sử thân, trình công tác, diễn biến lương, nghạch bậc Trong phạm vi luận văn, demo phần CSDL quản lý nhân Sở Giáo dục Đào tạo tỉnh Yên Bái 3.2 Thiết kế sởliệuCơsởliệu gồm bảng sau: - CanBo: Lưu thông tin cán Tên trường [ID] [CoQuanQuanLyID] [SoHieu] [CoQuanSuDungID] [HoTen] [NgaySinh] [GioiTinh] [NoiSinhID] [QueQuanID] [DanTocID] [TonGiaoID] Kiểu liệu [int] IDENTITY(1,1), [int] , [varchar](50) , [int] , [nvarchar](100) , [smalldatetime] , [bit] , [int] , [nvarchar](500) , [int] , [int] , Ghi Khóa Cơ quan quản lý Số hiệu Cơ quan sử dụng Họ tên Ngày sinh Giới tính Nơi sinh Quê quán Dân tộc Tôn giáo 64 [HKTT] [NoiO] [NgheNghiepID] [NgayTD] [CoQuanTD] [CongViecChinh] [ChucVuKNID] [ChucVuID] [BacLuong] [NgachID] [HeSo] [NgayHuong] [PhuCapChucVu] [PhuCapKhac] [TDPhoThongID] [TrinhDoID] [ChuyenNganhID] [LyLuanChinhTriID] [QuanLyNNID] [NgoaiNguID] [NgoaiNguKhacID] [TinHocID] [NgayVaoDang] [NgayChinhThuc] [RegionID] [DonViID] [HinhThucTDID] [ChucDanhKhoaHocID] [KhenThuong] [KyLuat] [SucKhoeID] [CMTND] [NgayThamGiaBHXH] [NgayCapCMT] [NoiCapCMT] [SoBHXH] [SoBHYT] [NoiDKBHYT] [LichSuBanThan] [KieuCanBo] [nvarchar](300) , [nvarchar](300) , [int] , [smalldatetime] , [nvarchar](100) , [nvarchar](250) , [int] , [int] , [int] , [int] , [float] , [smalldatetime] , [float] , [int] , [int] , [int] , [int] , [int] , [int] , [int] , [int] , [int] , [smalldatetime] , [smalldatetime] , [nvarchar](150) , [int] , [int] , [int] , [nvarchar](max) , [nvarchar](250) , [int] , [nvarchar](15) , [smalldatetime] , [smalldatetime] , [nvarchar](30) , [nvarchar](30) , [nvarchar](30) , [nvarchar](250) , [nvarchar](2000) , [int] , Hộ thường trú Nơi Nghề nghiệp Ngày tuyển dụng Cơ quan tuyển dụng Công việc Chức vụ kiêm nhiệm Chức vụ Bậc lương Ngạch Hệ số Ngày hưởng Phụ cấp chức vụ Phụ cấp khác Trình độ phổ thông Trình độ học vấn Chuyên ngành Lý luận trị Quản lý nhà nước Ngoại ngữ Ngoại ngữ khác Tin học Ngày vào Đảng Ngày thức Vùng giá trị Đơn vị Hình thức tuyển dụng Chức danh khoa học Khen thưởng Kỷ luật Sức khỏe Chứng minh thư Ngày tham gia BHXH Ngày cấp CMT Nơi cấp CMT Sổ bảo hiểm xã hội Sổ bảo hiểm y tế Nơi đăng ký BHYT Lịch sử than Kiểu cán 65 - Bảng DienBienNgachBac: Lưu thông tin diễn biến ngạch bậc cán Tên trường liệu [ID] [CanBoID] [NgachID] [BacLuong] [NgayHuong] [NgayKetThuc] [ThoiHanNangBac] [DaVuotKhung] [HSCLBL] [HeSo] [PhuCapVuotKhung] [PhuCapKhac] [LuongCoBan] [Kieu] [Curent] [NgachCuID] Kiểu liệu [int] [int] [int] [int] [datetime] [datetime] [int] [bit] [float] [real] [int] [real] [int] [int] [bit] [int] Mô tả Khóa Cán Ngạch Bậc lương Ngày hưởng Ngày kết thúc Thời hạn nâng ngạch Đã vượt khung Hệ số chênh lệch bảo lưu Hệ số Phụ cấp vượt khung Phụ cấp khác Lương Kiểu Hoạt động Ngạch cũ - Bảng DienBienChucVu: Lưu thông tin diễn biến chức vụ cán Tên trường liệu [ID] [CanBoID] [TuNgay] [DenNgay] [ChucVuID] [PhuCapChucVu] [Curent] [isLeader] [NgayBoNhiem] [SoQuyetDinh] Kiểu liệu [int] IDENTITY(1,1) [int] [datetime] [datetime] [int] [real] [bit] [bit] [smalldatetime] [nvarchar](250) Mô tả Khóa Cán Từ ngày Đến ngày Chức vụ Phụ cấp chức vụ Hoạt động Là lãnh đạo Ngày bổ nhiệm Số định - Bảng dmNgach: Lưu thông tin ngạch cán Tên trường liệu [ID] [NhomNgachID] [MaNgach] [TenNgach] [LoaiNgach] [PCVK] Kiểu liệu [int] IDENTITY(1,1) [int] [nvarchar](10) [nvarchar](200) [varchar](5) [tinyint] - Mô hình quan hệ bảng sau: Mô tả Khóa Nhóm ngạch Mã ngạch Tên ngạch Loại ngạch Phụ cấp vượt khung 66 Hình 3.1 Mối quan hệ bảng liệu 3.3 Mô hình phântán CSDL, công cụ, ngôn ngữ lập trình - CSDL phântán trạm, sử dụng DBMS SQL Server 2008 + Trạm chứa bảng CanBo (20.005 ghi) + Trạm chứa bảng: DienBienNgachBac (101.627 ghi) dmNgach (105.183 ghi) + Trạm chứa bảng DienBienChucVu (2.273 ghi) - Chương trình viết ngôn ngữ lập trình C# 3.4 Cài đặt thuậttoán Chương trình cài đặt thử nghiệm thuậttoán INGRES phântán R* trình bày mục 2.4.1 2.4.2 Từ so sánh kết thời gian hai thuậttoántốiưu trạm 67 3.5 Kết thực nghiệm Xét câu truyvấ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 = DienBienNgachBac.CanBoID AND dbo.DienBienNgachBac.NgachID = dbo.dmNgach.ID - Kết thực trạm 1: 68 Hình 3.2 Kết thực câu truyvấn trạm + Tổng số ghi kết quả: 3379 + Thời gian thực truyvấn áp dụng INGRES phân tán: 125 ms Câu truyvấn ban đầu tách thành câu truyvấn rút gọn q1 q2 q3 sau: q1: SELECT dbo.DienBienNgachBac.BacLuong, dbo.DienBienNgachBac.NgayHuong, dbo.DienBienNgachBac.NgayKetThuc, dbo.DienBienNgachBac.ThoiHanNangBac, dbo.DienBienNgachBac.DaVuotKhung, dbo.DienBienNgachBac.HSCLBL, dbo.DienBienNgachBac.HeSo, dbo.DienBienNgachBac.NgachID, dbo.DienBienNgachBac.CanBoID, dbo.DienBienNgachBac.PhuCapVuotKhung, dbo.DienBienNgachBac.PhuCapKhac, dbo.DienBienNgachBac.LuongCoBan, dbo.DienBienNgachBac.Kieu, dbo.DienBienNgachBac.Curent, dbo.dmNgach.MaNgach, dbo.dmNgach.TenNgach, dbo.dmNgach.LoaiNgach, dbo.dmNgach.PCVK into tmp FROM dbo.DienBienNgachBac INNER JOIN dbo.dmNgach ON dbo.DienBienNgachBac.ID = dbo.dmNgach.ID q2: SELECT tmp.*, 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 into tmp2 FROM dbo.CanBo, tmp WHERE tmp CanBo _ID = dbo.DienBienChucVu.CanBoID 69 q3: SELECT tmp2.*, ChucVuID, TuNgay, DenNgay, PhuCapChucVu, NgayBoNhiem, SoQuyetDinh FROM dbo.CanBo, tmp WHERE tmp2 CanBo_ID = DienBienChucVu CanBo_ID q1 thực trạm 2, q2 thực trạm 1,q3 thực máy trạm + Thời gian thực truyvấn áp dụng Thuậttoán R*: 140 ms Chiến lược thực hiện: (dmNgach DienBienNgachBac) CanBo DienBienChucVu Ban đầu, thực kết nối quan hệ trạm (dmNgach DienBienNgachBac) truyền liệu kết tới trạm kết nối với quan hệ CanBo kết nối với quan hệ DienBienChucVu - Kết thực trạm 2: Hình 3.3 Kết thực câu truyvấn trạm 70 + Tổng số ghi kết quả: 3379 + Thời gian thực truyvấn áp dụng INGRES phân tán: 140 ms Câu truyvấn ban đầu tách thành câu truyvấn rút gọn q1 q2q3 sau: q1: SELECT dbo.DienBienNgachBac.BacLuong, dbo.DienBienNgachBac.NgayHuong, dbo.DienBienNgachBac.NgayKetThuc, dbo.DienBienNgachBac.ThoiHanNangBac, dbo.DienBienNgachBac.DaVuotKhung, dbo.DienBienNgachBac.HSCLBL, dbo.DienBienNgachBac.HeSo, dbo.DienBienNgachBac.NgachID, dbo.DienBienNgachBac.CanBoID, dbo.DienBienNgachBac.PhuCapVuotKhung, dbo.DienBienNgachBac.PhuCapKhac, dbo.DienBienNgachBac.LuongCoBan, dbo.DienBienNgachBac.Kieu, dbo.DienBienNgachBac.Curent, dbo.dmNgach.MaNgach, dbo.dmNgach.TenNgach, dbo.dmNgach.LoaiNgach, dbo.dmNgach.PCVK into tmp FROM dbo.DienBienNgachBac INNER JOIN dbo.dmNgach ON dbo.DienBienNgachBac.ID = dbo.dmNgach.ID q2: SELECT tmp.*, 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 into tmp2 FROM dbo.CanBo, tmp WHERE tmp CanBo _ID = dbo.DienBienChucVu.CanBoID q3: SELECT tmp2.*, ChucVuID, TuNgay, DenNgay, PhuCapChucVu, NgayBoNhiem, SoQuyetDinh FROM dbo.CanBo, tmp WHERE tmp2 CanBo_ID = DienBienChucVu CanBo_ID q1 thực trạm 1, q2 thực trạm 2, q3 thực máy trạm + Thời gian thực truyvấn áp dụng Thuậttoán R*: 156 ms Chiến lược thực hiện: ((dmNgach DienBienNgachBac) CanBo) DienBienChucVu Ban đầu, thực kết nối quan hệ trạm (dmNgach DienBienNgachBac) truyền liệu kết tới trạm kết nối với quan hệ CanBo truyền từ trạm sang trạm 2 sau truyền liệu kết tới trạm 71 - Kết thực trạm 3: Hình 3.4 Kết thực câu truyvấn trạm + Tổng số ghi kết quả: 3379 + Thời gian thực truyvấn áp dụng INGRES phân tán: 187 ms Câu truyvấn ban đầu tách thành câu truyvấn rút gọn q1 q2q3 sau: q1: SELECT dbo.DienBienNgachBac.BacLuong, dbo.DienBienNgachBac.NgayHuong, dbo.DienBienNgachBac.NgayKetThuc, dbo.DienBienNgachBac.ThoiHanNangBac, dbo.DienBienNgachBac.DaVuotKhung, dbo.DienBienNgachBac.HSCLBL, dbo.DienBienNgachBac.HeSo, dbo.DienBienNgachBac.NgachID, dbo.DienBienNgachBac.CanBoID, dbo.DienBienNgachBac.PhuCapVuotKhung, dbo.DienBienNgachBac.PhuCapKhac, dbo.DienBienNgachBac.LuongCoBan, dbo.DienBienNgachBac.Kieu, dbo.DienBienNgachBac.Curent, dbo.dmNgach.MaNgach, dbo.dmNgach.TenNgach, dbo.dmNgach.LoaiNgach, dbo.dmNgach.PCVK 72 into tmp FROM dbo.DienBienNgachBac INNER JOIN dbo.dmNgach ON dbo.DienBienNgachBac.ID = dbo.dmNgach.ID q2: SELECT tmp.*, 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 into tmp2 FROM dbo.CanBo, tmp WHERE tmp CanBo _ID = dbo.DienBienChucVu.CanBoID q3: SELECT tmp2.*, ChucVuID, TuNgay, DenNgay, PhuCapChucVu, NgayBoNhiem, SoQuyetDinh FROM dbo.CanBo, tmp WHERE tmp2 CanBo_ID = DienBienChucVu CanBo_ID q1 thực trạm 3, q2 thực trạm 2, q3 thực máy trạm + Thời gian thực truyvấn áp dụng Thuậttoán R*: 130 ms Chiến lược thực hiện: (dmNgach DienBienNgachBac) CanBo DienBienChucVu Ban đầu, thực kết nối quan hệ trạm (dmNgach DienBienNgachBac) truyền liệu kết tới trạm kết nối với quan hệ CanBo máy trạm 2 sau truyền liệu kết tới trạm 3.6 Kết luận chương Chương trình bày toán quản lý nhận chương trình cài đặt thuậttoán INGRES phântá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 câu truyvấn để so sánh thời gian chạy truyvấntốiưu sử dụng thuậttoá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ậttoán thời gian thực khác Cụ thể, thời gian thực truyvấn trạm nhanh trạm trạm với hai thuậttoánTrong trường hợp câu truyvấn này, thuậttoán R* thuậttoán INGRES phântáncó 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ậttoán INGRES phântán R* có ưu, nhược điểm riêng, thuậttoán R* không hỗ trợ hệ thống phântán theo kiểu phân mảnh sao, thuậttoán INGRES phântáncó 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ântán mà ta lựa chọn thuậttoán áp dụng cho phù hợp 73 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Kết luận Hệ thống phântá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ântán phù hợp với yêu cầu thực tế, tốiưuhóatruyvấnphântáncó ý 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ậttoántốiưuhóasởliệuphân tán”, luận văn đạt số kết sau: - Trình bày khái quát sởliệuphân tán, hệ quản trị CSDL phân tán, phân tích đặc điểm CSDL phântánsố phương pháp thiết kế CSDL phântá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ậttoántốiưuhóatruyvấnphâ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ântán R* hệ thống quản lý nhân Hướng phát triển luận văn Tiếp tục nghiên cứu phương pháp tốiưuhóatruyvấn CSDL phântán khác phương pháp dựa phép nửa kết nối, kết hợp thuậttoántốiưu đàn kiến với sốthuậttoán khác thuậttoán di truyền, thuậttoántố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ế 74 TÀI LIỆU THAM KHẢO Tiếng Việt: Nguyễn Văn Huân - Phạm Việt Bình (2009), “Giáo trình hệ sởliệuphântá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ệuphân tán”, NXB thông tin truyền thông Nguyễn Bá Tường (2005), Nhập môn sởliệuliệuphân tán, NXB Khoa học kỹ thuật 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 250-285 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 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ở 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. .. 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 quan CSDL phân tán; - Trình bày phương pháp tối ưu hóa truy vấn; - Cài đặt thử nghiệm thuật toán tối ưu hóa truy vấn Ý nghĩa khoa học đề tài Việc tối ưu hóa sở liệu phân tán giúp cho việc