Ứng Dụng Thuật Toán Năng Lượng Liên Kết Trong Thiết Kế Cơ Sở Dữ Liệu Phân Tán

16 387 0
Ứng Dụng Thuật Toán Năng Lượng Liên Kết Trong Thiết Kế Cơ Sở Dữ Liệu 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

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG ________ ________ BÀI THU HOẠCH MÔN HỌC CƠ SỞ DỮ LIỆU NÂNG CAO Đề Tài: Ứng Dụng Thuật Toán Năng Lượng Liên Kết Trong Thiết Kế Cơ Sở Dữ Liệu Phân Tán Học viên thực hiện: Trần Thanh Quốc Thắng MSSV: CH1101131 TP. HCM, năm 2012 Mở đầu Nhu cầu về lưu trữ và truy xuất dữ liệu ngày nay đã trỡ thành một trong những lĩnh vực trọng tâm đã và đang được nghiên cứu và phát triễn bởi tính ứng dụng rộng rãi của nó trong hầu hết các lĩnh vực đời sống của con người như kinh doanh, an ninh, giao thông, y tế… Việc thiết kế các mô hình cơ sở dữ liệu mới đang ngày càng trỡ nên cấp bách do nhu cầu lưu trữ dữ liệu ngày càng tăng, đòi hỏi phải có những mô hình cơ sở dữ liệu thích hợp cho việc truy vấn thông tin nhanh và chính xác. Vì vậy, việc ra đời của mô hình cơ sở dữ liệu phân tán như một điều tất yếu bởi tính ưu việt của nó so với các mô hình trước đó. Trong phạm vi hạn hẹp của bài thu hoạch này, tác giã sẽ đề cập tới việc thiết kế một hệ cơ sở dữ liệu phân tán dựa vào việc phân mãnh các quan hệ thông qua thuật toán năng lượng liên kết (Bond Energy Algorithm). Xin được gửi lời cảm ơn đến Phó Giáo sư - Tiến sỹ Đỗ Phúc, người đã tận tâm truyền đạt những kiến thức nền tảng cơ bản về môn học “Cơ Sở Dữ Liệu Nâng Cao”. MỤC LỤC CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG 1 TP. HCM, năm 2012 1 Mở đầu 2 MỤC LỤC 3 Phần I: Tổng Quan Về Cơ Sở Dữ Liệu Phân Tán 4 I. Giới thiệu về cơ sở dữ liệu phân tán 4 1. Lịch sử phát triển 4 2. Khái niệm về cơ sở dữ liệu phân tán 4 3. Một vài hệ cơ sở dữ liệu phân tán 5 4. Vấn đề về phân mãnh trong thiết kế cơ sở dữ liệu phân tán 6 II. Thuật toán năng lượng liên kết 7 1. Giới Thiệu 7 2. Tổng quan về thuật toán năng lượng liên kết 7 3. Các bước của thuật toán năng lượng liên kết 8 Phần 2: Ứng Dụng Tìm Kiếm Phân Mãnh Dọc 9 I. Giới thiệu tổng quan về ứng dụng 9 II. Tổng quan về cách hiện thực ứng dụng 11 Tài liệu tham khảo 16 6 1 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG Phần I: Tổng Quan Về Cơ Sở Dữ Liệu Phân Tán I. Giới thiệu về cơ sở dữ liệu phân tán 1. Lịch sử phát triển Vào những năm 1970, hệ thống cơ sở dữ liệu chủ yếu là những hệ thống quản lý tập trung. Với một hệ cơ sở dữ liệu tập trung, tập tất cả các dữ liệu được định vị tại một trạm đơn lẻ. Những người sử dụng tại các trạm từ xa nói chung có thể truy nhập cơ sở dữ liệu thông qua các công cụ truyền thông dữ liệu. Từ những năm 1980 trỡ đi, do nhu cầu thực tế là ngày càng có nhiều tổ chức phân bố trên nhiều vị trí địa lý khác nhau như các thành phố khác nhau hay các quốc gia khác nhau. Trong những trường hợp như vậy, việc xây dựng các hệ cơ sở dữ liệu tập trung đối với các tổ chức này thường là không thực tế và không kinh tế. Vì vậy, nhu cầu phân tán cơ sở dữ liệu ngày càng trỡ nên cần thiết và đòi hỏi phải có sự ra đời của một mô hình cơ sở dữ liệu mới đáp ứng được yêu cầu trên. Một cơ sở dữ liệu phân tán là một cơ sở dữ liệu logic đơn lẻ mà được trải ra về mặt vật lý trên nhiều máy tính ở nhiều vị trí địa lý khác nhau. 2. Khái niệm về cơ sở dữ liệu phân tán Cơ sở dữ liệu phân tán là tập cơ sở dữ liệu có quan hệ logic với nhau và được trãi trên 1 mạng máy tính. Mỗi trạm của mạng có khả năng xử lý tự quản và có thể thực hiện các ứng dụng cục bộ, mỗi một trạm cũng có thể tham gia vào ít nhất 1 ứng dụng toàn cục, có yêu cầu truy xuất dữ liệu tại nhiều trạm. Cơ sở dữ liệu phân tán là một khái niệm không bao gồm các trường hợp xử lý dữ liệu trong các hệ thống sử dụng bộ nhớ chung, kể cả bộ nhớ trong hay bộ nhớ thứ cấp, nhất thiết phải là một hệ thống có sử dụng giao tiếp mạng với các trạm làm việc độc lập. Những đặc điểm của một hệ sơ sở dữ liệu phân tán bao gồm: - Điều khiển tập trung - Tự quản trạm - Độc lập dữ liệu MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC 4 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG - Tính trong suốt phân tán cơ sở dữ liệu - Rút gọn dư thừa - Tính lặp dữ liệu - Cấu trúc vật lý phức và truy xuất hiệu suất cao - Chương trình chỉ đường - Sự ràng buộc toàn vẹn, phục hồi và điều khiển tương tranh - Tính riêng rẽ và tính an toàn 3. Một vài hệ cơ sở dữ liệu phân tán Có hai kiểu chung nhất của các hệ cơ sở dữ liệu phân tán là: hệ cơ sở dữ liệu phân tán thuần nhất và hệ cơ sở dữ liệu phân tán không thuần nhất. a. Hệ cơ sở dữ liệu phân tán thuần nhất Khi áp dụng đối với các hệ cơ sở dữ liệu, thuật ngữ thuần nhất có nghĩa là công nghệ cơ sở dữ liệu là như nhau (hay ít nhất có thể tương thích) tại mỗi vị trí địa lý khác nhau cũng có thể tương thích. Đối với các hệ cơ sở dữ liệu phân tán thuần nhất này, các điều kiện sau đây có thể tồn tại: - Các hệ điều hành máy tính tại mỗi vị trí địa lý là như nhau hay ít nhất chúng có khả năng tương thích cao. - Các mô hình dữ liệu được sử dụng tại mỗi vị trí địa lý là như nhau. - Các hệ quản trị cơ sở dữ liệu được sử dụng tại mỗi vị trí địa lý là như nhau hay ít nhất chúng có khả năng tương thích cao. - Dữ liệu tại các vị trí khác nhau có các định nghĩa và khuôn dạng chung. Các hệ cơ sở dữ liệu phân tán thuần nhất đơn giản hoá việc chia sẻ dữ liệu giữa những người sử dụng khác nhau. b. Hệ cơ sở dữ liệu phân tán không thuần nhất Trong hầu hết các tổ chức, các hệ cơ sở dữ liệu liên quan đến một chu kỳ dài không được chỉ đạo và lập kế hoạch cẩn thận. Các máy tính khác nhau và các hệ điều hành khác nhau có thể được sử dụng tại mỗi vị trí địa lý. Các mô hình dữ liệu khác nhau và các hệ quản tri cơ sở dữ liệu khác nhau cũng MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC 5 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG có thể được lựa chọn sử dụng. Ví dụ, một vị trí có thể sử dụng công nghệ cơ sở dữ liệu quan hệ mới nhất, trong khi một vị trí khác có thể lưu trữ dữ liệu sử dụng các tệp truyền thống hay các cơ sở dữ liệu mạng, phân cấp cũ hơn. Phức tạp hơn nữa, dữ liệu trên các vị trí thường không tương thích. Các mâu thuẫn điển hình bao gồm các khác biệt về cú pháp (sự biểu diễn khác nhau của các khoản mục dữ liệu tại hai vị trí) và các khác biệt về ngữ nghĩa 4. Vấn đề về phân mãnh trong thiết kế cơ sở dữ liệu phân tán Một cơ sở dữ liệu phân tán dựa trên mô hình quan hệ trước hết phải tuân thủ các quy tắc về chuẩn hóa cho cơ sở dữ liệu quan hệ. Thêm vào đó, để phân tán cơ sở dữ liệu cần có thao tác chính là phân mãnh các quan hệ. Mục đích chính của việc phân mãnh các quan hệ là nhằm để nhận ra các đoạn không trùng nhau. Có 2 cách phân mãnh chính: - Phân mãnh ngang: là quá trình chia các bộ của quan hệ thành các tập con. Mỗi tập con này có thuộc tính vị trí thông thường. - Phân mãnh dọc: là quá trình chia nhỏ tập thuộc tính của một quan hệ thành những quan hệ nhỏ hơn. Phân đoạn đúng khi mỗi thuộc tính của các quan hệ con đều ánh xạ ít nhất sang một thuộc tính của quan hệ ban đầu. Hơn nữa, có thể tạo lại quan hệ ban đầu bằng cách liên kết các quan hệ con với nhau. Để đảm bảo tính nhất quán của cơ sở dữ liệu, đặc biệt về ngữ nghĩa của dữ liệu, khi phân mãnh cần tuân thủ các tính chất sau: - Tính đầy đủ - Tính tái thiết được - Tính tách biệt MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC 6 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG II. Thuật toán năng lượng liên kết 1. Giới Thiệu Có hai phương pháp chính thường được dùng trong việc tìm kiếm các phân mãnh dọc là: - Phương pháp nhóm: khởi đầu bằng tập các mãnh, mỗi mãnh có 1 thuộc tính, tại mỗi bước ghép một số mãnh lại cho tới khi thõa mãn 1 tiêu chuẩn nào đó. - Phương pháp tách: tại mỗi bước tìm 1 phân hoạch có lợi cho việc truy xuất của ứng dụng trên các thuộc tính đó. Một trong những thuật toán thường được sử dụng trong việc tìm kiếm các phân mãnh dọc là thuật toán năng lượng liên kết (Bond Energy Algorithm, Hofer & Severance, 1975 và Navathe, 1984) được thiết kế đặc biệt để xác định các nhóm thuộc tính gồm các mục tương tự, khác với một sắp xếp thứ tự tuyến tính của các mục. Các kết quả tụ nhóm không bị ảnh hưởng bởi thứ tự đưa các mục vào thuật toán. Thời gian tính toán của thuật toán có thể chấp nhận được là O(n 2 ), với n là số lượngthuộc tính. 2. Tổng quan về thuật toán năng lượng liên kết Thông tin dùng để phân mãnh dọc có liên quan đến các ứng dụng, một mãnh dọc thường chứa các thuộc tính thường xuyên được truy xuất chung bởi một ứng dụng gọi là “ái lực”. Số đo độ ái lực thuộc tính giữa 2 thuộc tính A i và A j của quan hệ R[A1, A2, …, An] ứng với tập quan hệ Q = (q1, q2, …, qq) được định nghĩa như sau: MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC 7 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG Dựa vào công thức trên, ta có thể tính được một ma trận ái lực thuộc tính đầy đủ AA là một ma trận vuông cấp (n x n), với n là số thuộc tính trên quan hệ. Thuật toán năng lượng liên kết dựa vào ma trận ái lực thuộc tính AA để sinh ra một ma trận ái lực tụ CA dựa trên các hoán vị hàng và cột, hoán vị được thực hiện sao cho số đo ái lực chung AM là lớn nhất Khi đặt 1 thuộc tính mới A k vào giữa A i và A j thì số đo độ đóng góp thực cho ái lực chung là: Với: 3. Các bước của thuật toán năng lượng liên kết Bước 1: khởi gán và cố định một trong các cột của AA vào trong CA Bước 2: lấy lần lượt một trong n-1 cột còn lại, đặt chúng vào i+1 vị trí còn lại trong ma trận CA. Nơi đặt được chọn sao cho nó đóng góp nhiều nhất cho số ái lực chung. Bước 3: sau khi sắp xếp xong vị trí các cột ở bước 2, tiến hành sắp xếp lại thứ tự của các hàng sao cho phù hợp với vị trí tương ứng của các cột MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC 8 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG Phần 2: Ứng Dụng Tìm Kiếm Phân Mãnh Dọc I. Giới thiệu tổng quan về ứng dụng Hình 1. Màn hình khởi tạo của ứng dụng Hình 2. Màn hình kết quả của ứng dụng MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC 9 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG Ứng dụng tìm kiếm phân mãnh dọc cho phép người dùng nhập vào một ma trận truy xuất thuộc tính cấp (4 x 4) và một ma trận số đo tần xuất truy xuất ứng dụng. Ứng dụng sau đó sẽ tính toán và hiển thị kết quả tính toán cho ma trận ái lực thuộc tính đầy đủ AA và ma trận kết quả CA. Hình 3. Ma trận truy xuất thuộc tính Hình 4. Ma trận số đo tần số truy xuất ứng dụng Hình vuông đỏ trong Hình 3 và Hình 4 minh họa 1 trong các vị trí dùng để nhập giá trị cho hai ma trận nói trên Kết quả tính toán của ứng dụng sẽ được hiển thị như trong Hình 5 và Hình 6 cho ma trận ái lực thuộc tính đầy đủ AA và ma trận kết quả tụ nhóm CA MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC 10 [...]... 1); } Kết Luận MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC 14 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG Hệ cơ sở dữ liệu phân tán đóng vai trò quan trọng trong việc thiết kế các ứng dụng dùng để truy xuất lượng thông tin lớn và đảm bảo được tốc độ cao cũng như tính bảo mật tốt Thuật toán năng lượng liên kết đã chứng tỏ tính hiệu quả và chính xác trong. .. tính hiệu quả và chính xác trong việc phân mãnh quan hệ trong cơ sở dữ liệu nhằm phân tán dữ liệu, góp phần tạo ra một hệ cơ sở dữ liệu phân tán hoàn thiện và đầy đủ MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC 15 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG Tài liệu tham khảo 1 Bài giảng môn học Thiết kế CSDL phân tán Giảng viên : PGS.TS Đỗ Phúc Chương... trận kết quả tụ nhóm CA II Tổng quan về cách hiện thực ứng dụng Ứng dụng được viết bằng ngôn ngữ lập trình C# trên nền Window Form Application Các hàm chính của chương trình bao gồm: Bảng 1: Các hàm chính trong chương trình Tên hàm public void Cal_Print_CA() Chức năng Khởi tạo và lấy các giá trị nhập từ người dùng Tính toán ma trận AA In ma trận AA ra màn hình Hàm tính Bond của 2 thuộc tính Tính toán. .. chính trong chương trình MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC 11 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG Tên biến public int [,] qS Chức năng Ma trận truy xuất thuộc tính Ma trận số đo tần số truy xuất ứng dụng public int [,] AA Ma trận ái lực thuộc tính đầy đủ public int [,] CA Ma trận kết quả public int [] CA_pos Vị trí sắp xếp của ma trận kết. .. Patrick Valduriez, "Principles of Distributed Database Systems," Second Edition, Prentice Hall 1998 3 Nguyễn Đức Thuần, bài giảng Cơ sở dữ liệu phân tán , đại học Thủy Sản 2008 4 http://en.wikipedia.org/wiki/Distributed_database MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC 16 ... ma trận kết quả CA public int [,] qA Hàm tính toán cho ma trận ái lực thuộc tính đầy đủ AA được hiện thực như sau: public void CalculateAA() { int i, j, k, l; for (i = 0; i < 4; i++) { for (j = 0; j < 4; j++) { for (k = 0; k < 4; k++) { if ((qA[k, i] == 1) && (qA[k, j] == 1)) { for (l = 0; l < 3; l++) { AA[i,j] += qS[k,l]; } } } } } } Hàm tính toán liên kết (Bond) giữa hai thuộc tính Ax và Ay được hiện... == pos3) { CA_pos[3] = 3; } } MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC 13 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG Việc tạo ra ma trận kết quả CA sẽ nhờ vào ma trận ái lực thuộc tính đầy đủ AA và biến CA_pos dùng để lưu trữ các vị trí mới của các cột CA sau khi đã qua tính toán Hàm hiện thực của việc tạo ra ma trận CA như sau: public void Cal_Print_CA()... tmp; } Chương trình mặc định chọn cột 1 và cột 2 là 2 cột cố định đầu tiên trong ma trận CA Do đó, việc còn lại là cần hiện thực hàm tính toán để chèn vị trí các cột 3 và 4 Hàm tính toán vị trí cột 3: public void Insert_Column_3() { int pos0, pos1, pos2; pos0 = 2 * Bond(2, CA_pos[0]); MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC 12 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO... pos1) : pos2; if(max == pos0) { CA_pos[2] = CA_pos[1]; CA_pos[1] = CA_pos[0]; CA_pos[0] = 2; } if (max == pos1) { CA_pos[2] = CA_pos[1]; CA_pos[1] = 2; } if (max == pos2) { CA_pos[2] = 2; } } Hàm tính toán vị trí cột 4: public void Insert_Column_4() { int pos0, pos1, pos2, pos3; pos0 = 2 * Bond(3, CA_pos[0]); pos1 = 2 * Bond(CA_pos[0], 3) + 2 * Bond(3, CA_pos[1]) - 2 * Bond(CA_pos[0], CA_pos[1]); pos2 . hệ cơ sở dữ liệu phân tán Có hai kiểu chung nhất của các hệ cơ sở dữ liệu phân tán là: hệ cơ sở dữ liệu phân tán thuần nhất và hệ cơ sở dữ liệu phân tán không thuần nhất. a. Hệ cơ sở dữ liệu phân. về cơ sở dữ liệu phân tán 4 1. Lịch sử phát triển 4 2. Khái niệm về cơ sở dữ liệu phân tán 4 3. Một vài hệ cơ sở dữ liệu phân tán 5 4. Vấn đề về phân mãnh trong thiết kế cơ sở dữ liệu phân tán. tán 6 II. Thuật toán năng lượng liên kết 7 1. Giới Thiệu 7 2. Tổng quan về thuật toán năng lượng liên kết 7 3. Các bước của thuật toán năng lượng liên kết 8 Phần 2: Ứng Dụng Tìm Kiếm Phân Mãnh

Ngày đăng: 10/04/2015, 14:36

Từ khóa liên quan

Mục lục

  • CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG

    • TP. HCM, năm 2012

    • Mở đầu

    • MỤC LỤC

    • Phần I: Tổng Quan Về Cơ Sở Dữ Liệu Phân Tán

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

        • 1. Lịch sử phát triển

        • 2. Khái niệm về cơ sở dữ liệu phân tán

        • 3. Một vài hệ cơ sở dữ liệu phân tán

        • 4. Vấn đề về phân mãnh trong thiết kế cơ sở dữ liệu phân tán

        • II. Thuật toán năng lượng liên kết

          • 1. Giới Thiệu

          • 2. Tổng quan về thuật toán năng lượng liên kết

          • 3. Các bước của thuật toán năng lượng liên kết

          • Phần 2: Ứng Dụng Tìm Kiếm Phân Mãnh Dọc

            • I. Giới thiệu tổng quan về ứng dụng

            • II. Tổng quan về cách hiện thực ứng dụng

            • Tài liệu tham khảo

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

Tài liệu liên quan