các kỹ thuật phân mảnh, gộp nhóm trong csdl phân tán

74 392 0
các kỹ thuật phân mảnh, gộp nhóm trong csdl phân tán

Đ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

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TÔ NGỌC ANH CÁC KỸ THUẬT PHÂN MẢNH, GỘP NHÓM TRONG CSDL PHÂN TÁN LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái Nguyên - 2013 Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ ạo ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TÔ NGỌC ANH CÁC KỸ THUẬT PHÂN MẢNH, GỘP NHÓM TRONG CSDL PHÂN TÁN Chuyên ngành: Khoa học máy tính Mã số: 60 48 01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Ngƣời hƣớng dẫn khoa học: PGS.TS LÊ HUY THẬP Thái Nguyên - 2013 Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ i LỜI CAM ĐOAN Tôi xin cam đoan luận văn này là do bản thân tự nghiên cứu và thực hiện theo sự hƣớng dẫn khoa học của PGS. TS. Lê Huy Thập Tôi hoàn toàn chịu trách nhiệm về tính pháp lý quá trình nghiên cứu khoa học của luận văn này. Ngƣời Cam Đoan TÔ NGỌC ANH Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ ii LỜI CẢM ƠN Lời đầu tiên tôi xin gửi lời cảm ơn đến thầy giáo PGS. TS. Lê Huy Thập đã định hƣớng, hƣớng dẫn và giúp đỡ tôi rất nhiều về mặt chuyên môn trong quá trình tìm hiểu và thực hiện luận văn. Tôi xin gửi lời biết ơn sâu sắc đến các thầy, các cô đã dạy dỗ và truyền đạt những kinh nghiệm quý báu cho chúng tôi trong suốt hai năm cao học ở trƣờng Đại học Công nghệ thông tin và truyền thông Thái Nguyên. Cuối cùng, xin chân thành cảm ơn gia đình và bạn bè đã động viên, quan tâm, giúp đỡ tôi hoàn thành khóa học và luận văn. Thái nguyên, tháng 12 năm 2013 Tác giả Tô Ngọc Anh Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ iii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii MỞ ĐẦU 1 1. Đặt vấn đề 1 2. Đối tƣợng và phạm vi nghiên cứu 1 3. Hƣớng nghiên cứu của đề tài 1 4. Những nội dung nghiên cứu chính 1 Chƣơng 1: CƠ SỞ LÝ THUYẾT 2 1.1. GIỚI THIỆU VỀ LOGIC 2 1.2.TỔNG QUAN VỀ CSDL PHÂN TÁN 7 1.2.1.Các phƣơng pháp phân mảnh cơ bản. 8 1.2.2. Các lệnh phân mảnh cơ bản dựa vào câu SQL. 19 1.3. KẾT LUẬN CHƢƠNG 1. 20 Chƣơng 2: PHÂN MẢNH VÀ GỘP NHÓM TRONG CSDL PHÂN TÁN 21 2.1. CÁC KỸ THUẬT PHÂN MẢNH DỮ LIỆU TRONG CSDL 21 2.1.1. Loại bỏ dƣ thừa 21 2.1.2. Phân mảnh ngang : 21 2.1.3. Phân mảnh dọc 219 2.1.4. Phân mảnh hỗn hợp 2530 2.2. CÁC LỆNH SQL GỘP NHÓM 30 2.2.1. Thuật toán trộn tập trung CM (Centralized Merging) 46 2.2.2. Thuật toán trộn phân tán DM (Distributed Merging) 51 2.2.3. Thuật toán phân mảnh lại ReF (Refragmentation) 53 2.3. KẾT LUẬN CHƢƠNG 2. 55 3.1. ỨNG DỤNG TẠI CÔNG TY TNHH TM VẠN XUÂN ( DẠNG DEMO). 56 3.1.1. Giới thiệu CSDL tại công ty TNHH thƣơng mại Vạn Xuân 56 Hình 3-1. Sơ đồ kết nối các quan hệ 57 3.1.2. Ứng dụng các thuật toán gộp nhóm tại công ty TNHH thƣơng mại Vạn Xuân 57 3.2. KẾT LUẬN CHƢƠNG 3. 64 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN CỦA LUẬN VĂN 65 TÀI LIỆU THAM KHẢO 66 Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 1 MỞ ĐẦU 1. Đặt vấn đề Nhằm giải quyết vấn đề chậm trễ thƣờng gặp trong các hệ CSDL song song, ngoài việc áp dụng một kiến trúc phần cứng thích hợp, ngƣời ta tiến hành phân mảnh dữ liệu một cách hợp lý cho các bộ xử lý. Một chiến lƣợc phân mảnh dữ liệu tốt sẽ tăng mức độ thực hiện song song đồng thời khai thác tốt hơn các hàm gộp nhóm từ các mảnh. Chúng ta sẽ đề cập đến một số kỹ thuật phân mảnh dữ liệu theo chiều ngang phổ biến nhƣ phân mảnh theo vòng tròn Robin, phân mảnh theo hàm băm, phân mảnh theo khoảng, phân mảnh theo chiều dọc, và một số hàm gộp nhóm trong CSDL phân tán nhƣ: SUM, COUNT, AVERAGE 2. Đối tƣợng và phạm vi nghiên cứu Các hàm gộp nhóm trong cơ sở dữ liệu quan hệ Các phƣơng pháp phân mảnh Các hàm gộp nhóm trong trƣờng hợp CSDL phân tán 3. Hƣớng nghiên cứu của đề tài Nghiên cứu các phƣơng pháp phân mảnh. Nghiên cứu các hàm gộp nhóm. Nghiên cứu cách đƣa các hàm gộp nhóm vào các mảnh và ứng dụng 4. Những nội dung nghiên cứu chính Luận văn đƣợc trình bày trong 3 chƣơng, có phần mở đầu, phần kết luận, phần mục lục, phần tài liệu tham khảo. Các nội dung cơ bản của luận văn đƣợc trình bày theo cấu trúc nhƣ sau: Mở đầu Chƣơng 1: Cơ sở lý thuyết Chƣơng 2: Phân mảnh và gộp nhóm trong CSDL phân tán Chƣơng 3: Ứng dụng Kết luận và hƣớng phát triển của luận văn Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 2 Chƣơng 1: CƠ SỞ LÝ THUYẾT 1.1. GIỚI THIỆU VỀ LOGIC 1. Mệnh đề là một phát biểu để diễn tả một ý tƣởng trọn vẹn và chúng ta có thể khẳng định một cách khách quan là đúng hoặc sai, nó không thể vừa đúng lại vừa sai, hay mang tính chất mập mờ. 2. Giá trị trị đúng hay sai của mệnh đề đƣợc gọi là chân trị của mệnh đề. Chân trị đúng của mệnh đề thƣờng đƣợc kí hiệu là 1 hoặc T hoặc True, còn chân trị sai đƣợc kí hiệu là 0 hoặc F hoặc False 3. Mệnh đề logic tuy đơn giản nhƣng rất quan trọng trong khoa học máy tính. Là cơ sở lập luận hàng ngày và trong lập trình. Ví dụ 1.1.1. 1. “12 là số chẵn” là mệnh đề đúng 2. “12 là số nguyên tố” là mệnh đề sai 3. “x + ay = z” không phải mệnh đề Các kí hiệu dùng trong mệnh đề logic ( ) dùng để gom nhóm biểu thức logic Phủ định (NOT) Hội (Conjunction AND) Tuyển (Disjunction OR) Ký hiệu điều kiện (If…Then…) Kéo theo hai chiều (If AND Only If) Chúng ta giả thiết rằng tập các ký tự trong biểu thức logic là hữu hạn hoặc đếm đƣợc, nhƣng hầu hết các kết luận vẫn đúng cho trƣờng hợp không đếm đƣợc. Mệnh đề đƣợc chia làm hai loại cơ bản: mệnh đề sơ cấp (elementary), nó là các nguyên tử (atom)-không thể chia nhỏ đƣợc; mệnh đề phức hợp (compound), mệnh đề đƣợc tạo ra từ một hoặc nhiều mệnh đề khác bằng cách sử dụng các phép toán mệnh Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 3 Để máy tính hiểu đƣợc, chúng ta dùng các kí hiệu cho các mệnh đề, các biến mệnh đề thƣờng đƣợc dùng là các chữ thƣờng. Ví dụ 1.1.2. p = “15 MOD 3 = 0”, là mệnh đề sơ cấp. r = “15 MOD 3 = 0” AND “3 là số nguyên tố”, là mạnh đề phức hợp Các phép toán mệnh đề: (phủ định) ; (hội) ; (tuyển) ; (hoặc hay tổng trực giao) ; (kéo theo) ; (kéo theo hai chiều) Biểu thức logic Biểu thức logic có thể nói chính là mệnh đề phức hợp, biểu thức logic thường được ký hiệu bởi các chữ in to và nó là sự kết hợp của: - Các mệnh đề hay các giá trị hằng - Các biến mệnh đề hoặc các biểu thức logic - Các phép toán logic và các dấu ( ) - Bảng chân trị của các phép toán mệnh đề Bảng chân trị của các phép toán mệnh đề Mức ưu tiên của các phép toán logic Thứ tự ƣu tiên của các phép toán logic đƣợc liệt kê theo mức yếu dần từ trên xuống dƣới, từ trái qua phải theo bảng sau : p q p p q p q p q p q p q 0 0 1 0 0 0 1 1 0 1 1 0 1 1 1 0 1 0 0 0 1 1 0 0 1 1 0 1 1 0 1 1 Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 4 Ký hiệu phép toán Nghĩa của phép toán , , Phủ định , Hội, tuyển , Kéo theo, tƣơng đƣơng Bảng ƣu tiên các phép toán mệnh đề Tương đương của hai biểu thức logic Hai biểu thức logic E và F đƣợc gọi là tƣơng đƣơng với nhau và viết E F khi E và F có cùng chân trị. Các quy tắc thay thế Quy tắc 1: (Quy tắc thay thế tương đương). Cho E là một biểu thức logic, nếu thay thế một biểu thức con của nó bởi một biểu thức tƣơng đƣơng với biểu thức con đó, biểu thức logic E‟ mới nhận đƣợc sẽ tƣơng đƣơng với E. Quy tắc 2: (Tính bất biến đối với biểu thức logic hằng đúng) Cho E là biểu thức hằng đúng, nếu thay thế một biến mệnh đề p nào đó trong E bởi một biểu thức logic bất kỳ ta sẽ nhận đƣợc biểu thức logic E‟ mới cũng là hằng đúng. Tƣơng tự cho biểu thức hằng sai. Các dạng chính tắc Biểu thức hội cơ bản. Biểu thức logic F = F (p1, p2, pn ), trong đó pi ( ni ,1 ) là các biến mệnh đề sơ cấp, đƣợc gọi là biểu thức hội cơ bản, nếu: F = q1 q2 qn ; với qi = pi hoặc qi = pi ( ni ,1 ) Biểu thức tuyển cơ bản. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 5 Biểu thức logic E = E (p1, p2, pn ), trong đó pi ( ni ,1 ) là các biến mệnh đề sơ cấp, đƣợc gọi là biểu thức tuyển cơ bản, nếu: E = q1 q2 qn ; với qi = pi hoặc qi = pi ( ni ,1 ) Biểu thức logic E = E (p1, p2, pn ), trong đó pi ( ni ,1 ) là các biến mệnh đề sơ cấp, đƣợc gọi là dạng tuyển chính tắc, nếu: E = E1 E2 En ; trong đó mỗi Ei ( ni ,1 ) là những biểu thức hội cơ bản của các pi ( ni ,1 ). Định lý 1: Mọi biểu thức logic E (p 1 , p 2 , p n ) đều tương đương với một biểu thức tuyển chính tắc duy nhất. Tức là E (p 1 , p 2 , p n ) E 1 E 2 E m (duy nhất ) với E i ( mi ,1 ) là các biểu thức hội cơ bản. Biểu thức logic hội chính tắc Biểu thức logic F = F (p1, p2, pn ), trong đó pi ( ni ,1 ) là các biến mệnh đề sơ cấp, đƣợc gọi là dạng hội chính tắc, nếu: F = F1 F2 Fn , trong đó mỗi Fi ( ni ,1 ) là một biểu thức tuyển cơ bản của các p i ( ni ,1 ) Định lý 2: Mọi biểu thức logic F (p 1 , p 2 , p n ) đều tương đương với một biểu thức hội chính tắc duy nhất. Tức là F (p 1 , p 2 , p n ) F = F 1 F 2 F m (duy nhất ) với F i ( mi ,1 ) là các biểu thức tuyển cơ bản. Mộ số luật hay được dùng nhất 1/ Luật phủ định của phủ định: p p 2/ Luật giao hoán: p q q p p q q p 3/ Luật kết hợp: p (q r) (p q) r p (q r) (p q) r 4/ Luật phân phối: p (q r) (p q) (p r) p (q r) (p q) (p r) 5/ Luật Demorgan: (p q) p q [...]... mảnh và cách thiết trong CSDL phân tán Các lệnh phân mảnh dựa vào câu SQL CSDL phân tán đã đƣợc trình bày có các kiểu phân mảnh chính là : Phân mảnh ngang, phân mảnh dọc và phân mảnh hỗn hợp ( Trong phân mảnh ngang đƣợc chia ra làm 2 loại là : Phân mảnh ngang nguyên thuỷ và phân mảnh ngang dẫn xuất ), từ những kiến thức tìm hiểu đƣợc trong chƣơng, làm cơ sở cần thiết cho việc mở rộng nghiên cứu các phần... kiểu phân mảnh cơ bản là: Phân mảnh ngang, phân mảnh dọc Ngoài ra còn có các kiểu phân mảnh dựa trên hai cách cơ bản đã nêu là phân mảnh ngang dẫn xuất và phân mảnh hỗn hợp - Phân mảnh ngang Có hai loại phân mảnh ngang: phân mảnh ngang nguyên thuỷ và phân mảnh ngang dẫn xuất Các thông tin cần cho phân mảnh ngang: - Thông tin về CSDL Thông tin về CSDL là thông tin về lƣợc đồ khái niệm toàn cục của CSDL. .. NGANSACH TENDA TENDA CSDL 20000 CSDL 28000 CÀI ĐẶT 12000 CÀI ĐẶT 25000 2.2 CÁC LỆNH SQL GỘP NHÓM Các lệnh SQL gộp nhóm chính là các lệnh SQL có sự hỗ trợ của các hàm thƣ viện nhƣ: Hàm COUNT: Đếm số bộ có trong một quan hệ Hàm TOTAL: Tính tổng các giá trị trong một trƣờng của một quan hệ Hàm MAX: Cho giá trị cực đại của một trƣờng trong một quan hệ Hàm MIN: Cho giá trị cực tiểu của một trƣờng trong một quan... http://www.lrc-tnu.edu.vn/ 21 Chƣơng 2: PHÂN MẢNH VÀ GỘP NHÓM TRONG CSDL PHÂN TÁN 2.1 CÁC KỸ THUẬT PHÂN MẢNH DỮ LIỆU TRONG CSDL 2.1.1 Loại bỏ dƣ thừa Kết quả câu vấn tin của ngƣời sử dụng thƣờng đƣợc thể hiện trên một khung nhìn, có thể đƣợc bổ sung thêm nhiều vị từ để có đƣợc sự tƣơng ứng khung nhìn - quan hệ, nhằm bảo đảm đƣợc tính toàn vẹn ngữ nghĩa và bảo mật Khi bổ sung nhƣ vậy có thể sinh ra các vị từ dƣ thừa cần... chứa tất cả các tần số tại các vị trí khác nhau Kết quả của việc tính toán này là một ma trận nn, mỗi phần tử của nó là một trong các số đo đƣợc định nghĩa trên.Chúng ta gọi nó là ma trận ái lực thuộc tính (AA) - Phân mảnh hỗn hợp Trong đa số các trƣờng hợp, phân mảnh ngang hoặc phân mảnh dọc đơn giản cho một lƣợc đồ CSDL không đủ đáp ứng các yêu cầu từ các ứng dụng Trong trƣờng hợp đó, phân mảnh dọc... tâm Học liệu http://www.lrc-tnu.edu.vn/ 29 Nhận xét: - Cách phân mảnh này thuận lợi cho các phép tìm kiếm kết hợp, truy vấn khoảng và nhóm dữ liệu Tuy nhiên, dễ gây ra sự chênh lệch dữ liệu khi tất cả các mẫu tin trong quan hệ có giá trị trên thuộc tính phân mảnh nằm hầu hết trong một khoảng nào đó - Các loại phân mảnh ngang, phân mảnh dọc hoặc phân mảnh hỗn hợp đều có thể thực hiện bằng SQL nhƣ sau:... định tính phục vụ phân mảnh, còn thông tin định lƣợng sử dụng cho mô hình cấp phát Những thông tin định tính gồm có các vị trí đƣợc dùng trong các câu vấn tin Nếu không thể phân tích đƣợc hết tất cả các ứng dụng thì ít nhất cũng phải nghiên cứu đƣợc các ứng dụng “quan trọng” nhất + Phân mảnh ngang nguyên thủy Phân mảnh ngang nguyên thuỷ đƣợc định nghĩa bằng một thuật toán chọn trên các quan hệ nguồn... tái thiết lại quan hệ toàn cục trong trƣờng hợp phân mảnh hỗn hợp, ngƣời ta bắt đầu tại các nút lá của cây phân hoạch và di chuyển lên trên bằng cách thực hiện các phép nối và hợp Phân mảnh sẽ đầy đủ nếu các mảnh lá và mảnh trung gian đầy đủ Tƣơng tự, tính tách biệt đƣợc bảo đảm nếu các mảnh lá và trung gian là tách biệt Ví dụ 1.2.1-8 Khi phân mảnh quan hệ TraLuong, các vị từ hội sơ cấp M ={m1, m2}... cùng một trang vật lý - Nhƣng phân mảnh theo hàm băm thì các mẫu tin đƣợc phân mảnh ngẫu nhiên vào các vùng chứ không đƣợc nhóm lại với nhau nên không thích hợp với các truy vấn khoảng 2.1.2.3 Phân mảnh ngang theo khoảng Gộp những bộ mà giá trị thuộc tính nào đó của các bộ của chúng thuộc miền nào đó Thông thƣờng dùng câu lệnh SQL, để phân ra nhiều mảnh, có dạng: Vùng 0 SELECT * FROM WHERE... lý thuyết bởi vì các mức lồng trong phần lớn các ứng dụng thực tế đều không vƣợt quá 2 Điều này là do các quan hệ toàn cục đƣợc chuẩn hoá đều có các bậc nhỏ và không thể thực hiện phân mảnh quá nhiều trƣớc khi chi phí nối trở nên quá cao Chúng ta không thảo luận chi tiết về tính đúng đắn và các điều kiện cho phân mảnh hỗn hợp bởi vì tự nhiên là chúng tuân theo những yêu cầu của các phân mảnh ngang và . pháp phân mảnh Các hàm gộp nhóm trong trƣờng hợp CSDL phân tán 3. Hƣớng nghiên cứu của đề tài Nghiên cứu các phƣơng pháp phân mảnh. Nghiên cứu các hàm gộp nhóm. Nghiên cứu cách đƣa các hàm gộp. CSDL PHÂN TÁN 7 1.2.1 .Các phƣơng pháp phân mảnh cơ bản. 8 1.2.2. Các lệnh phân mảnh cơ bản dựa vào câu SQL. 19 1.3. KẾT LUẬN CHƢƠNG 1. 20 Chƣơng 2: PHÂN MẢNH VÀ GỘP NHÓM TRONG CSDL PHÂN TÁN. khoảng, phân mảnh theo chiều dọc, và một số hàm gộp nhóm trong CSDL phân tán nhƣ: SUM, COUNT, AVERAGE 2. Đối tƣợng và phạm vi nghiên cứu Các hàm gộp nhóm trong cơ sở dữ liệu quan hệ Các phƣơng

Ngày đăng: 22/11/2014, 21:17

Từ khóa liên quan

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

Tài liệu liên quan