THIẾT KẾ PHÂN ĐOẠN NGANG CSDL PHÂN TÁN ỨNG DỤNG MỘT SỐ KỸ THUẬT PHÂN CỤM TRONG KHAI PHÁ DỮ LIỆU .... Phân đoạn ngang sử dụng kỹ thuật phân cụm dữ liệu với số cụm tự động được phát hiện t
Trang 1Chuyên ngành: Công nghệ Thông tin
LUẬN VĂN THẠC SĨ KỸ THUẬT
CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC PGS.TS Nguyễn Kim Anh
Hà Nội – Năm 2015
Trang 22
LỜI CAM ĐOAN
Tên tôi là Nguyễn Văn Rạng, học viên lớp Cao học lớp 13BCNTT1, chuyên ngành Công nghệ Thông tin, trường Đại học Bách Khoa Hà Nội Tôi xin cam đoan
và hoàn toàn chịu trách nhiệm về lời cam đoan này:
Toàn bộ nội dung của Luận văn Thạc sỹ này là do chính tôi thực hiện dưới
sự hướng dẫn tận tình của PGS.TS Nguyễn Thị Kim Anh
Trong quá trình thực hiện Luận văn tôi có kế thừa kiến thức trong những tài liệu tham khảo (phần tài liệu tham khảo)
Các kết quả công bố sử dụng để kết luận và đánh giá trong Luận văn là hoàn toàn chân thực
Hà Nội, Tháng 12 năm 2014
Trang 33
LỜI CÁM ƠN
Để hoàn thành luận văn này, trước hết tác giả xin bày tỏ lòng biết ơn sâu sắc đến PGS.TS Nguyễn Thị Kim Anh, đang công tác tại Viện Công nghệ Thông tin và Truyền thông, Trường Đại học Bách khoa Hà Nội đã tận tình hướng dẫn, động viên trong suốt thời gian nghiên cứu
Xin bày tỏ lòng biết ơn sâu sắc đến TS Nguyễn Đức Thuần, Trường Đại học Nha Trang đã có nhiều đóng góp quý báu, hỗ trợ tài liệu, định hướng nghiên cứu, cung cấp các kết quả khoa học của TS giúp tác giả hoàn thành luận văn
Xin cùng bày tỏ lòng biết ơn sâu sắc đến TS Nguyễn Hữu Trọng, Trường Đại học Nha Trang đã có nhiều đóng góp quý báu, quan tâm, động viên tác giả để có thể hoàn thành luận văn
Cũng xin gửi lời cám ơn chân thành đến lãnh đạo, quý thầy cô Viện Công nghệ Thông tin và Truyền thông, Viện đào tạo Sau Đại học, Trường Đại học Bách khoa Hà Nội, lãnh đạo và quý thầy cô trường Đại học Nha Trang đã có nhiều góp ý, động viên, khích lệ tác giả trong thời gian nghiên cứu vừa qua
NGUYỄN VĂN RẠNG
Trang 44
MỤC LỤC
LỜI CAM ĐOAN 2
DANH MỤC CÁC CỤM TỪ VIẾT TẮT 6
DANH MỤC CÁC HÌNH 7
DANH MỤC CÁC BẢNG 8
MỞ ĐẦU 9
CHƯƠNG 1 CSDL PHÂN TÁN VÀ BÀI TOÁN THIẾT KẾ PHÂN ĐOẠN 11
1.1 Tổng quan về CSDL phân tán 11
1.2 Các bài toán thiết kế phân tán 11
1.3 Các kỹ thuật thiết kế phân đoạn 12
1.4 Kỹ thuật phân đoạn ngang 14
1.4.1 Giới thiệu 14
1.4.2 Thông tin cần thiết của phân đoạn ngang 15
1.4.3 Phân đoạn ngang cơ sở 18
1.4.4 Phân đoạn ngang dẫn xuất 22
CHƯƠNG 2 KHAI PHÁ DỮ LIỆU VÀ CÁC KỸ THUẬT PHÂN CỤM 28
2.1 Tổng quan về khai phá dữ liệu 28
2.2 Các mô hình khai phá dữ liệu 28
2.3 Bài toán phân cụm dữ liệu 29
2.3.1 Tổng quan về kỹ thuật phân cụm 29
2.3.2 Các kỹ thuật phân cụm dữ liệu 29
Trang 55
CHƯƠNG 3 THIẾT KẾ PHÂN ĐOẠN NGANG CSDL PHÂN TÁN ỨNG DỤNG
MỘT SỐ KỸ THUẬT PHÂN CỤM TRONG KHAI PHÁ DỮ LIỆU 33
3.1 Đặt vấn đề 33
3.2 Các vấn đề về thiết kế phân đoạn 33
3.3 Kỹ thuật phân đoạn ngang cổ điển 34
3.4 Phân đoạn ngang sử dụng kỹ thuật phân cụm dữ liệu k-Medoids 34
3.4.1 Đặt vấn đề 34
3.4.2 Mô hình dữ liệu 35
3.4.3 Thuật toán phân cụm 35
3.4.4 Thuật toán phân đoạn ngang sử dụng kỹ thuật phân cụm k-Medoids 37
3.4.5 Kết quả thực nghiệm và đánh giá 39
3.5 Phân đoạn ngang sử dụng kỹ thuật phân cụm dữ liệu với số cụm tự động được phát hiện trong quá trình thực hiện phân cụm 44
3.5.1 Đặt vấn đề 44
3.5.2 Khái quát về lý thuyết tập thô 44
3.5.3 Thuật toán phân đoạn ngang trên cơ sở phân cụm dựa vào lý thuyết tập thô 45 3.5.4 Kết quả thực nghiệm và đánh giá 53
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 56
Những kết quả đạt được 56
Nhược điểm và hướng phát triển 56
Tài liệu tham khảo 57
Trang 66
DANH MỤC CÁC CỤM TỪ VIẾT TẮT
STT Viết tắt Cụm từ tiếng Anh Cụm từ tiếng Việt
3 KDD Knowledge Discovery in
Database
Khám phá tri thức trong CSDL
5 DBMS Database Management System Hệ quản trị CSDL
Trang 77
DANH MỤC CÁC HÌNH
Hình 1 Một mô hình CSDL quan hệ thực thể ER 13
Hình 2 Các quan hệ tương ứng mô hình dữ liệu ở hình 1 13
Hình 3 Một ví dụ kết quả phân đoạn dọc 14
Hình 4 Một ví dụ kết quả phân đoạn ngang 14
Hình 5 Phân đoạn ngang cơ sở quan hệ PROJ 19
Hình 6 Phân đoạn ngang cho quan hệ PAY 21
Hình 7 Phân đoạn ngang quan hệ PROJ 22
Hình 8 Phân đoạn ngang dẫn xuất quan hệ EMP 23
Hình 9 Đồ thị đơn giản nối giữa các đoạn 24
Hình 10 Phân đoạn dẫn xuất của ASG ứng với PROJ 25
Hình 11 Phân đoạn dẫn xuất của ASG ứng với EMP 26
Hình 12 Các chiến lược phân cụm phân cấp 31
Trang 88
DANH MỤC CÁC BẢNG
Bảng 1 Ma trận OCM 35
Bảng 2 Sự kiện cho biến nhị phân 36
Bảng 3 Dữ liệu mẫu cho ví dụ 3.1 39
Bảng 4 Ma trận OCM của ví dụ 3.1 40
Bảng 5 Kết quả phân đoạn ví dụ 3.1 40
Bảng 6 Kết quả phân đoạn trong [6] 41
Bảng 7 Dữ liệu mẫu cho ví dụ 3.2 42
Bảng 8 Ma trận OCM của ví dụ 3.2 43
Bảng 9 Kết quả phân đoạn ví dụ 3.2 43
Trang 99
MỞ ĐẦU
Trong những năm gần đây, sự phát triển nhanh chóng của khoa học kỹ thuật nói chung và sự phát triển của công nghệ thông tin nói riêng, đặc biệt là sự ra đời của Internet đã giúp cho việc chia sẻ, khai thác thông tin trên toàn cầu dễ dàng và nhanh chóng Chính vì vậy mà kho dữ liệu, nguồn tri thức của nhân loại cũng trở nên đồ
sộ, vô tận làm cho vấn đề khai thác các nguồn tri thức đó ngày càng trở nên nóng bỏng và đặt ra thách thức lớn cho nền công nghệ thông tin thế giới
Bên cạnh đó, việc ra đời và phát triển nhanh chóng của công nghệ mạng máy tính với mục tiêu chia sẻ tài nguyên, khai thác các tài nguyên thông tin, tích hợp và trao đổi các loại dữ liệu giữa các thành phần trên mạng đã đặt ra nhiệm vụ cho các nhà tin học là phải thiết kế các hệ CSDL phân tán nhằm tích hợp CSDL ở nhiều vị trí khác nhau trên mạng hoặc phân tán CSDL từ một trạm đến các vị trí khác nhau sao cho việc khai thác thông tin đạt hiệu quả cao nhất
Bài toán thiết kế CSDL phân tán là một trong các bài toán quan trọng ảnh hưởng đến hiệu quả của hệ CSDL sau này Các giải pháp thiết kế CSDL phân tán phụ thuộc rất nhiều vào các nguồn dữ liệu đầu vào và vấn đề khai thác các nguồn dữ liệu đầu vào trong các kỹ thuật thiết kế phân tán
Bài toán này mặc dù đã được nhiều nhà tin học quan tâm nhưng vẫn chưa có được các giải pháp thiết kế tối ưu cho các CSDL phân tán
Mục tiêu của luận văn là nghiên cứu và cài đặt thử nghiệm các giải pháp thiết kế CSDL phân tán sử dụng các kỹ thuật khai phá dữ liệu
Bố cục chính của luận văn gồm các nội dung sau:
Chương 1 trình bày tổng quan về CSDL phân tán; các bài toán thiết kế phân tán; các kỹ thuật thiết kế phân đoạn ngang và những giải pháp đề xuất gần đây
Trang 10tự động sinh ra trong quá trình phân cụm
Cuối cùng là phần kết luận và hướng phát triển, tác giả tổng kết những kết quả
đã đạt được trong luận văn cũng như hướng phát triển cho các giải pháp đề xuất trong thời gian tới
Trang 11Một CSDL phân tán là một tập hợp nhiều CSDL có liên đới logic và được phân bố trên một mạng máy tính
Tính chất phân tán: Toàn bộ dữ liệu của CSDL phân tán không được đặttập trung ở
một nơi mà phân tán trên nhiều trạm trên mạng máy tính, điều này giúp chúng ta phân biệt CSDL phân tán với CSDL tập trung đơn lẻ
Tương quan logic: Toàn bộ dữ liệu của CSDL phân tán có một số các thuộc tính
ràng buộc chúng với nhau, điều này giúp chúng ta có thể phân biệt một CSDL phân tán với một tập hợp CSDL cục bộ hoặc các tệp cư trú tại các vị trí khác nhau trong một mạng máy tính
1.2 Các bài toán thiết kế phân tán
Thiết kế cơ sở dữ liệu phân tán là bài toán tối ưu hóa bao gồm các bài toán: phân đoạn và sắp chỗ Có nhiều phương pháp tiếp cận khác nhau để giải quyết các bài toán này
Đối với bài toán phân đoạn, có 2 bài toán con: phân đoạn ngang và phân đoạn dọc Phân đoạn ngang là phân chia tập các bản ghi thành các tập bản ghi nhỏ hơn Phân đoạn dọc là phân rã tập thuộc tính của lược đồ quan hệ R thành các lược đồ con R1,
R2,…, Rm sao cho các thuộc tính trong mỗi lược đồ con là thường được truy vấn cùng nhau Ngoài ra còn có phân đoạn hỗn hợp (kết hợp 2 bài toán trên)
Đối với bài toán sắp chỗ, giả sử có một tập các đoạn dữ liệu F = {F1, F2, …, Fn} và một mạng máy tính bao gồm các trạm S = {S1, S2,…, Sm} trên đó có một tập các
Trang 1212
ứng dụng Q = {q1, q2, …, qk} đang chạy Bài toán sắp chỗ là tìm một phân phối tối
ưu theo nghĩa nào đó các đoạn trong tập F đến các trạm trong S Tính tối ưu sắpchỗ
Hiệu năng: Chiến lược cấp phát phải nhằm duy trì hiệu năng Làm giảm
thời gian đáp ứng và tăng tối đa lưu lượng hệ thống tại mỗi trạm trên mạng
Cần xây dựng một lược đồ sắp chỗ sao cho trả lời các truy vấn trong thời gian ngắn nhất mà vẫn duy trì được chi phí xử lý thấp nhất, thời gian đáp ứng thấp và tăng tối
đa lưu lượng Đây là vấn đề phức tạp, không đơn giản
1.3 Các kỹ thuật thiết kế phân đoạn
Các quan hệ trong CSDL thường được biểu diễn dưới dạng bảng Việc phân đoạn một quan hệ thành nhiều quan hệ con khác nhau theo các cách khác nhau, sẽ có các cách phân đoạn tương ứng Có hai kiểu phân đoạn tương ứng với việc chia quan hệ theo chiều dọc và chia quan hệ theo chiều ngang
Sau đây là mô hình dữ liệu mẫu để minh họa các kỹ thuật thiết kế phân đoạn
Trang 1313
Hình 1 Một mô hình CSDL quan hệ thực thể ER
Hình 2 Các quan hệ tương ứng mô hình dữ liệu ở hình 1
Phân đoạn theo chiều dọc: Các quan hệ đƣợc chia theo chiều dọc Nghĩa là thiết lập một quan hệ mới chỉ có một số thuộc tính từ quan hệ gốc Thực chất đây là phép chiếu trên tập con các thuộc tính của quan hệ
Ví dụ 1.1 Tách dọc quan hệ PROJ (hình 2) thành 2 quan hệ PROJ1 và PROJ2 nhƣ sau:
πPNO, BUDGET (PROJ) và πPNO, PNAME, LOG (PROJ)
Trang 1414
Hình 3 Một ví dụ kết quả phân đoạn dọc
Phân đoạn ngang: Quan hệ được chia theo chiều ngang Thực chất đây là phép chọn trong quan hệ Chọn những bộ của quan hệ thỏa mãn một biểu thức điều kiên cho trước
Ví dụ 1.2 Tách ngang quan hệ PROJ (hình 2) thành 2 quan hệ PROJ1 và PROJ2thỏa theo điều kiện BUDGET ≤ 200000 và BUDGET > 200000 như sau:
σBUDGET ≤ 200000 (PROJ) σBUDGET > 200000 (PROJ)
Hình 4 Một ví dụ kết quả phân đoạn ngang
1.4 Kỹ thuật phân đoạn ngang
1.4.1 Giới thiệu
Phân đoạn ngang chính là việc chia một quan hệ thành nhiều nhóm Kết quả của quá trình phân đoạn ngang là các quan hệ con, số lượng quan hệ con phụ thuộc vào điều kiện ràng buộc của các thuộc tính Và các bộ trong các quan hệ con là tách biệt nhau Phân đoạn ngang thực chất là phép chọn quan hệ thỏa mãn một biểu thức điều kiện cho trước Có hai dạng phân đoạn ngang là:
Trang 151.4.2 Thông tin cần thiết của phân đoạn ngang
a Thông tin về CSDL có liên quan tới lược đồ khái niệm toàn cục
Trong mô hình quan hệ, các mối quan hệ giữa các thực thể được mô tả như là những quan hệ Trong mô hình quan hệ thực thể (ER), các mối liên hệ giữa các đối tượng CSDL được mô tả rõ ràng Nhìn chung mối quan hệ giữa các đối tượng trong CSDL thường mô tả bằng các mối quan hệ một - một, một - nhiều và mối quan hệ nhiều - nhiều Với mục đích cho thiết kế, đường nối (Link) có hướng giữa các quan
hệ được sử dụng cho việc biểu diễn bởi thao tác nối bằng (Equijoin)
Ví dụ 1.3 Trong hình 1, mỗi một chức vụ (Title) có nhiều nhiều nhân viên (Employee) giữ chức vụ đó Đây là mối quan hệ môt - nhiều được biểu diễn bằng một đường nối có hướng L1 trỏ từ quan hệ PAY đến EMP Mối quan hệ nhiều - nhiều được trỏ từ các quan hệ EMP và PROJ đến quan hệ ASG được biểu diễn bằng hai đuờng nối L2 và L3
Quan hệ tại điểm cuối của đường nối được gọi là quan hệ chủ (quan hệ đích) và các quan hệ tại điểm đầu được gọi là các quan hệ thành viên (quan hệ nguồn) Ánh xạ Owner và Member từ tập đường nối tới tập quan hệ Khi cho trước một đường nối, hàm sẽ trả về quan hệ đích hay quan hệ nguồn của đường nối Ví dụ trong hình 1: owner (L1) = PAY và member (L1) = EMP
Ký hiệu lực lượng (cardinality) của mỗi quan hệ R là Card (R)
Trang 1616
b Thông tin về ứng dụng
Để thực hiện phân đoạn, cần phải có thông tin định tính và thông tin định lượng Thông tin định tính hướng dẫn cho hoạt động phân đoạn, thông tin định lượng chủ yếu sử dụng trong các mô hình cấp phát
Thông tin định tính cơ bản gồm các vị từ dùng trong câu truy vấn Sau đây là các định nghĩa về vị từ đơn giản (Simple Predicate) và vị từ hội sơ cấp (Minterm Predicate) :
Cho quan hệ R (A1 , A 2 , , A n), trong đó Ai là thuộc tính được định nghĩa trên một miền biến thiên D i , một vị từ đơn giản p j được định nghĩa trên R có dạng: p j : A i θ Value Trong đó θ thuộc {=, <, ≠, ≤, >, ≥} và Value được chọn từ miền A i (Value thuộc Di) Chúng ta sử dụng Pri để biểu thị tập tất cả các vị từ đơn giản được định nghĩa trên quan hệ R i Các phần tử của Pr i được ký hiệu là p ij
Ví dụ 1.4 Cho quan hệ PROJ (hình 2)
PNAME = “Maintenance”, BUDGET ≤ 200000 là các vị từ đơn giản
Trong thực tế các câu truy vấn là tổ hợp của rất nhiều vị từ đơn giản Mỗi tổ hợp được gọi là một vị từ hội sơ cấp Cho tập Pri = {pi1, pi2, , pim} là các vị từ đơn giản trên quan hệ Ri, tập các vị từ hội sơ cấp Mi = {mi1, mi2, , miz} được định nghĩa như sau:
Vì thế mỗi vị từ đơn giản có thể xuất hiện trong vị từ hội sơ cấp dưới dạng tự nhiên hoặc dạng phủ định của nó Phủ định của một vị từ sẽ có thể:
Attribute = Value, phủ định là Attribute ≠ Value
Attribute ≤ Value, phủ định là Attribute > Value
Trang 1717
Cận_dưới ≤ Attribute_1, phủ định là ¬ (Cận_dưới ≤ Attribute_1)
Attribute_1 ≤ Cận_trên, phủ định là ¬ (Attribute_1 ≤ Cận_trên)
Cận_dưới ≤ Attribute_1 ≤ Cận_trên, phủ định là ¬(Cận_dưới ≤ Attribute_1 ≤ Cận_trên)
Ví dụ 1.5: Xét một số vị từ đơn giản có thể định nghĩa được trên quan hệ PAY (hình 2)
p1: TITLE = “Elect Eng”
p2: TITLE = “Syst Anal”
p3: TITLE = “Mech Eng”
p4: TITLE = “Programmer”
p5: SAL ≤ 30000
p6: SAL > 30000
Các vị từ hội sơ cấp được định nghĩa dựa trên các vị từ đơn giản:
m1: TITLE = “Elect Eng” ^ SAL ≤ 30000
m2: TITLE = “Elect Eng” ^ SAL > 30000
m3: ¬ (TITLE = “Elect Eng”) ^ SAL ≤ 30000
m4: ¬ (TITLE = “Elect Eng”) ^ SAL > 30000
m5: TITLE = “Programmer” ^ SAL ≤ 30000
m6: TITLE = “Programmer” ^ SAL > 30000
Thông tin số lượng về ứng dụng cần phải có hai tập dữ liệu:
Độ tuyển hội sơ cấp (Minterm Selectivity) : số các bộ của quan hệ sẽ được chọn theo vị từ hội sơ cấp cho trước, ký hiệu chọn của hội sơ cấp mi là sel(mi) Ví dụ, không có bộ nào được chọn trong PAY thoả mãn vị từ hội sơ cấp m1 Có 1 bộ thoả m2
Trang 1818
Tần số ứng dụng người dùng truy nhập dữ liệu Nếu Q = {q1, q2, …, qk} là tập truy vấn, ký hiệu acc(qi) là tần số truy nhập của truy vấn qi trong một khoảng thời gian đã cho
Tần số truy nhập hội sơ cấp là tần số truy nhập của hội sơ cấp mi, ký hiệu là acc(mi)
1.4.3 Phân đoạn ngang cơ sở
Phân đoạn ngang cơ sở được định nghĩa bằng phép chọn trên quan hệ đích của lược
đồ CSDL Cho quan hệ R, các đoạn ngang Ri=σFi(R), i=1 n
Trong đó Fi là biểu thức đại số quan hệ Nếu Fi có dạng chuẩn hội, thì nó là vị từ hội
Khi đó quan hệ PROJ được phân rã thành các đoạn ngang như sau:
PROJ1 = σ BUDGET≤200000 (PROJ)
PROJ2 = σ 200000 < BUDGET ≤ 400000 (PROJ)
PROJ3 = σ 400000 < BUDGET ≤ 600000 (PROJ)
PROJ4 = σ 600000 < BUDGET (PROJ)
Trang 1919
Ví dụ 1.7: Xét quan hệ PROJ (hình 2), các đoạn ngang sau đây đƣợc định nghĩa dựa vào vị trí các dự án Các đoạn nhƣ sau:
PROJ1 = σLOC=”Montreal” (PROJ)
PROJ2 = σLOC=”New York” (PROJ)
PROJ3 = σLOC=”Paris” (PROJ)
Hình 5 Phân đoạn ngang cơ sở quan hệ PROJ
Phân đoạn ngang Ri của quan hệ R gồm tất cả các bộ của R thoả một vị từ hội sơ cấp mi Vì vậy, cho một tập M các vị từ hội sơ cấp, số lƣợng phân đoạn ngang của quan hệ R bằng số lƣợng các vị từ hội sơ cấp Tập các đoạn ngang đƣợc gọi là tập các đoạn hội sơ cấp (Minterm Fragment) Định nghĩa phân đoạn ngang phụ thuộc vào vị từ hội sơ cấp, vì vậy, cần phải xác định các vị từ đơn giản tạo ra vị từ hội sơ cấp
Trang 2020
Thuật toán phân đoạn ngang cơ sở
Thuật toán 1.1 PHORIZONTAL
Input: R là quan hệ cần phân đoạn ngang cơ sở
Pr là tập các vị từ đơn giản (đầy đủ và cực tiểu)
Output: M là tập các vị từ hội sơ cấp
Trang 2121
Hình 6 Phân đoạn ngang cho quan hệ PAY
Giả sử có hai ứng dụng trên quan hệ PROJ Ứng dụng thứ nhất xác định tên các dự
án và ngân sách của chúng trên ba vị trí
SELECT PNAME, BUDGET FROM PROJ WHERE LOC = Value
Ứng dụng này, các vị từ đơn giản có thể đƣợc sử dụng là:
m3: (LOC=“New York”) ∧ (BUDGET≤20000)
m4: (LOC=“New York”) ∧ (BUDGET>20000)
Trang 22Hình 7 Phân đoạn ngang quan hệ PROJ
1.4.4 Phân đoạn ngang dẫn xuất
Phân đoạn ngang dẫn xuất dựa trên các quan hệ thành viên của một đường nối theo phép toán chọn trên quan hệ chủ Mục tiêu của phân đoạn ngang dẫn xuất là phân chia các quan hệ thành viên thành các đoạn của quan hệ chủ được định nghĩa trên các thuộc tính của quan hệ thành viên Vì vậy liên kết giữa quan hệ chủ và quan hệ thành viên được định nghĩa như là một nối bằng (Equi-join) và kết nối bằng có thể được cài đặt nối nửa (Semi-join)
Cho một đường nối L trong đó, Owner (L) = S và Member (L) = R Phân đoạn ngang dẫn xuất của R được định nghĩa như sau:
Ri = R Si 1 ≤ i ≤ k, trong đó, k là số đoạn
Si = σ Fi (S), Fi là biểu thức định nghĩa đoạn ngang nguyên thuỷ Si
Trang 2323
Ví dụ 1.11 Cho Owner (L) = PAY và Member (L) = EMP (bảng 2) Chia nhóm các kỹ sư (Engineer) thành hai nhóm theo lương SAL≤30000 và SAL>30000 PAY1 = σSAL≤30000 (PAY)
PAY2 = σSAL>30000 (PAY)
Hai đoạn EMP1 và EMP2 được định nghĩa như sau:
EMP1 = EMP PAY1
EMP2 = EMP PAY2
Hình 8 Phân đoạn ngang dẫn xuất quan hệ EMP
Trong một số trường hợp, như ví dụ 1.11 ở trên, mỗi một đoạn chỉ có một đường liên kết đến hoặc đi Đồ thị có cấu trúc như vậy, được gọi là đồ thị đơn giản Ưu điểm của thiết kế loại này là mối liên kết giữa các đoạn đơn giản Quan hệ thành viên và quan hệ chủ của đường kết nối có thể cấp phát cho một vị trí và các nối giữa các cặp đoạn khác nhau có thể tiến hành độc lập và song song với nhau Ngoài việc thực hiện được nhiều câu vấn tin tại nhiều vị trí khác nhau, còn có thể thực hiện song song một câu vấn tin với thời gian đáp ứng và lưu lượng của hệ thống tối ưu hơn Ví dụ giữa các đoạn EMP và PAY Trong những trường hợp này, thuật toán phân đoạn hoàn toàn tầm thường
Trong một số trường hợp khác, có nhiều hơn hai liên kết đến một quan hệ R Khi đó người ta thường chọn một thiết kế tạo ra một đồ thị nối phân hoạch (Partitioned Join Graph) Một đồ thị phân hoạch có thể chứa hai hoặc nhiều đồ thị con và không có đường kết nối giữa chúng Các đồ thị như vậy thường có thể cấp phát, nhưng rất khó phân tán để thực hiện song song Trong hình 1 có hai đường nối đến quan hệ
Trang 2424
ASG Nhƣ vậy sẽ có nhiều cách phân đoạn ngang dẫn xuất quan hệ R Việc quyết định chọn phân đoạn nào tối ƣu hơn cần dựa trên hai tiêu chuẩn sau:
Phân đoạn có đặc tính kết nối tốt hơn
Phân đoạn đƣợc sử dụng cho nhiều ứng dụng hơn
Hình 9 Đồ thị đơn giản nối giữa các đoạn
Ví dụ 1.12 Trong hình 1 ta có:
Owner (L1) = PROJ và Member (L1) = ASG
Owner (L2) = EMP và Member (L2) = ASG
Thực hiện phân đoạn dẫn xuất của ASG ứng PROJ và EMP nhƣ sau: Xét quan
hệ ASG có hai ứng dụng trên nó:
Trang 2525
Hình 10 Phân đoạn dẫn xuất của ASG ứng với PROJ
Ứng dụng 1: Danh sách các kỹ sƣ làm việc tại một vị trí nào đó Ứng dụng này thực hiện trên ba trạm và truy xuất thông tin về các kỹ sƣ làm việc trong các dự án tại chỗ với xác suất cao hơn các kỹ sƣ làm việc trong các dự án trên các vị trí khác Phân đoạn ASG theo các đoạn PROJ1, PROJ3, PROJ4 và PROJ6 nhƣ sau:
PROJ1 = σLOC=“Montreal” ∧ BUDGET≤20000 (PROJ)
PROJ3 = σLOC=“New York” ∧ BUDGET≤20000 (PROJ)
PROJ4 = σLOC=“New York” ∧ BUDGET>20000 (PROJ)
PROJ6 = σLOC=“Paris” ∧ BUDGET>20000 (PROJ)
Phân đoạn dẫn xuất của ASG theo {PROJ1, PROJ3, PROJ4, PROJ6} có thể đƣợc định nghĩa nhƣ sau:
ASG1 = ASG PROJ1
ASG2 = ASG PROJ3
ASG3 = ASG PROJ4
ASG4 = ASG PROJ6
Trang 26ASG1 = ASG EMP1
ASG2 = ASG EMP2
Hình 11 Phân đoạn dẫn xuất của ASG ứng với EMP
Nhận xét
Phân đoạn dẫn xuất có thể xảy ra dây chuyền, trong đó một quan hệ được phân đoạn như là hệ quả của một phân đoạn cho một quan hệ khác, và đến lượt nó lại làm cho các quan hệ khác phải phân đoạn (như dây chuyền PAY - EMP - ASG)
Một quan hệ có thể có nhiều cách phân đoạn Chọn lựa một lược đồ phân đoạn nào cho tối ưu phụ thuộc vào quyết định trong quá trình cấp phát
Kết chương
Như đã đề cập ở đầu luận văn, bài toán thiết kế CSDL phân tán là một trong các bài toán quan trọng ảnh hưởng đến hiệu quả của hệ CSDL sau này Các giải pháp thiết
Trang 27cơ bản để thiết kế phân đoạn Trên cơ sở đó, tác giả sẽ đề xuất một số giải pháp thiết
kế CSDL phân tán (chương 3) sử dụng các kỹ thuật khai phá dữ liệu (chương 2)
Trang 2828
CHƯƠNG 2 KHAI PHÁ DỮ LIỆU VÀ CÁC KỸ THUẬT PHÂN CỤM
2.1 Tổng quan về khai phá dữ liệu
Cuối thập kỷ 80 của thế kỷ 20, sự phát triển rộng khắp của các CSDL đã tạo ra sự bùng nổ thông tin trên toàn cầu, vào thời gian này người ta bắt đầu đề cập đến khái niệm khủng hoảng trong việc phân tích dữ liệu tác nghiệp để cung cấp thông tin với yêu cầu chất lượng ngày càng cao cho người làm quyết định trong các tổ chức chính phủ, tài chính, thương mại, khoa học, …
KPDL là một lĩnh vực mới được nghiên cứu, nhằm tự động khai thác thông tin, tri thức mới hữu ích, tiềm ẩn từ những CSDL lớn cho các đơn vị, tổ chức, doanh nghiệp…Từ đó thúc đẩy khả năng sản xuất, kinh doanh, cạnh tranh cho các đơn vị, tổ chức này Các kết quả nghiên cứu khoa học cùng những ứng dụng thành công trong KDD cho thấy KPDL là một lĩnh vực phát triển bền vững, mang lại nhiều lợi ích và
có nhiều triển vọng, đồng thời có ưu thế hơn hẳn so với các công cụ tìm kiếm phân tích dữ liệu truyền thống Hiện nay, KPDL đã ứng dụng ngày càng rộng rãi trong các lĩnh vực như thương mại, tài chính, y học, viễn thông…
Các kỹ thuật chính được áp dụng trong lĩnh vực KPDL phần lớn được thừa kế từ lĩnh vực CSDL, học máy, trí tuệ nhân tạo, lý thuyết thông tin, xác suất thống kê và tính toán hiệu năng cao…
2.2 Các mô hình khai phá dữ liệu
Nói chung, có hai mô hình khai phá dữ liệu: Mô tả và suy diễn Mô tả dữ liệu là tổng kết hoặc diễn tả những đặc điểm chung của những thuộc tính dữ liệu trong kho
dữ liệu Suy diễn là quá trình dựa trên dữ liệu hiện thời để dự đoán những quy luật được phát hiện từ các mối liên hệ giữa các thuộc tính của dữ liệu Có nhiều cách khai phá dữ liệu được nghiên cứu, trong đó có ba cách được các nhà nghiên cứu sử dụng nhiều nhất là: Luật kết hợp, phân lớp dữ liệu và phân cụm dữ liệu
Trang 2929
2.3 Bài toán phân cụm dữ liệu
2.3.1 Tổng quan về kỹ thuật phân cụm
Ta có thể khái quát hóa khái niệm PCDL[9]: PCDL là một kỹ thuật trong KPDL, nhằm tìm kiếm, phát hiện các cụm, các mẫu dữ liệu tự nhiên, tiềm ẩn, quan trọng trong tập dữ liệu lớntừ đó cung cấp thông tin, tri thức hữu ích cho việc ra quyết định
Như vậy, PCDL là quá trình phân chia một tập dữ liệu ban đầu thành các cụm dữ liệu sao cho các phần tử trong một cụm "tương tự" với nhau và các phần tử trong các cụm khác nhau sẽ "phi tương tự" với nhau Số các cụm dữ liệu được phân ở đây
có thể được xác định trước theo kinh nghiệm hoặc có thể được tự động xác định của phương pháp phân cụm
2.3.2 Các kỹ thuật phân cụm dữ liệu
Các kỹ thuật áp dụng để giải quyết vấn đề PCDL đều hướng tới hai mục tiêu chung: Chất lượng của các cụm khám phá được và tốc độ thực hiện của thuật toán Tuy nhiên, các kỹ thuật PCDL có thể được phân loạithành một số loại cơ bản dưa trên các phương pháp tiếp cậnkhác nhau[12]: phân cụm phân hoạch, phân cụm phân cấp (đây là 2 kỹ thuật phân cụm phổ biến), ngoài racòn có các kỹ thuật phân cụm dựa trên mật độ, phân cụm dựa trên lưới, phân cụm dựa trên mô hình, phân cụm dữ liệu
mờ Gần đây còn xuất hiện một kỹ thuật mới đó là phân cụm dựa trên lý thuyết tập thô[3] Dưới đây xin trình bày khái quát ba kỹ thuật phân cụm:
a.Phân cụm phân hoạch
Ý tưởng chính của kỹ thuật này là phân một tập dữ liệu có n phần tử cho trước thành k nhóm dữ liệu sao cho mỗi phần tử dữ liệu chỉ thuộc về một nhóm dữ liệu và mỗi nhóm dữ liệu có tối thiểu ít nhất một phầntử dữ liệu Các thuật toán phân hoạch
có độ phức tạp rất lớn khi xác định nghiệm tối ưu toàn cục cho vấn đề PCDL, vì nó phải tìm kiếm tất cả các cách phân hoạch có thể được Chính vì vậy, trên thực tế người ta thường đi tìm giải pháp tối ưu cục bộ cho vấn đề này bằng cách sử dụng