Trong đề tài này, tác giả tập trung nghiên cứu các thuật toán nhằm tối ƣu hóa chi phí truy vấn cơ sở dữ liệu phân tán, tìm phƣơng án thực thi song song và đƣợc phát biểu thành bài toán[r]
Trang 1TRƯỜ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
Trang 2ĐẠ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
Trang 3LỜ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 tôi những kiến thức, kinh nghiệm vô cùng quý báu giúp tôi hoàn thành luận văn này
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 và các Phòng Ban của trường Đại học Công nghệ - Đại học Quốc gia Hà Nội, cùng các Thầy, Cô giáo trong Khoa Công nghệ thông tin - trường Đại học Công nghệ, đã truyền dạy, cung cấp cho tôi những kiễn thức cơ bản và chuyên sâu về 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 nhất trong suốt quá trình học tập và thực hiện 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 những người luôn sát cánh, động viên, khuyến khích tôi trong học tập cũng như thực hiện luận văn này
Học viên
Nguyễn Văn Cường
Trang 4
LỜI CAM ĐOAN
Tôi xin cam đoan nội dung trình bày trong luận văn này là do tôi tự nghiên cứu, tìm hiểu và được sự hướng dẫn trực tiếp của PGS.TS Lê Huy Thập Các nội dung trình bày và kết quả nghiên cứu hoàn toàn trung thực
Luận văn của tôi chưa từng được ai công bố trong bất cứ công trình nào Trong quá trình thực hiện luận văn, tôi đã tham khảo tài liệu của các tác giả được tôi trích dẫn, tham chiếu rõ ràng trong “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
Trang 5
MỤC LỤC
LỜI CẢM ƠN 3
LỜI CAM ĐOAN 4
MỤC LỤC 5
DANH MỤC CÁC CỤM TỪ VIẾT TẮT, NGHĨA TIẾNG VIỆT 7
DANH MỤC SƠ ĐỒ, HÌNH VẼ, BẢNG 8
MỞ ĐẦU 10
Chương 1 : 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 Error! Bookmark not defined 1.1 Giới thiệu cơ sở dữ liệu phân tán Error! Bookmark not defined 1.1.1 Khái niệm Error! Bookmark not defined 1.1.2 Quản trị cơ sở dữ liệu phân tán Error! Bookmark not defined 1.1.3 Kiến trúc của cơ sở dữ liệu phân tán Error! Bookmark not defined 1.1.4 Đặc trưng của cơ sở dữ liệu phân tán Error! Bookmark not defined 1.1.5 Các cơ chế truy xuất CSDL phân tán Error! Bookmark not defined 1.2 Giao tác phân tán Error! Bookmark not defined 1.2.1 Quản lý khóa trong giao tác Error! Bookmark not defined 1.2.2 Xử lý giao tác khi xảy ra sự cố Error! Bookmark not defined 1.3 Xử lý song song Error! Bookmark not defined 1.3.1 Một số thuật toán xử lý dữ liệu song song Error! Bookmark not defined.
1.3.2 Các phương pháp xử lý song song Error! Bookmark not defined 1.3.3 Các phép toán song song Error! Bookmark not defined 1.4 Kết chương Error! Bookmark not defined.
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 Error! Bookmark not defined 2.1 Tối ưu hóa truy vấn Error! Bookmark not defined.
Trang 62.1.1 Tổng quan Error! Bookmark not defined 2.1.2 Mô hình tối ưu hoá truy vấn hai pha JOQR Error! Bookmark not defined.
2.1.3 Chi phí song song và mô hình chi phí trên bộ tối ưu hoá truy vấn
Error! Bookmark not defined 2.1.4 Cực tiểu hoá chi phí phân mảnh lại Error! Bookmark not defined 2.2 Các thuật toán tô màu tối ưu cây truy vấn Error! Bookmark not
defined
2.2.1 Thuật toán tách màu Error! Bookmark not defined 2.2.2 Mở rộng thuật toán tách màu, cách sử dụng tập màu Error! Bookmark not defined.
2.3 Tô màu tối ưu cây truy vấn với tính chất vật lý Error! Bookmark not
defined
2.3.1 Chi phí của cây truy vấn tiền xử lý Error! Bookmark not defined 2.3.2 Thuật toán tách màu mở rộng Error! Bookmark not defined 2.4 Kết chương Error! Bookmark not defined.
Chương 3 : Ứ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 Error! Bookmark not defined 3.1 Công tác quản lý phạm nhân Error! Bookmark not defined 3.2 Cơ sở dữ liệu Phần mềm quản lý phạm nhân Error! Bookmark not
defined
3.3 Ứng dụng thuật toán tô màu tối ưu cho một số truy vấn vào bài toán quản lý phạm nhân Error! Bookmark not defined 3.3.1 Ví dụ 1 Error! Bookmark not defined 3.3.2 Ví dụ 2 Error! Bookmark not defined 3.3.3 Ví dụ 3 Error! Bookmark not defined 3.3.4 Hình ảnh Demo Error! Bookmark not defined 3.4 Kết chương Error! Bookmark not defined.
Trang 7KẾT LUẬN Error! Bookmark not defined DANH MỤC TÀI LIỆU THAM KHẢO 11
Trang 8DANH MỤC CÁC CỤM TỪ VIẾT TẮT, NGHĨA TIẾNG VIỆT
TT Từ viết
tắt
Cụm từ đầy đủ Nghĩa tiếng việt
1 CM Centralized Merging Trộn tập trung
2 CSDL Cơ sở dữ liệu Cơ sở dữ liệu
3 DBM Database management Quản trị cơ sở dữ liệu
4 DC Data Communication Truyền thông dữ liệu
5 DD Data Dictionary Từ điển dữ liệu
6 DDB Distributed Database Cơ sở dữ liệu phân tán
7 DM Distributed Merging Trộn tập trung
8 DP Data Placement Sắp đặt dữ liệu
9 JOQR Join Ordering and Query
Rewriting
Sắp xếp thứ tự các phép nối và viết lại câu truy vấn
10 MPP Massively Parallel
Processor
Bộ xƣ̉ lý Song song lớn
11 PAJ Paralel Associative Join Nối kết hợp song song
12 PHJ Parallel Hash Join Nối băm song song
13 PNL Parallel Nested Loop Vòng lặp lồng song song
14 PVM Parallel Virtual Machine Máy tính ảo song song
15 QEP Query Excution Plan kế hoạch thực hiện truy vấn
16 ReF Refragmentation Phân mảnh lại
Trang 9DANH MỤC SƠ ĐỒ, HÌNH VẼ, BẢNG Hình 1.1: Tổng quan CSDL phân tán Error! Bookmark not defined Hình 1.2: Mô hình CSDL phân tán trên mạng Error! Bookmark not defined Hình 1.3: Hệ thống đa xử lý Error! Bookmark not defined Hình 1.4: Các thành phần của một DDBMS Error! Bookmark not defined Hình 1.5: Kiến trúc cơ bản của CSDL phân tán Error! Bookmark not defined Hình 1.6: Các đoạn và hình ảnh vật lý của một quan hệ tổng thể Error! Bookmark not defined.
Hình 1.7: Cơ chế truy xuất từ xa Error! Bookmark not defined Hình 1.8: Cơ chế truy xuất thông qua chương trình phụ trợ Error! Bookmark not defined.
Hình 1.9: Thuật toán vòng lặp lồng song song song Error! Bookmark not defined.
Hình 1.10: Thuật toán nối kết hợp song song Error! Bookmark not defined Hình 1.11: Thuật toán nối băm song song Error! Bookmark not defined Hình 1.12: Quan hệ PROJ Error! Bookmark not defined Hình 1.13: Các mảnh dọc của quan hệ PROJ Error! Bookmark not defined Hình 1.14: Quan hệ ASG Error! Bookmark not defined Hình 1.15: Kết quả trộn tập trung Error! Bookmark not defined Hình 1.16: Số phạm nhân phạm các tội giam giữ tại các trại giam Error! Bookmark not defined.
Hình 1.17: Gộp nhóm theo phương pháp trộn phân tán Error! Bookmark not defined.
Hình 1.18: Gộp nhóm theo thuật toán ReF Error! Bookmark not defined Hình 1.19: Quan hệ EMP và PAY Error! Bookmark not defined Hình 1.20: Kết quả nối bằng Error! Bookmark not defined Hình 1.21: Kết quả nối nửa Error! Bookmark not defined.
Trang 10Hình 2.1: Quá trình tối ưu hoá truy vấn Error! Bookmark not defined Hình 2.2: Cây truy vấn tiền xử lý Error! Bookmark not defined Hình 2.3: Cây toán tử tương đương cây hình 2.5 Error! Bookmark not defined Hình 2.4: Các cây truy vấn khác nhau về phân hoạch dữ liệu Error! Bookmark not defined.
Hình 2.5: Chi phí các phương án tô màu (i) Cây ban đầu, (ii) Chi phí 7, (iii) chi
phí 6 Error! Bookmark not defined Hình 2.6: Phân rã bài toán sau khi tô màu nút i Error! Bookmark not defined Hình 2.7: Cây truy vấn với thuộc tính phân mảnh khác nhau Error! Bookmark not defined.
Hình 2.8: Điều kiện nối là thuộc tính: TP Error! Bookmark not defined Hình 3.1: Cơ sở dữ liệu quản lý phạm nhân Error! Bookmark not defined Hình 3.2: Cây truy vấn ban đầu Error! Bookmark not defined Hình 3.3: Cây truy vấn sau khi sắp xếp lại thứ tự phép nối Error! Bookmark not defined.
Hình 3.4: Phân mảnh quan hệ tại hai nút Error! Bookmark not defined Hình 3.5: Cây truy vấn ban đầu và các phương án tô màu Error! Bookmark not defined.
Hình 3.6: Phân bố dữ liệu và cây truy vấn tối ưu Error! Bookmark not defined Hình 3.7: Cây truy vấn khác nhau về phân hoạch dữ liệu Error! Bookmark not defined.
Hình 3.8: Cây truy vấn sau khi tách nút TP_GD Error! Bookmark not defined Hình 3.9: Cây truy vấn tối ưu với chi phí 6 Error! Bookmark not defined Hình 3.10: Kết quả truy vấn sau khi sắp xếp lại thứ tự phép nối Error! Bookmark not defined.
Hình 3.11: Kết quả chọn các màu để tô và chi phí phân mảnh lại Error! Bookmark not defined.
Hình 3.12: Tính toán giá trị Optc theo bổ đề 2.1 Error! Bookmark not defined.
Trang 11Hình 3.13: Một số Modul khác của phần Demo Error! Bookmark not defined.
Trang 12MỞ ĐẦU
Xử lý song song phân tán và lập trình song song đã và đang được các công
ty phần mềm trong nước và thế giới nghiên cứu ứng dụng bởi tính hiệu quả vô cùng lớn của nó Khả năng xử lý và lập trình song song ứng dụng giải quyết được các vấn đề lớn và phức tạp như dự báo động đất, sóng thần, thời tiết, xử lý ảnh, khai phá dữ liệu,… giúp giảm đáng kể chi phí, đồng thời khắc phục những hạn chế khi dùng các phương pháp tuần tự Ngoài ra, sử dụng các thuật toán xử
lý song song phân tán để đưa ra phương án tốt nhất xử lý, truyền và lưu thông tin tại các vị trí trên mạng
Trong đề tài này, tác giả tập trung nghiên cứu các thuật toán nhằm tối ưu hóa chi phí truy vấn cơ sở dữ liệu phân tán, tìm phương án thực thi song song và được phát biểu thành bài toán tô màu tối ưu cho một cây truy vấn Thông qua nghiên cứu các thuật toán để tô màu tối ưu một cây 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á và đề xuất phương án có chi phí tốt nhất với điều kiện cụ thể, rút ra kết luận
Nhằm hiện thực hóa các thuật toán tô màu tối ưu cây truy vấn, tác giả nghiên cứu, xây dựng cơ sở dữ liệu của ứng dụng Quản lý phạm nhân tại các trại giam của Bộ Công an, với một số câu truy vấn đặc trưng, thường dùng để mô phỏng các thuật toán, đánh giá kết quả thực nghiệm
Để có kiến thức nền tảng thực hiện nội dung đề tài này, tác giả tập trung nghiên cứu, tìm hiểu lý thuyết về CSDL phân tán, thiết kế CSDL phân tán-song song, truy vấn phân tán và vấn đề tối ưu, tính toán song song, các thuật toán thực thi song song, đặc biệt là nghiên cứu các thuật toán tối ưu truy vấn, tăng khả năng xử lý song song, phát biểu thành bài toán tô màu tối ưu một cây truy vấn
Về cấu trúc luận văn, ngoài phần mở đầu, kết luận và các danh mục, luận văn được tổ chức thành 3 chương Chương 1, tác giả trình bày các 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 các phương pháp tối ưu hóa truy vấn và các thuật toán tô màu tối ưu cho một cây truy vấn Chương 3, nghiên cứu ứng dụng thuật toán đối với một số câu truy vấn đặc thù của cơ sở dữ liệu “Phần mềm quản lý phạm nhân”
Trang 13Chương 1 DANH MỤC TÀI LIỆU THAM KHẢO Tiếng Việt
1 PGS.TS Lê Huy Thập (2012), Cơ sở lý thuyết song song, tài bản lần 1, Nhà
xuất bản Thông tin và Truyền thông
2 Đoàn Văn Ban, Nguyễn Mậu Hân (2006), Xử lý song song và phân tán, NXB
Khoa học và Kỹ thuật
3 PGS.TS Nguyễn Tuệ (2009), Giáo trình nhập môn cơ sở dữ liệu, NXB Giáo
Dục
4 PGS.TS Lê Huy Thập (2015), Bài giảng cơ sở dữ liệu phân tán, lập trình
song song tại các trường ĐH Sư Phạm Hà Nội 2, Học viện công nghệ Bưu
chính Viễn Thông, ĐH Thái Nguyên
Tiếng Anh
5 Barry Wilkinson and Michael Allen (1999), Parallel Programming:
Techniques and Applications using Networked Workstations and Parallel Computers, Prentice Hall New Jersey
6 Behrooz Parhami (1999), Introduction to Parallel Processing: Algorithms
and Architectures, Springer
7 Dimitri P Bertsekas and John N Tsitsiklis (2001), Parallel and Distributed
Computation: Numerical Methods Massachusets Institute of Technology
Prentice Hall Press
8 Michael J Quinn (2000), Parallel Computing: theory and practice, 2nd
edition Oregon State University, USA McGraw Hill Inc
9 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