Các thuật toán tô màu tối ưu cho một cây truy vấn và ứng dụng

65 479 0
Các thuật toán tô màu tối ưu cho một cây truy vấn và ứng dụng

Đ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 VĂN CƢỜNG CÁC THUẬT TOÁN TÔ MÀU TỐI ƢU CHO MỘT CÂY TRUY VẤN VÀ ỨNG DỤNG 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 VĂN CƢỜNG CÁC THUẬT TOÁN TÔ MÀU TỐI ƢU CHO MỘT CÂY TRUY VẤN VÀ ỨNG DỤNG Ngành: Công nghệ thông tin Chuyên ngành: Hệ thống thông tin Mã số: 60.48.01.04 LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN NGƢỜI HƢỚNG DẪN KHOA HỌC: PGS.TS LÊ HUY THẬP Hà Nội – 2015 LỜI CẢM ƠN Trƣớc hết, Tôi xin bày tỏ lòng biết ơn sâu sắc PGS.TS Lê Huy Thập, Thầy định hƣớng đề tài, hƣớng dẫn thực hiện, cung cấp cho kiến thức, kinh nghiệm vô quý báu giúp hoàn thành luận văn Tôi xin gửi lời cảm ơn chân thành tới Ban Giám hiệu, Phòng Đào tạo sau đại học Phòng Ban trƣờng Đại học Công nghệ - Đại học Quốc gia Hà Nội, Thầy, Cô giáo Khoa Công nghệ thông tin - trƣờng Đại học Công nghệ, truyền dạy, cung cấp cho kiễn thức chuyên sâu công nghệ thông tin, giúp định hƣớng phƣơng pháp nghiên cứu khoa học, đồng thời tạo điều kiện tốt suốt trình học tập thực luận văn tốt nghiệp Tôi xin gửi lời cảm ơn đến ngƣời thân, bạn bè, đồng nghiệp ngƣời sát cánh, động viên, khuyến khích học tập nhƣ thực luận văn Học viên Nguyễn Văn Cƣờng LỜI CAM ĐOAN Tôi xin cam đoan nội dung trình bày luận văn tự nghiên cứu, tìm hiểu đƣợc hƣớng dẫn trực tiếp PGS.TS Lê Huy Thập Các nội dung trình bày kết nghiên cứu hoàn toàn trung thực Luận văn chƣa đƣợc công bố công trình Trong trình thực luận văn, tham khảo tài liệu tác giả đƣợc trích dẫn, tham chiếu rõ ràng “DANH MỤC TÀI LIỆU THAM KHẢO” cuối luận văn Học viên Nguyễn Văn Cƣờng MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN MỤC LỤC DANH MỤC CÁC CỤM TỪ VIẾT TẮT, NGHĨA TIẾNG VIỆT DANH MỤC SƠ ĐỒ, HÌNH VẼ, BẢNG MỞ ĐẦU 10 Chƣơng : TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN, GIAO TÁC PHÂN TÁN VÀ XỬ LÝ SONG SONG 11 1.1 Giới thiệu sở liệu phân tán 11 1.1.1 Khái niệm 11 1.1.2 Quản trị sở liệu phân tán 12 1.1.3 Kiến trúc sở liệu phân tán 13 1.1.4 Đặc trƣng sở liệu phân tán 15 1.1.5 Các chế truy xuất CSDL phân tán 16 1.2 Giao tác phân tán 17 1.2.1 Quản lý khóa giao tác 17 1.2.2 Xử lý giao tác xảy cố 18 1.3 Xử lý song song 19 1.3.1 Một số thuật toán xử lý liệu song song 19 1.3.2 Các phƣơng pháp xử lý song song 21 1.3.3 Các phép toán song song 25 1.4 Kết chƣơng 32 Chƣơng : TỐI ƢU HÓA TRUY VẤN VÀ CÁC THUẬT TOÁN TÔ MÀU TỐI ƢU CÂY TRUY VẤN 33 2.1 Tối ƣu hóa truy vấn 33 2.1.1 Tổng quan 33 2.1.2 Mô hình tối ƣu hoá truy vấn hai pha JOQR 34 2.1.3 Chi phí song song mô hình chi phí tối ƣu hoá truy vấn 37 2.1.4 Cực tiểu hoá chi phí phân mảnh lại 39 2.2 Các thuật toán tô màu tối ƣu truy vấn 40 2.2.1 Thuật toán tách màu 43 2.2.2 Mở rộng thuật toán tách màu, cách sử dụng tập màu 45 2.3 Tô màu tối ƣu truy vấn với tính chất vật lý 47 2.3.1 Chi phí truy vấn tiền xử lý 50 2.3.2 Thuật toán tách màu mở rộng 51 2.4 Kết chƣơng 53 Chƣơng : ỨNG DỤNG THUẬT TOÁN TÔ MÀU TỐI ƢU CÂY TRUY VẤN VÀO BÀI TOÁN QUẢN LÝ PHẠM NHÂN 54 3.1 Công tác quản lý phạm nhân 54 3.2 Cơ sở liệu Phần mềm quản lý phạm nhân 54 3.3 Ứng dụng thuật toán tô màu tối ƣu cho số truy vấn vào toán quản lý phạm nhân 55 3.3.1 Ví dụ 56 3.3.2 Ví dụ 57 3.3.3 Ví dụ 58 3.3.4 Hình ảnh Demo 61 3.4 Kết chƣơng 62 KẾT LUẬN 64 DANH MỤC TÀI LIỆU THAM KHẢO 65 DANH MỤC CÁC CỤM TỪ VIẾT TẮT, NGHĨA TIẾNG VIỆT TT Từ viết tắt CM CSDL DBM DC DD DDB DM DP JOQR 10 MPP 11 12 13 14 15 16 PAJ PHJ PNL PVM QEP ReF Cụm từ đầy đủ Nghĩa tiếng việt Centralized Merging Cơ sở liệu Database management Data Communication Data Dictionary Distributed Database Distributed Merging Data Placement Trộn tập trung Cơ sở liệu Quản trị sở liệu Truyền thông liệu Từ điển liệu Cơ sở liệu phân tán Trộn tập trung Sắp đặt liệu Join Ordering and Query Rewriting Massively Parallel Processor Paralel Associative Join Parallel Hash Join Parallel Nested Loop Parallel Virtual Machine Query Excution Plan Refragmentation Sắp xếp thứ tự phép nối viết lại câu truy vấn Bộ xƣ̉ lý Song song lớn Nối kết hợp song song Nối băm song song Vòng lặp lồng song song Máy tính ảo song song kế hoạch thực truy vấn Phân mảnh lại DANH MỤC SƠ ĐỒ, HÌNH VẼ, BẢNG Hình 1.1: Tổng quan CSDL phân tán 11 Hình 1.2: Mô hình CSDL phân tán mạng 12 Hình 1.3: Hệ thống đa xử lý 12 Hình 1.4: Các thành phần DDBMS 13 Hình 1.5: Kiến trúc CSDL phân tán 14 Hình 1.6: Các đoạn hình ảnh vật lý quan hệ tổng thể 14 Hình 1.7: Cơ chế truy xuất từ xa 16 Hình 1.8: Cơ chế truy xuất thông qua chƣơng trình phụ trợ 17 Hình 1.9: Thuật toán vòng lặp lồng song song song 20 Hình 1.10: Thuật toán nối kết hợp song song 20 Hình 1.11: Thuật toán nối băm song song 21 Hình 1.12: Quan hệ PROJ 23 Hình 1.13: Các mảnh dọc quan hệ PROJ 23 Hình 1.14: Quan hệ ASG 26 Hình 1.15: Kết trộn tập trung 27 Hình 1.16: Số phạm nhân phạm tội giam giữ trại giam 28 Hình 1.17: Gộp nhóm theo phƣơng pháp trộn phân tán 28 Hình 1.18: Gộp nhóm theo thuật toán ReF 29 Hình 1.19: Quan hệ EMP PAY 30 Hình 1.20: Kết nối 30 Hình 1.21: Kết nối nửa 31 Hình 2.1: Quá trình tối ƣu hoá truy vấn 33 Hình 2.2: Cây truy vấn tiền xử lý 34 Hình 2.3: Cây toán tử tƣơng đƣơng hình 2.5 36 Hình 2.4: Các truy vấn khác phân hoạch liệu 40 Hình 2.5: Chi phí phƣơng án tô màu (i) Cây ban đầu, (ii) Chi phí 7, (iii) chi phí 42 Hình 2.6: Phân rã toán sau tô màu nút i 43 Hình 2.7: Cây truy vấn với thuộc tính phân mảnh khác 46 Hình 2.8: Điều kiện nối thuộc tính: TP 49 Hình 3.1: Cơ sở liệu quản lý phạm nhân 55 Hình 3.2: Cây truy vấn ban đầu 56 Hình 3.3: Cây truy vấn sau xếp lại thứ tự phép nối 56 Hình 3.4: Phân mảnh quan hệ hai nút 57 Hình 3.5: Cây truy vấn ban đầu phƣơng án tô màu 58 Hình 3.6: Phân bố liệu truy vấn tối ƣu 59 Hình 3.7: Cây truy vấn khác phân hoạch liệu 59 Hình 3.8: Cây truy vấn sau tách nút TP_GD 60 Hình 3.9: Cây truy vấn tối ƣu với chi phí 60 Hình 3.10: Kết truy vấn sau xếp lại thứ tự phép nối 61 Hình 3.11: Kết chọn màu để tô chi phí phân mảnh lại 62 Hình 3.12: Tính toán giá trị Optc theo bổ đề 2.1 62 Hình 3.13: Một số Modul khác phần Demo 62 10 MỞ ĐẦU Xử lý song song phân tán lập trình song song đƣợc công ty phần mềm nƣớc giới nghiên cứu ứng dụng tính hiệu vô lớn Khả xử lý lập trình song song ứng dụng giải đƣợc vấn đề lớn phức tạp nhƣ dự báo động đất, sóng thần, thời tiết, xử lý ảnh, khai phá liệu,… giúp giảm đáng kể chi phí, đồng thời khắc phục hạn chế dùng phƣơng pháp Ngoài ra, sử dụng thuật toán xử lý song song phân tán để đƣa phƣơng án tốt xử lý, truyền lƣu thông tin vị trí mạng Trong đề tài này, tác giả tập trung nghiên cứu thuật toán nhằm tối ƣu hóa chi phí truy vấn sở liệu phân tán, tìm phƣơng án thực thi song song đƣợc phát biểu thành toán tô màu tối ƣu cho truy vấn Thông qua nghiên cứu thuật toán để tô màu tối ƣu truy vấn nhƣ thuật toán tách màu, thuật toán trộn,… tác giả có so sánh, đánh giá đề xuất phƣơng án có chi phí tốt với điều kiện cụ thể, rút kết luận Nhằm thực hóa thuật toán tô màu tối ƣu truy vấn, tác giả nghiên cứu, xây dựng sở liệu ứng dụng Quản lý phạm nhân trại giam Bộ Công an, với số câu truy vấn đặc trƣng, thƣờng dùng để mô thuật toán, đánh giá kết thực nghiệm Để có kiến thức tảng thực nội dung đề tài này, tác giả tập trung nghiên cứu, tìm hiểu lý thuyết CSDL phân tán, thiết kế CSDL phân tán-song song, truy vấn phân tán vấn đề tối ƣu, tính toán song song, thuật toán thực thi song song, đặc biệt nghiên cứu thuật toán tối ƣu truy vấn, tăng khả xử lý song song, phát biểu thành toán tô màu tối ƣu truy vấn Về cấu trúc luận văn, phần mở đầu, kết luận danh mục, luận văn đƣợc tổ chức thành chƣơng Chƣơng 1, tác giả trình bày vấn đề liên quan đến CSDL phân tán, quản lý giao tác phân tán, xử lý song song Chƣơng 2, tác giả nghiên cứu phƣơng pháp tối ƣu hóa truy vấn thuật toán tô màu tối ƣu cho truy vấn Chƣơng 3, nghiên cứu ứng dụng thuật toán số câu truy vấn đặc thù sở liệu “Phần mềm quản lý phạm nhân” 51 chi phí cổ điển sẵn có Mô hình chi phí cổ điển gồm hai phần: (i) ƣớc lƣợng thông số thống kê (nhƣ kích thƣớc, số lƣợng giá trị cột, ) kết trung gian (ii) ƣớc lƣợng chi phí toán tử dựa vào tính chất vật lý thống kê toán hạng có trƣớc Các ký hiệu  Rs bảng R với tính chất thống kê s Rs phụ thuộc vào nội dung bảng R mà không phụ thuộc vào cách thức lƣu trữ vật lý R  Recolor(Rs , Cold, Cnew) chi phí tô màu lại bảng R từ màu Cold thành Cnew  InputCol(s, A, j) mẫu màu cần cho chiến lƣợc s với đầu vào thứ j để đƣợc kết xuất mẫu màu A  StrategyCost(s, Rl Rr) chi phi thực phép nối Rl Rr chiến lƣợc s Ví dụ 2.7: Màu Input1 cần cho chiến lƣợc nối-lặp-lồng truy vấn Hình: 2.8 Cnew = Do màu đầu (gọi Cold Nhanvien khác với thuộc tính phân hoạch (TP) nên Recolor(Nhanvien, Cold , Cnew) chi phi phân mảnh lại bảng Nhanvien dựa thuộc tính Chi phí truy vấn tiền xử lý tổng chi phí tất toán tử Chi phí toán tử bao gồm chi phí đổi màu đầu vào toán tử, cộng với chi phí thực chiến lƣợc Giả sử gốc truy vấn T sử dụng chiến lƣợc s có màu đầu A Gọi c'j = inpCol(s, A, j) màu đầu vào thứ j mà chiến lƣợc s đòi hỏi Giả sử T có k T1, T2, ,Tk cho Tj tạo bảng Rj với màu cj Khi chi phí truy vấn giải T đƣợc tính nhƣ sau[1][2]: k k j 1 j 1 Cost (T )  StrategyCo st ( s, R1s , , Rks )   recolor ( R sj , c j , c ,j )  Cost (T j ) 2.3.2 Thuật toán tách màu mở rộng Chúng ta trình bày mở rộng thuật toán ColorSplit đƣợc giới thiệu mục 2.2.1 Cho truy vấn T với màu nút Hãy tìm chiến lƣợc tô màu có chi phí nhỏ nhƣ màu đầu vào, màu đầu nút T Định nghĩa 2.1 OptcStrategy(i, A) chiến lƣợc thực với chi phí cực tiểu cho Optc(i,A) (nếu có nhiều chiến lƣợc chọn lấy chiến lƣợc) OptcStrategy(i, A) không định nghĩa cho nút Định nghĩa 2.2 Strategies(i, A) tập hợp chiến lƣợc áp dụng cho phép toán đƣợc biểu diễn nút i ràng buộc đầu vào-đầu cho phép A nhƣ màu đầu 52 Bổ đề dƣới trƣờng hợp tổng quát Bổ đề 2.3 Giả sử nút i có nút l, 2, ,k có gốc j tạo kết xuất bảng Rj, 1≤ j ≤k Chi phí thấp có gốc i cho i có màu đầu A thu đƣợc cách thử tất chiến lƣợc để tạo đầu có màu A Bổ đề cho thấy với chiến lƣợc s bất kỳ, chi phí thấp đạt đƣợc cực tiểu hoá chi phí đầu vào riêng biệt Bổ đề 2.4[1][2] Cho truy vấn T, i nút T Chi phí tô màu tối ƣu gốc i cho i có màu đầu A, ký hiệu Optc(i, A), đƣợc xác định công thức dƣới - Trường hợp i nút lá, i có màu tương thích với A Optc(i, A) =  trƣờng hợp khác - Trường hơp i nút lá, Optc(i, A) đƣợc tính theo công thức truy hồi sau: Optc(i, A) = minsS [StrategyCost(s, Rls, , Rks ) + k  j 1 cC [Optc( j , c)  recolor ( R sj , c, inpCol ( s, A, j ))]] Trong đó, S = Strategies(i, A) OptcStrategy(i, A) chiến lƣợc thực chi phí cực tiểu Optc(i, A) C tập màu mà gốc j nhận Thuật toán dƣới để tính Optc OptcStrategy Thuật toán ExtendedColorSplit Input: Cây truy vấn T với màu nút lá, tập màu C Output: Chiến lƣợc tô màu có chi phí tối thiểu Method For nút i theo thứ tự hậu tố Do bƣớc 2 For màu aC Do dùng bổ đề 2.4 để tính Optc(i, a) OptcStrategy(i, a); Xem r gốc a màu cho Optc(r, a) ≤ Optc(r, c) với màu cC; Màu tối ƣu cho r 1à a chiến lƣợc tối ƣu OptcStrategy(r, a); For nút không nút gốc theo thứ tự tiền tố Do bƣớc 6 Tính màu tối ƣu chiến lƣợc cách áp dụng bổ đề 2.4; End Thuật toán có thời gian thực trƣờng hợp xấu nhât nS|C|2 S số chiến lƣợc |C| số màu đƣợc phép n số nút 53 Bởi n S thƣờng bé nên thời gian thi hành thuật toán chủ yếu phụ thuộc vào |C| Có thể giữ cho |C| thật nhỏ hai nhận xét sau: (1) Không có chiến lƣợc tạo quan hệ kết xuất có mục Do vậy, mục có thành phần thành phần màu cần thiết cho nút (2) Chỉ xem xét màu có ích cho giai đoạn sau 2.4 Kết chƣơng Trong chƣơng 2, tác giả nghiên cứu, trình bày tối ƣu hóa truy vấn, mô hình chi phí tối ƣu hóa Trọng tâm chƣơng, tác giả tập trung nghiên cứu, trình bày thuật toán tô màu tối ƣu cho truy vấn Thuật toán tách màu (ColorSplit) tìm màu tối ƣu (màu A) cho nút gốc (nút i), sau tách nút i thành k nút, kết nhận đƣợc k gốc i đƣợc tô màu A, chi phí tô màu k nhƣ ban đầu Optc(i, A) Nghiên cứu mở rộng thuật toán ColorSplit với cách sử dụng tập màu cho toán cụ thể Tiếp đến trình bày Thuật toán tô màu với tính chất vật lý bảng sở Việc tô màu việc tìm chiến lƣợc tối ƣu thực truy vấn cải tạo màu đầu vào để thỏa mãn tính chất đầu Chiến lƣợc đƣợc chọn phụ thuộc vào tính chất quan hệ đầu vào 54 Chƣơng : ỨNG DỤNG THUẬT TOÁN TÔ MÀU TỐI ƢU CÂY TRUY VẤN VÀO BÀI TOÁN QUẢN LÝ PHẠM NHÂN Với đặc thù công tác quản lý, giam giữ phạm nhân, theo dõi giám sát trình cải tạo phạm nhân, Bộ Công an phân chia phạm nhân theo tiêu chí nhƣ địa giới hành chính, vùng miền, đặc thù mức độ phạm tội tội danh đảm bảo công tác giam giữ, cải tạo phù hợp, an toàn cho đối tƣợng thuận lợi cho quản lý, giáo dục đào tạo nghề tái hòa nhập cộng đồng Dữ liệu phạm nhân đƣợc phân lớp, phân mảnh, phân tán trại giam Cơ sở liệu quản lý phạm nhân phù hợp để ứng dụng thuật toán trình bày chƣơng cho câu truy vấn thƣờng dùng, truy vấn đặc thù quan quản lý phạm nhân lãnh đạo huy cấp Bộ Công an 3.1 Công tác quản lý phạm nhân Phạm nhân sau bị kết án đƣợc chuyển trại giam để thi hành án Các trại giam đƣợc bố trí theo vùng, miền, theo mức án hay theo tội danh ngƣời bị kết án Tổng cục VIII - Bộ Công an quan quản lý tất trại giam nƣớc Dữ liệu Phạm nhân chủ yếu lƣu trữ trại giam Định kỳ đột xuất có yêu cầu truy vấn phục vụ công tác lãnh đạo huy phục vụ công tác xét đặc xá Tại quan Bộ truy vấn trực tiếp yêu cầu trại báo cáo số liệu theo mẫu Để thực truy vấn liệu tổng thể cần phải bố trí, đặt lại liệu hay cần phải phân mảnh ngang lại liệu trƣớc thực truy vấn Việc lựa chọn quan hệ để phân mảnh cần phải tính toán cho chi phí phân mảnh cực tiểu 3.2 Cơ sở liệu Phần mềm quản lý phạm nhân Bài toán quản lý phạm nhân tƣơng tự nhƣ toán quản lý nhân sự, toán không xét khía cạnh quản lý Tuy nhiên, toán có đặc thù liệu nội Dữ liệu đƣợc phân tán trại giam Việc truy vấn tổng thể yêu cầu luôn đƣợc đặt Quan hệ PHAM_NHAN, quan hệ lƣu trữ thông tin nhân thân phạm nhân Quan hệ thứ hai PHAM_TOI, lƣu thông tin tội án phạt phạm nhân, phạm nhân kết án nhiều tội, phạm tội nhiều lần Quan hệ CAI_TAO, lƣu trữ thông tin trình cải tạo phạm nhân, thông tin trại giam, buồng giam trình tải tạo đƣợc lƣu trữ quan hệ Ngoài ra, có quan hệ nhƣ KHEN_THUONG, KY_LUAT số quan hệ khác phục vụ cho trình quản lý, xét đặc xá, cho phạm nhân Mô hình sở liệu phạm nhân đƣợc thể Hình 3.1 55 Hình 3.1: Cơ sở liệu quản lý phạm nhân 3.3 Ứng dụng thuật toán tô màu tối ƣu cho số truy vấn vào toán quản lý phạm nhân Hàng tháng, hàng quý, hàng năm đột xuất, trại giam phải báo cáo tình hình, diễn biến nhƣ số trại, số tiếp nhận thêm thống kê theo tiêu chí cụ thể phục vụ đợt đặc xá hàng năm, Để giảm chi phí cập nhật, làm báo cáo, theo tiêu chí trên, ứng dụng thuật giải tối ƣu hóa truy vấn hay thông qua toán tô màu cho truy vấn để tìm truy vấn tối ƣu với chi phí phân mảnh ngang lại quan hệ thấp Thông qua thuật toán tô màu tối ƣu giúp thiết kế, bố trí, đặt liệu cho truy vấn không tốn tốn chi phí, tìm kiếm, thống kê nhanh, xác Ở đây, nghiên cứu việc phân mảnh ngang lại quan hệ Việc thực báo cáo theo tiêu chí đƣợc thực mục “Hƣớng phát triển” luận văn Sau đây, tác giả xin giới thiệu số truy vấn thƣờng dùng ứng dụng quản lý phạm nhân Đồng thời nghiên cứu, ứng dụng thuật toán tối ƣu hóa truy vấn thông qua số ví dụ cụ thể 56 3.3.1 Ví dụ “ Lập danh sách phạm nhân có thành tích trình cải tạo đƣợc cấp Tổng Cục khen, phạm tội có mức án dƣới năm tù” để xét đặc xá i- Câu truy vấn là: SELECT PN.SO_HO_SO, PN.HO_TEN FROM PHAM_NHAN PN, PHAM_TOI PT, KHEN_THUONG KT WHERE KT.MA_PN=PN.MA_PN AND PT.MA_PN=PN.MA_PN AND KT.CAP_KHEN=’Tổng cục’ AND PT.AN_PHAT< 7; ii- Cây truy vấn ban đầu: (HO_TEN) MA_PN MA_PN KT PT PN Hình 3.2: Cây truy vấn ban đầu Nhận xét: - Với truy vấn trên, độ lớn bảng tham gia kết nối nhỏ tốc độ truy vấn không ảnh hƣởng nhiều - Tuy nhiên, số bảng PHAM_NHAN, bảng PHAM_TOI lớn truy vấn thực chậm hay chi phí thực truy vấn (tính theo thời gian) cao (HO_TEN) MA_PN MA_PN (HO_TEN, MA_PN ) KT PT PN Hình 3.3: Cây truy vấn sau xếp lại thứ tự phép nối 57 iii- Sắp xếp phép nối lại thứ tự phép nối ta đƣợc truy vấn nhƣ hình 3.3 Nhận xét: - Rõ ràng, đẩy phép chọn xuống thấp gần lá, thỏa mãn điều kiện chọn đƣợc lọc ra, số kết thỏa mãn nhỏ số quan hệ ban đầu Nếu hệ số chọn thấp, phía gốc, số nhận đƣợc nhiều so với quan hệ ban đầu - Các thỏa mãn điều kiện chọn sau nối với theo kiện nối - Do vậy, sau xếp lại thứ tự phép nối, tìm đƣợc tối ƣu với chi phí thấp nhiều so với ban đầu 3.3.2 Ví dụ Giả sử với câu truy vấn nhƣ ví dụ Quan hệ KHEN_THUONG phân mảnh ngang theo thuộc tính CAP_KHEN, quan hệ PHAM_TOI phân mảnh ngang theo thuộc tính AN_PHAT, quan hệ PHAM_NHAN phân mảnh ngang theo thuộc tính MA_PN hai nút nhƣ Hình 3.4 Nút Nút KHEN_THUONG0=Hash(CAP_KHEN)Mod 2=0 PHAM_TOI0=Hash(AN_PHAT)Mod 2=0 PHAM_NHAN0=Hash(MA_PN)Mod 2=0 KHEN_THUONG1=Hash(CAP_KHEN)Mod 2=1 PHAM_TOI1=Hash(AN_PHAT)Mod 2=1 PHAM_NHAN1=Hash(MA_PN)Mod 2=1 Hình 3.4: Phân mảnh quan hệ hai nút Giả sử chi phí phân mảnh ngang lại quan hệ đƣợc cho nhƣ Hình 3.4 Hãy tìm phƣơng án tô màu tối ƣu truy vấn để tổng chi phí phân mảnh ngang nhỏ Có nhận xét rằng: Để thực nối quan hệ, toán hạng cần đƣợc phân mảnh theo thuộc tính nối Các quan hệ chƣa thỏa mãn thuộc tính nối cần phân mảnh lại tốn chi phí truyền thông Chi phí tô màu tổng trọng số cạnh đứt nét Thuật toán tô màu sử dụng thuật giải Heristic, đơn giản tránh phân mảnh ngang lại quan hệ có chi phí cao Chi phí tô màu tối ƣu 14 (cây Hình 3.5-ii) 58 MA_PN 12 KT(CAP_KHEN) MA_PN 15 PT(AN_PHAT) (i) PN(MA_PN) MA_PN 12 KT(CAP_KHEN) MA_PN MA_PN PT(AN_PHAT) 12 KT(CAP_KHEN) 15 (ii) PN(MA_PN) MA_PN PT(AN_PHAT) 15 (iii) PN(MA_PN) Hình 3.5: Cây truy vấn ban đầu phƣơng án tô màu 3.3.3 Ví dụ Xét câu truy vấn: “Đếm số phạm nhân theo thành phần gia đình” Câu truy vấn là: SELECT MA_TPGD, COUNT(*) FROM PHAM_NHAN PN, TP_GIA_DINH TP_GD WHERE TP_GD.MA_TPGD=PN.MA_TPGD GROUP BY MA_TPGD; Giả sử, quan hệ TP_GIA_DINH, PHAM_NHAN phân mảnh theo thuộc tính MA_TPGD theo hàm phân mảnh Khi đó, mảnh quan hệ PHAM_NHAN, TP_GIA_DINH phân mảnh giống nên nối theo thuộc tính phân mảnh (MA_TPGD) gộp nhóm phân mảnh lại Chi phí phân mảnh Tất nút đƣợc tô màu (Hình 3.6) Nút Nút TP_GIA_DINH0=Hash(MA_TPGD) Mod 2=0 PHAM_NHAN0=Hash(MA_TPGD) Mod 2=0 TP_GIA_DINH1=Hash(MA_TPGD) Mod 2=1 PHAM_NHAN1=Hash(MA_TPGD) Mod 2=1 59 GROUP BY (MA_TPGD) MA_TPGD TP_GD(MA_TPGD) PN(MA_TPGD) Hình 3.6: Phân bố liệu truy vấn tối ƣu Giả sử, quan hệ TP_GIA_DINH đƣợc phân mảnh khoảng theo thuộc tính MA_TPGD; quan hệ PHAM_NHAN phân mảnh băm thuộc tính MA_TPGD (gọi MA_TPGD’ cho dễ phân biệt) Chúng ta dùng hai màu A, B để thể màu cho hai thuộc tính phân mảnh Dữ liệu nút truy vấn khác phân hoạch liệu nhƣ Hình 3.7 Nút Nút TP_GIA_DINH0=Hash(MA_TPGD) Mod 2=0 PHAM_NHAN0=Hash(MA_TPGDMAk) GROUP BY (MA_TPGD) 8 MA_TPGD TP_GD(MA_TPGD) (i) PN(MA_TPGD’) MA_TPGD’ TP_GD(MA_TPGD) (ii) PN(MA_TPGD’) Hình 3.7: Cây truy vấn khác phân hoạch liệu Nhận thấy rằng, có giá trị MA_TPGD đƣợc đặt nên toán tử GROUP BY đƣợc phân hoạch theo MA_TPGD Toán tử nối đƣợc phân mảnh theo thuộc tính MA_TPGD MA_TPGD’ Nếu phân mảnh theo thuộc tính MA_TPGD quan hệ PHAM_NHAN phải phân mảnh lại Nếu phân mảnh theo thuộc tính MA_TPGD quan hệ TP_GIA_DINH phải phân mảnh lại Xét truy vấn 3.7 - (ii) Quan hệ TP_GD phân mảnh thành TP_GD1 TP_GD2 Áp dụng công thức Bổ đề 2.1, Bổ đề 2.2 thuật toán tách màu trình bày mục 2.2.1 chƣơng 2, có truy vấn, kết tính toán Optc Opt nhƣ Bảng 3.1 60 UNION 8 MA_TPGD’1 MA_TPGD’2 6 PN(MA_TPGD’) TP_GD1 PN(MA_TPGD’) TP_GD2 Hình 3.8: Cây truy vấn sau tách nút TP_GD Các nút (theo thứ tự hậu tố) TP_GD1 PN PN TP_GD2 Union MA_TPGD2   12 B   0 0 Opt A Optc Các màu MA_TPGD1 Bảng 3.1 Tính toán Optc, Opt truy vấn Cột thứ dành cho TP_GD1 vốn đƣợc tô màu A, từ bổ đề 2.1 hàng lại  Tƣơng tự cho cột lại Các mục Opt giá trị bé cột Cột cuối Optc trình bày tính toán Union Ví dụ: tính Optc(Union, A) Ta có: Optc(Union, A) =Min(Optc(MA_TPGD’1, A), 8+Opt(MA_TPGD’1) + Min(Optc(MA_TPGD’2, A), 8+Opt(MA_TPGD’2) = + 6=12 Tính tƣơng tự ta có: Optc(Union, B) = Nhận thấy rằng, Opt(B) nhỏ nhất, hay nút gốc (Union) tô màu B tối ƣu Áp dụng Bổ đề 2.2 ta có phép tô màu tối ƣu cho truy vấn nhƣ sau: B 8 B A B B A Hình 3.9: Cây truy vấn tối ƣu với chi phí 6 B 61 Cây tìm đƣợc thỏa mãn nhận xét Chi phí tô màu Tổng trọng số cạnh đa màu Chi phí tô màu tìm đƣợc 3.3.4 Hình ảnh Demo Phần Demo, tác giả thực số Modul minh họa số nội dung trình bày luận văn tối ƣu hóa truy vấn, thuật toán tô màu tối ƣu theo thuật giải Heristic Sau đây, số kết hình phần Demo Hình 3.10: Kết truy vấn sau xếp lại thứ tự phép nối 62 Hình 3.11: Kết chọn màu để tô chi phí phân mảnh lại Hình 3.12: Tính toán giá trị Optc theo bổ đề 2.1 Hình 3.13: Một số Modul khác phần Demo 3.4 Kết chƣơng Trong chƣơng 3, tác giả nghiên cứu, tìm hiểu liệu sở liệu Quản lý phạm nhân trại giam Bộ Công an, truy vấn thƣờng dùng đặc thù công tác quản lý, giam giữ cải tạo phạm nhân Từ truy vấn đó, tác giả sơ đánh giá chi phí không tối ƣu truy vấn có áp dụng tối ƣu câu truy vấn Các thuật toán tô màu tối ƣu truy vấn áp dụng câu 63 truy vấn đặc thù tìm chọn đƣợc chiến lƣợc tô màu tối ƣu hay chọn đƣợc phƣơng án phân mảnh quan hệ nút mà tổng chi phí phân mảnh ngang lại quan hệ nhỏ Phƣơng án lựa chọn màu tối ƣu thể bảng tính toán Optc, Opt Việc tính toán Optc, Opt dựa vào bổ đề trình bày thuật giải Heristics Với đặc thù liệu toán Quản lý phạm nhân, việc ứng dụng thuật toán vào toán Quản lý phạm nhân trại giam phù hợp, kết nghiên cứu thể hiệu bƣớc đầu 64 KẾT LUẬN Bài toán sở liệu hay phƣơng pháp, thuật toán nhằm tối ƣu hóa truy vấn toán không nhƣng toán mang tính thời với đặc thù, ảnh hƣởng đời sống nhƣ công nghệ thông tin Tối ƣu hóa truy vấn thông qua Bài toán tô màu tối ƣu truy vấn tiếp cận tƣơng đối áp dụng thuật giải Heristic tô màu cho nút nhằm đạt đƣợc tối ƣu (truy vấn tối ƣu) Kết thuật toán đạt đƣợc tốt nhƣng cho kết nhanh, dễ ứng dụng thực tế Trong phạm vi luận văn, tác giả nghiên cứu, hệ thống hóa sở lý thuyết sở liệu phân tán, xử lý phân tán, lập trình song song, số thuật toán xử lý liệu phục vụ cho việc xử lý song song, tối ƣu hóa truy vấn Tác giả có điều kiện nghiên cứu sâu thuật toán tô màu tối ƣu truy vấn áp dụng đƣợc sở liệu thực tế công tác Qua thuật toán tô màu, toán tối ƣu hóa truy vấn giúp cho việc nghiên cứu xây dựng sở liệu hợp lý, tối ƣu đồng thời tính toán đặt, bố trí liệu hợp lý cho truy vấn đặc thù thực truy vấn bố trí lại liệu giúp truy vấn nhanh, giảm chi phí truyền thông phát sinh phải phân mảnh lại quan hệ Nội dung luận văn nhƣ phần ứng dụng tác giả chủ yếu nghiên cứu lý thuyết ứng dụng cho số câu truy vấn sở liệu với số Demo, chƣa xây dựng đƣợc phần mềm hoàn chỉnh Tác giả mong muốn tiếp tục nghiên cứu dùng phƣơng pháp tối ƣu lý thuyết đồ thị nghiên cứu so sánh với phƣơng pháp tối ƣu Đồng thời hoàn thiện chƣơng trình Demo để ứng dụng thực tế Tác giả chân thành cảm ơn PGS.TS Lê Huy Thập, Thầy, Cô giáo Đại Học Công nghệ - ĐHQGHN mong nhận đƣợc ý kiến bổ sung, dẫn thêm thầy cô 65 DANH MỤC TÀI LIỆU THAM KHẢO Tiếng Việt PGS.TS Lê Huy Thập (2012), Cơ sở lý thuyết song song, tài lần 1, Nhà xuất Thông tin Truyền thông Đoàn Văn Ban, Nguyễn Mậu Hân (2006), Xử lý song song phân tán, NXB Khoa học Kỹ thuật PGS.TS Nguyễn Tuệ (2009), Giáo trình nhập môn sở liệu, NXB Giáo Dục PGS.TS Lê Huy Thập (2015), Bài giảng sở liệu phân tán, lập trình song song trƣờng ĐH Sƣ Phạm Hà Nội 2, Học viện công nghệ Bƣu Viễn Thông, ĐH Thái Nguyên Tiếng Anh Barry Wilkinson and Michael Allen (1999), Parallel Programming: Techniques and Applications using Networked Workstations and Parallel Computers, Prentice Hall New Jersey Behrooz Parhami (1999), Introduction to Parallel Processing: Algorithms and Architectures, Springer Dimitri P Bertsekas and John N Tsitsiklis (2001), Parallel and Distributed Computation: Numerical Methods Massachusets Institute of Technology Prentice Hall Press Michael J Quinn (2000), Parallel Computing: theory and practice, 2nd edition Oregon State University, USA McGraw Hill Inc M Tamer Özsu, Patrick Valduriez (2011), Principles of Distributed Database Systems, Third Edition, Springer 10 Seyed H Roo (1999), Parallel processing and Parallel Algorithms, Theory and Coputation, Springer [...]... tảng để thực hiện các truy vấn song song, tối ƣu hóa chi phí 33 Chƣơng 2 : TỐI ƢU HÓA TRUY VẤN VÀ CÁC THUẬT TOÁN TÔ MÀU TỐI ƢU CÂY TRUY VẤN Tối ƣu hóa truy vấn là chọn chiến lƣợc tối ƣu thực hiện truy vấn CSDL với chi phí thấp nhất Chi phí truy vấn có thể tính theo thời gian, chi phí không gian nhớ hoặc chi phí truy n thông trên mạng Mỗi câu truy vấn CSDL sẽ xây dựng đƣợc cây truy vấn Tùy thuộc tính... truy vấn là thực hiện nhiều truy vấn cùng một lúc bằng cách lập lịch thực hiện cho các toán tử của các truy vấn đó Để đáp ứng có hiệu quả đối với nhiều loại truy vấn khác nhau, bộ tối ƣu truy vấn cần phải tạo ra ít nhất 22 một tiến trình cho mỗi loại toán tử CSDL nguyên thuỷ trong mỗi bộ xử lý Các toán tử này đƣợc gọi là các toán tử phục vụ Khi một toán tử phục vụ hoàn thành công việc đối với một truy. .. Xem cây truy vấn hình 2.2 2.1.2.2 Cây toán tử Cây toán tử đƣợc định nghĩa nhƣ sau[1]: - Các nút của một cây toán tử biểu diễn các toán tử và các đoạn mã lệnh đơn - Các cạnh tƣợng trƣng cho các dòng dữ liệu, hƣớng chỉ của mỗi cạnh thể hiện ràng buộc thời gian giữa các toán tử - Một toán tử có thể nhận vào nhiều tập các bộ và tạo ra một tập kết quả - Các toán tử đƣợc hình thành nhờ phát sinh ra các đoạn... toán tô màu các nút trên cây truy vấn, màu của nút trên cây là thuộc tính phân mảnh tại nút đó Thuật toán tô màu tối ƣu cây truy vấn tìm chọn phƣơng án tối ƣu tô màu cho cây truy vấn với chi phí cực tiểu Chi phí ở đây là chi phí phân mảnh ngang lại quan hệ Ngoài ra, khi có xét đến các tính chất vật lý của quan hệ thì chi phí còn tính đến chi phí thực hiện chiến lƣợc nối các quan hệ 2.1 Tối ƣu hóa truy. .. thống, một tập các tiến trình điều phối đƣợc tạo ra - Trình phân phối (dipatcher process) chỉ định một tiến trình điều phối cho một truy vấn theo kiểu hàng đợi - Khi một bộ điều phối đƣợc chỉ định cho một truy vấn thì tự nó lập lịch cho các phép toán trong câu truy vấn tƣơng ứng dựa vào cây toán tử - Bộ điều phối tƣơng ứng của cây toán tử phải "cạnh tranh" với các bộ điều phối khác để giành đƣợc các toán. .. nhiều truy vấn tối ƣu đối với hệ thống, thì việc chọn ra một truy vấn để thực hiện trƣớc là một vấn đề khó Các hệ Oracle 7 và Oracle RDB là các ví dụ về các hệ CSDL song song dùng chung vùng và có hỗ trợ cơ chế song song liên truy vấn 1.3.2.2 Song song nội truy vấn Song song nội truy vấn là dạng song song hoá thi hành song song một truy vấn đơn trên nhiều bộ xử lý Nghĩa là, nó thực hiện từng truy vấn một. .. tài nguyên cho mỗi toán tử một cách hợp lý để cuối cùng đƣa ra một phƣơng án thi hành song song tối ƣu 2.1.2.1 Cây truy vấn tiền xử lý Cây truy vấn tiền xử lý[1] làm nhiệm vụ giải thích phƣơng án thi hành một câu SQL Cây truy vấn tiền xử lý cho biết thứ tự thực hiện mỗi phép toán, phƣơng pháp tính toán mỗi toán tử Mỗi nút của cây là một hay nhiều phép toán đại số quan hệ, mỗi nút lá là một quan hệ... Bên cạnh đó, các ràng buộc thứ tự làm cho phép toán tiêu thụ chỉ 36 đƣợc bắt đầu khi phép toán sản xuất đã kết thúc Quá trình xây dựng cây toán tử dựa vào cây truy vấn tiền xử lý Quá trình này có thể xem nhƣ việc áp dụng một thủ tục "lấn chiếm " cho mỗi nút của cây Do các cây truy vấn tiền xử lý đƣợc cấu thành từ một tập cố định các toán tử nên quá trình áp dụng thủ tục lấn chiếm cho mỗi toán tử có thể... phương án - Một bộ lập lịch chung cho tất cả các truy vấn - Bộ lập lịch biết nhu cầu tài nguyên của tất cả các truy vấn hoạt động nên nó có thể lập lịch cho các phép toán của các cây toán tử này, dựa vào việc các yêu cầu này có phù hợp với điều kiện của hệ thống song song đang có hay không - Chiến lƣợc chọn "tốt nhất" đƣợc áp dụng để chọn ra một phép toán từ nhiều phép toán đang đợi - Sử dụng toán tử phục... chiến lƣợc thực hiện các phép toán Bộ tối ƣu hóa sẽ triển khai các mô hình và giải thuật song song để tìm kiếm một phƣơng án tốt nhất cho thực thi song song Pha thứ hai: Chuyển cây truy vấn tiền xử lý thành phƣơng án thực thi song song Giai đoạn này cũng đƣợc chia làm hai bƣớc: Bước 1: Trích ra cây toán tử Bƣớc này tạo ra một một cây toán tử trong đó nhận biết các phép toán sơ cấp và các ràng buộc về thời ... phân tán, kỹ thuật xử lý liệu phân tán tảng để thực truy vấn song song, tối ƣu hóa chi phí 33 Chƣơng : TỐI ƢU HÓA TRUY VẤN VÀ CÁC THUẬT TOÁN TÔ MÀU TỐI ƢU CÂY TRUY VẤN Tối ƣu hóa truy vấn chọn chiến... thi song song đƣợc phát biểu thành toán tô màu tối ƣu cho truy vấn Thông qua nghiên cứu thuật toán để tô màu tối ƣu truy vấn nhƣ thuật toán tách màu, thuật toán trộn,… tác giả có so sánh, đánh... Chƣơng 2, tác giả nghiên cứu phƣơng pháp tối ƣu hóa truy vấn thuật toán tô màu tối ƣu cho truy vấn Chƣơng 3, nghiên cứu ứng dụng thuật toán số câu truy vấn đặc thù sở liệu “Phần mềm quản lý phạm

Ngày đăng: 04/04/2016, 20:35

Từ khóa liên quan

Mục lục

  • LỜI CẢM ƠN

  • LỜI CAM ĐOAN

  • MỤC LỤC

  • DANH MỤC CÁC CỤM TỪ VIẾT TẮT, NGHĨA TIẾNG VIỆT

  • DANH MỤC SƠ ĐỒ, HÌNH VẼ, BẢNG

  • MỞ ĐẦU

  • : TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN, GIAO TÁC PHÂN TÁN VÀ XỬ LÝ SONG SONG

    • 1.1. Giới thiệu cơ sở dữ liệu phân tán

      • 1.1.1. Khái niệm

      • 1.1.2. Quản trị cơ sở dữ liệu phân tán

      • 1.1.3. Kiến trúc của cơ sở dữ liệu phân tán

        • 1.1.3.1. Sơ đồ tổng thể

        • 1.1.3.2. Sơ đồ phân mảnh

        • 1.1.3.3. Sơ đồ định vị

        • 1.1.3.4 .Sơ đồ ánh xạ cục bộ

        • 1.1.4. Đặc trưng của cơ sở dữ liệu phân tán

          • 1.1.4.1. Chia sẻ tài nguyên

          • 1.1.4.2. Tính mở

          • 1.1.4.3. Khả năng song song

          • 1.1.4.4. Khả năng mở rộng

          • 1.1.4.5. Khả năng chịu lỗi

          • 1.1.4.6. Tin cậy và nhất quán

          • 1.1.4.7. Tính trong suốt

          • 1.1.5. Các cơ chế truy xuất CSDL phân tán

            • 1.1.5.1. Truy xuất từ xa không qua chương trình phụ trợ

Tài liệu cùng người dùng

Tài liệu liên quan