TÍNH CẤP THIẾT CỦA VIỆC NGHIÊN CỨU Ngày nay, với việc dữ liệu đa dạng, được phân tán ở nhiều nơi trên toàn cầu làm cho các ứng dụng cơ sở dữ liệu CSDL, các phương pháp quản trị và khai
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG
- -
LƯƠNG VĂN NGHĨA
THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN THEO TIẾP CẬN KHAI PHÁ DỮ LIỆU
LUẬN ÁN TIẾN SĨ KỸ THUẬT
ĐÀ NẴNG – 2019
Luận án tiến sĩ Kĩ thuật
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG
- -
LƯƠNG VĂN NGHĨA
THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN THEO TIẾP CẬN KHAI PHÁ DỮ LIỆU
Chuyên ngành: KHOA HỌC MÁY TÍNH
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan Luận án "Thiết kế cơ sở dữ liệu phân tán theo tiếp cận khai phá dữ liệu” là công trình nghiên cứu do tôi thực hiện, dưới sự hướng dẫn của PGS.TS Lê Văn Sơn và PGS.TS Đoàn Văn Ban
Tôi cam đoan các kết quả nghiên cứu được trình bày trong luận án là trung thực và không sao chép từ bất kỳ luận án nào khác Một số kết quả nghiên cứu là thành quả tập thể và đã được các đồng tác giả đồng ý cho sử dụng Mọi trích dẫn đều có ghi nguồn gốc xuất xứ rõ ràng và đầy đủ
Trang 4MỤC LỤC
LỜI CAM ĐOAN i
MỤC LỤC ii
DANH MỤC CÁC CỤM TỪ VIẾT TẮT v
DANH MỤC THUẬT NGỮ ANH - VIỆT vi
DANH MỤC CÁC BẢNG viii
DANH MỤC CÁC HÌNH ix
MỞ ĐẦU 1
Chương 1 THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN 6
1.1 TỔNG QUAN VỀ HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN 6
1.1.1 Các đặc điểm cơ bản của hệ cơ sở dữ liệu phân tán 7
1.1.2 Các mục tiêu của hệ cơ sở dữ liệu phân tán 8
1.1.3 Kiến trúc của hệ cơ sở dữ liệu phân tán 10
1.1.4 Các mô hình hệ cơ sở dữ liệu phân tán 11
1.2 THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN 12
1.2.1 Các chiến lược thiết kế 12
1.2.2 Các vấn đề thiết kế cơ sở dữ liệu phân tán 14
1.2.3 Kỹ thuật thiết kế cơ sở dữ liệu phân tán 16
1.2.4 Các quy tắc phân mảnh đúng đắn 18
1.2.5 Thảo luận về thiết kế cơ sở dữ liệu phân tán 18
1.3 THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN BẰNG CÁC KỸ THUẬT PHÂN MẢNH 19
1.3.1 Kỹ thuật phân mảnh ngang 20
1.3.2 Kỹ thuật phân mảnh dọc 25
1.3.3 Thuật toán phân mảnh FC 29
1.3.4 Kỹ thuật phân mảnh hỗn hợp 33
1.3.5 Thảo luận các kỹ thuật phân mảnh 34
1.4 KẾT CHƯƠNG 36
Chương 2 PHÂN CỤM DỮ LIỆU TRONG THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN 38
Luận án tiến sĩ Kĩ thuật
Trang 52.1 TIẾP CẬN KHAI PHÁ DỮ LIỆU 38
2.1.1 Khai phá tri thức và khai phá dữ liệu 38
2.1.2 Những thách thức trong khai phá dữ liệu 40
2.1.3 Các bài toán khai phá dữ liệu 41
2.2 KỸ THUẬT PHÂN CỤM TRONG KHAI PHÁ DỮ LIỆU 42
2.2.1 Kỹ thuật phân cụm 42
2.2.2 Các kiểu dữ liệu và độ đo trong phân cụm 44
2.2.3 Một số phương pháp phân cụm dữ liệu 48
2.2.4 Thảo luận về các kỹ thuật phân cụm 58
2.3 PHÂN MẢNH DỮ LIỆU DỰA VÀO KỸ THUẬT PHÂN CỤM 59
2.3.1 Đề xuất cải tiến thuật toán phân mảnh dọc VFC 60
2.3.2 Đề xuất cải tiến thuật toán phân mảnh ngang HFC 61
2.3.3 Đánh giá kết quả thực nghiệm 64
2.4 KẾT CHƯƠNG 70
Chương 3 THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN THEO PHÂN CỤM THÔ VÀ TỐI ƯU ĐÀN KIẾN 72
3.1 THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN THEO TIẾP CẬN TẬP THÔ 72
3.1.1 Rời rạc hoá dữ liệu và trích chọn thuộc tính theo tiếp cận tập thô 73
3.1.2 Hệ thông tin 74
3.1.3 Quan hệ không phân biệt, bất khả phân biệt trong hệ thông tin 74
3.1.4 Thuộc tính và vector đặc trưng tham chiếu 75
3.2 PHÂN CỤM DỮ LIỆU PHÂN TÁN THEO TIẾP CẬN TẬP THÔ 76
3.2.1 Thuật toán phân cụm thô KR (K-Means Rough) 76
3.2.2 Kết quả thực nghiệm thuật toán phân cụm thô KR 80
3.3 THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN THEO PHƯƠNG PHÁP TỐI ƯU ĐÀN KIẾN 83
3.3.1 Phương pháp tối ưu hóa đàn kiến 83
3.3.2 Từ đàn kiến tự nhiên đến đàn kiến nhân tạo 83
3.3.3 Thuật toán ACO tổng quát 84
3.3.4 Thuật toán hệ kiến AS 85
Luận án tiến sĩ Kĩ thuật
Trang 63.3.5 Tổ chức dữ liệu và các khái niệm độ đo 87
3.4 PHÂN CỤM DỮ LIỆU PHÂN TÁN THEO TIẾP CẬN TỐI ƯU ĐÀN KIẾN 89
3.4.1 Phân cụm dữ liệu phân tán theo tiếp cận ACO 89
3.4.2 Đề xuất các thuật toán phân mảnh dọc theo phân cụm đàn kiến 90
3.4.3 Kết quả thực nghiệm thuật toán đề xuất VFAC 95
3.5 KẾT CHƯƠNG 99
KẾT LUẬN 101 DANH MỤC CÔNG TRÌNH CỦA TÁC GIẢ
TÀI LIỆU THAM KHẢO Luận án tiến sĩ Kĩ thuật
Trang 7DANH MỤC CÁC CỤM TỪ VIẾT TẮT
TT Từ viết tắt Tiếng Anh Tiếng Việt
1 ACO Ant Colony Optimization Tối ưu hóa đàn kiến
4 BEA Bond energy algorithm Thuật toán năng lượng nối
5 CA Clustered Affintity Ái lực tụ thuộc tính
11 KO Knowledge-Oriented Hướng tri thức
13 OCM Object-Condition Matrix Ma trận đối tượng-điều kiện
14 OFN Optimization Fragmentation
Number
Số mảnh tối ưu
15 RST Rough Set Theory Lý thuyết tập thô
17 TSP Travelling Salesman
Problem
Bài toán người chào hàng
18 VFAC Vertical Fragmentation Ants
Trang 8DANH MỤC THUẬT NGỮ ANH - VIỆT
TT Thuật ngữ tiếng Anh Thuật ngữ tiếng Việt
1 Access frequency Tần số truy xuất
4 Analysis & decision support Phân tích và hỗ trợ ra quyết định
5 Association rules Luật kết hợp
6 Attribute affinity Ái lực thuộc tính
7 Attribute affinity matrix Ma trận ái lực thuộc tính
10 Bottom-up approach Tiếp cận từ dưới lên
12 Classification & prediction Phân lớp và dự đoán
13 Cluster Affintity Matrix Ma trận ái lực cụm thuộc tính (CA)
15 Concept description Mô tả khái niệm
16 Conceptual design Thiết kế khái niệm
21 Density based cluster Cụm dựa trên mật độ
22 Distributed processing Xử lý phân tán
23 Distribution transparency Trong suốt phân tán
26 Fragmentation Transparency Trong suốt phân mảnh
Luận án tiến sĩ Kĩ thuật
Trang 927 Global affinity measure Số đo ái lực chung AM
28 Hetorogeneous DDBS Hệ CSDL phân tán không thuần nhất
29 Homogeneous DDBS Hệ CSDL phân tán thuần nhất
30 Horizontal Fragmentation Phân mảnh ngang
31 Hybrid Fragmentation Phân mảnh hỗn hợp
32 Minterm fragment Mảnh hội sơ cấp
33 Minterm predicate Vị từ hội sơ cấp
34 Minterm selectivity Độ tuyển hội sơ cấp
35 Net contribution Đóng góp thực
39 Replication transparency Trong suốt nhân bản
41 Simple predicate Vị từ đơn
42 Top-down approach Tiếp cận từ trên xuống
43 Vertical fragmentation Phân mảnh dọc
Luận án tiến sĩ Kĩ thuật
Trang 10DANH MỤC CÁC BẢNG
Bảng 1.1 Ma trận giá trị sử dụng thuộc tính 27
Bảng 1.2 Ma trận ái lực thuộc tính AA 27
Bảng 2.1 Bảng sự kiện cho biến nhị phân [I] 46
Bảng 2.2 Ma trận khoảng cách đối tượng 50
Bảng 2.3 Ma trận khoảng cách các cụm sau gom cụm bước 3 51
Bảng 2.4 Khoảng cách giữa các cụm sau khi gom cụm bước 3 51
Bảng 2.5 Khoảng cách giữa các cụm sau 4 lần gom cụm 51
Bảng 2.6 Vector hóa các bản ghi 62
Bảng 2.7 Ma trận OCM 62
Bảng 2.8 Bảng biểu diễn 6 đối tượng (p 1 , p 2 , p 6 ) 64
Bảng 2.9 Khoảng cách Euclide giữa 6 đối tượng 65
Bảng 2.10 Tập D gồm 20 đối tượng cần phân cụm 67
Bảng 2.11 So sánh kết quả với phân cụm k-Means và VFC 68
Bảng 2.12 Kết quả phân mảnh ngang cải tiến HFC 69
Bảng 2.13 Kết quả phân mảnh ngang theo k-Medoids 70
Bảng 3.1 Tập D gồm 20 đối tượng cần phân cụm 81
Bảng 3.2 So sánh kết quả phân cụm thô KR và k-Means 82
Bảng 3.3 Bảng tham số 87
Bảng 3.4 Tập dữ liệu D gồm 20 giao tác 96
Bảng 3.5 So sánh kết quả với phân cụm k-Means với VFAC 98
Luận án tiến sĩ Kĩ thuật
Trang 11DANH MỤC CÁC HÌNH
Hình 1.1 Minh họa mô hình hệ CSDL phân tán 7
Hình 1.2 Mô hình kiến trúc hệ cơ sở dữ liệu phân tán 11
Hình 1.3 Ma trận định vị điểm tách Top_A và Bot_A 30
Hình 1.4 Sơ đồ cây phân mảnh hỗn hợp 34
Hình 2.1 Quá trình khám phá tri thức 39
Hình 2.2 Khoảng cách ngắn nhất giữa hai cụm 48
Hình 2.3 Khoảng cách lớn nhất giữa hai cụm 48
Hình 2.4 Khoảng cách trung bình giữa hai cụm 48
Hình 2.5 Kết quả cây phân cụm phân cấp tích tụ 52
Hình 2.6 Tập các đối tượng p cần phân cụm 64
Hình 2.7 Kết quả phân cụm theo khoảng cách ngắn nhất 65
Hình 2.8 Kết quả phân cụm theo khoảng cách lớn nhất 66
Hình 2.9 Kết quả phân cụm theo thuật toán k-Means (k = 3) 67
Hình 2.10 Kết quả phân cụm theo thuật toán k-Means (k = 15) 68
Hình 2.11 Kết quả phân cụm theo thuật toán VFC (số cụm k = 3) 68
Hình 3.1 Minh họa gom cụm vào bộ các xấp xỉ dưới và xấp xỉ trên 77
Hình 3.2 Kết quả phân cụm theo thuật toán k-Means (k = 6) 80
Hình 3.3 Kết quả phân cụm theo thuật toán k-Means (k = 15) 81
Hình 3.4 Kết quả phân cụm thô KR (k = 6) 81
Hình 3.5 Kết quả phân cụm theo thuật toán k-Means (k = 10) 96
Hình 3.6 Kết quả phân cụm thuật toán VFAC (k = 10) 97
Luận án tiến sĩ Kĩ thuật
Trang 12Hình 3.7 Kết quả phân cụm với thuật toán VFAC (k = 3) 97 Hình 3.8 So sánh chi phí trung bình lỗi trên k-Means và VFAC 98 Hình 3.9 Đánh giá độ ổn định theo số cụm trên k-Means và VFAC 99
Luận án tiến sĩ Kĩ thuật
Trang 13MỞ ĐẦU
1 TÍNH CẤP THIẾT CỦA VIỆC NGHIÊN CỨU
Ngày nay, với việc dữ liệu đa dạng, được phân tán ở nhiều nơi trên toàn cầu làm cho các ứng dụng cơ sở dữ liệu (CSDL), các phương pháp quản trị và khai thác CSDL phân tán truyền thống tỏ ra ít hiệu quả, không đáp ứng được nhiều mục tiêu chia sẻ và còn khó khăn trong việc tích hợp và trao đổi thông tin
Để khắc phục được những hạn chế trên, các CSDL phân tán phải được thiết kế sao cho phù hợp hơn với yêu cầu sử dụng, truy xuất và xử lý dữ liệu phân tán Điều này có thể thực hiện được nhờ vào các kỹ thuật khai phá dữ liệu (KPDL),
cụ thể là dựa vào các kỹ thuật phân cụm phục vụ cho việc phân mảnh và phân tán, định vị dữ liệu khi thiết kế một CSDL phân tán [80]
Hiện có nhiều nghiên cứu liên quan đến bài toán thiết kế CSDL phân tán dựa vào các kỹ thuật phân cụm trong lĩnh vực khai phá dữ liệu, cụ thể như:
- Bài toán phân mảnh dữ liệu dựa vào phân cụm được quan tâm trong [18], sau đó được phát triển tiếp theo bởi Özsu M Tamer, Patrick Valduriez [58] Tuy nhiên, các kỹ thuật phân mảnh các đối tượng được phân cụm dựa vào
độ tương đồng nhóm thuộc tính chỉ dừng lại cho bài toán phân mảnh dọc trên các lược đồ quan hệ
- Hui Ma và các cộng sự đề xuất thuật toán phân cụm CA (Clustered
Affinity) dựa trên sự liên kết giữa các thuộc tính [48], sau đó Navathe và các
cộng sự phát triển thành thuật toán BEA (Bond Enegy Algorithm) phục vụ cho
bài toán phân mảnh dọc dữ liệu phân tán [58] Các thuật toán trên dựa theo ý tưởng các thuộc tính có tần suất xuất hiện đồng thời càng lớn thì thường thuộc về
một cụm (phân mảnh) Phương án giải quyết bài toán này đưa về tối ưu hóa một
biểu thức bậc 2 có độ phức tạp khá lớn Navathe và các cộng sự đề xuất tìm điểm
phân tách t sao cho biểu thức q = CTQ * CBQ - COQ2 [58] là cực đại Tuy nhiên, với các quan hệ có số thuộc tính hay số đối tượng lớn, bài toán không thể
Luận án tiến sĩ Kĩ thuật
Trang 14giải quyết bằng phân hoạch thành hai mảnh, cần phải thực hiện theo một phân mảnh hỗn hợp, gổm ít nhất một phân mảnh ngang và một phân mảnh dọc
- Các nghiên cứu gần đây, một số tác giả kết hợp giải bài toán phân mảnh và bài toán định vị bằng các kỹ thuật tối ưu, kết hợp với các kỹ thuật heuristic [41] Thời gian thực hiện các thuật toán này giảm đáng kể so với các thuật toán ban đầu Tuy nhiên, các độ đo sự liên kết các thuộc tính là chưa được
sự nhất trí chung của các nhà khoa học [47]
- Thuật toán tối ưu đàn kiến heuristic - ACO (Ant Colony Optimazation)
lần đầu tiên Dorigo và các cộng sự đề xuất năm 2011 [23] được ứng dụng nhiều
trong tìm kiếm và khai phá dữ liệu Hầu hết các nghiên cứu gần đây về ACO chỉ
tập trung vào việc phát triển các biến thể của thuật toán để làm tăng hiệu năng
tính toán của thuật toán hệ kiến AS (Ant System) ban đầu
- Các nghiên cứu trong nước về ACO tập trung giải quyết các bài toán
tối ưu rời rạc như bài toán người bán hàng, bài toán lập lịch, bài toán an ninh mạng [1] Một số hướng tiếp cận khác theo kỹ thuật phân cụm mờ [7, 13] cũng đang tập trung giải quyết cho một số bài toán thuộc lĩnh vực kỹ thuật, công nghệ cao [25] Tuy nhiên, các cách tiếp cận và thử nghiệm cho loại bài toán phân cụm
này thường hay sử dụng các kỹ thuật tìm kiếm heuristic để tìm lời giải tối ưu cục
bộ cho các bài toán phân mảnh dữ liệu phân tán, tuy cho các kết quả tương đối nhanh nhưng không thể cải thiện thêm lời giải tìm được [37, 51]
- Về kỹ thuật phân cụm tích hợp, các nghiên cứu trong nước gần đây
được nhiều nhóm tác giả quan tâm và đã đề xuất các thuật toán hiệu năng cao Trong luận án này, tác giả đã vận dụng tích hợp giữa thuật toán tối ưu hóa đàn
kiến ACO và phân cụm thô với các kỹ thuật phân cụm nguyên thủy để đề xuất
các thuật toán phân cụm dọc dữ liệu phân tán nhằm tối ưu các chi phí tính toán
và chất lượng sau phân cụm cho các bộ dữ liệu lớn
Để giải quyết những vấn đề nêu trên, luận án "Thiết kế cơ sở dữ liệu
phân tán theo tiếp cận khai phá dữ liệu" được thực hiện theo định hướng:
Luận án tiến sĩ Kĩ thuật
Trang 15- Kết hợp kỹ thuật phân cụm phân cấp tích tụ với phân cụm phân hoạch, cải tiến các thuật toán phân mảnh ngang, phân mảnh dọc dữ liệu trên
cơ sở phát triển các độ đo tương đồng và phương thức xử lý các cụm sau phân mảnh
- Vận dụng lý thuyết tập thô và lý thuyết tối ưu hóa đàn kiến ACO đề
xuất thuật toán phân cụm dọc dữ liệu phân tán bằng kỹ thuật phân cụm
thô KR và phân cụm đàn kiến VFAC
- Tiến hành so sánh, đánh giá và thử nghiệm các thuật toán cải tiến và thuật toán đề xuất mới với các thuật toán nguyên thủy trên các bộ dữ liệu lớn để làm rõ tính hiệu quả về chi phí, cũng như những ưu điểm nổi trội qua thực nghiệm về chất lượng phân cụm sau phân mảnh
2 MỤC TIÊU, ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU
2.1 Mục tiêu nghiên cứu
Mục tiêu chính của luận án nhằm giải quyết bài toán phân mảnh dữ liệu phân tán bằng cách kết hợp một số kỹ thuật phân cụm trong KPDL, lý thuyết tập
thô và phương pháp tối ưu hóa ACO, cụ thể là:
- Nghiên cứu cải tiến thuật toán phân mảnh dọc và phân mảnh ngang dựa vào các kỹ thuật phân cụm tích hợp trong khai phá dữ liệu
- Nghiên cứu đề xuất mới thuật toán phân mảnh dọc dữ liệu phân tán
dựa trên kỹ thuật phân cụm thô KR và phân cụm đàn kiến VFAC
2.2 Đối tượng và phạm vi nghiên cứu
Các đối tượng và phạm vi nghiên cứu luận án:
Các độ đo tương đồng, việc xử lý khoảng cách cụm trong các thuật toán phân mảnh ngang, phân mảnh dọc dựa trên kỹ thuật phân cụm phân hoạch và phân cụm phân cấp tích tụ
Kỹ thuật phân mảnh dọc dữ liệu phân tán dựa trên kỹ thuật phân cụm
thô KR và phân cụm đàn kiến VFAC
Vận dụng lý thuyết tập thô, các tiếp cận Meta-heuristic trong phương
Luận án tiến sĩ Kĩ thuật
Trang 16pháp tối ưu hóa đàn kiến ACO để giải quyết bài toán phân cụm dữ liệu
phục vụ cho các kỹ thuật phân mảnh trong thiết kế CSDL phân tán
3 PHƯƠNG PHÁP NGHIÊN CỨU
Các phương pháp nghiên cứu của luận án:
Phương pháp nghiên cứu lý thuyết: Nghiên cứu tổng quan tài liệu liên
quan đến lý thuyết thiết kế CSDL phân tán và các kỹ thuật phân cụm trong khai phá dữ liệu để cải tiến, đề xuất các thuật toán phân mảnh dữ liệu phân tán theo
kỹ thuật phân cụm thô và kỹ thuật phân cụm kiến FAC
Phương pháp thực nghiệm: Trên cơ sở các thuật toán phân mảnh đã cải
tiến, đề xuất (VFC, HFC, KR và VAFC), luận án tiến hành cài đặt thử nghiệm với bộ công cụ mô phỏng SPMS, ngôn ngữ lập trình Java để phân tích, so sánh
kết quả phân cụm các thuật toán đề xuất với những kỹ thuật phân mảnh nguyên
thủy tiêu biểu như k-Means, k-Medoids, HAC
4 ĐÓNG GÓP CỦA LUẬN ÁN
4.1 Về mặt khoa học
Vận dụng thành công cách tiếp cận tập thô và tối ưu hóa đàn kiến
ACO cho bài toán phân mảnh dọc trong thiết kế CSDL phân tán theo
tiếp cận KPDL
Nghiên cứu cải tiến thuật toán phân mảnh ngang HFC và phân mảnh dọc VFC bằng việc phát triển các độ đo tương đồng và các kỹ thuật xử
lý cụm trong phân cụm
Nghiên cứu đề xuất thuật toán phân mảnh dọc theo kỹ thuật phân cụm
thô KR và kỹ thuật phân cụm đàn kiến VFAC
4.2 Về mặt thực tiễn
Kết quả cài đặt thử nghiệm trong luận án cho thấy kết quả phân cụm
bằng các thuật toán cải tiến HFC, VFC và các thuật toán đề xuất mới KR, VFAC
tốt hơn về thời gian tính toán, chi phí bộ nhớ, số cụm sau phân mảnh và đặc biệt khi thực hiện trên các bộ dữ liệu với số đối tượng cần phân cụm lớn [30, 62]
Luận án tiến sĩ Kĩ thuật
Trang 175 BỐ CỤC CỦA LUẬN ÁN
Ngoài phần mở đầu và kết luận, luận án được bố cục trong ba chương: Chương 1 trình bày các nghiên cứu về thiết kế cơ sở dữ liệu phân tán bao gồm các kỹ thuật phân mảnh dọc, phân mảnh ngang và thuật toán phân mảnh
theo phân cụm FC (Fragmentation Cluster)
Chương 2 trình bày các nghiên cứu liên quan đến các kỹ thuật phân cụm trong khai phá dữ liệu được áp dụng cho các bài toán phân mảnh ngang, phân
mảnh dọc dữ liệu phân tán và đề xuất cải tiến hai thuật toán VFC và HFC
Chương 3 trình bày kỹ thuật phân mảnh dọc dữ liệu phân tán theo tiếp cận
khai phá dữ liệu bằng các kỹ thuật phân cụm thô KR (k-Means Rough), phân cụm đàn kiến FAC (Fragmentation Ants Cluster) Cài đặt thực nghiệm và so
sánh đối chiếu kết quả các thuật toán cải tiến, đề xuất mới so với thuật toán
nguyên thủy k-Means, HAC
Luận án tiến sĩ Kĩ thuật
Trang 18Chương THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN
Nội dung Chương 1 gồm hai phần chính: phần đầu giới thiệu tổng quan
về hệ cơ sở dữ liệu phân tán, phần thứ hai giới thiệu về bài toán phân mảnh trong thiết kế cơ sở dữ liệu phân tán với các yêu cầu, mục tiêu, chiến lược thỏa mãn tính đúng, tính đầy đủ và tính tái thiết được
Các thuật toán cơ bản được xem xét trong chương là bài toán phân mảnh dọc và phân mảnh ngang dữ liệu phân tán từ các thuật toán nguyên thủy như
thuật toán BEA, thuật toán PHORIZONTAL hay thuật toán phân mảnh FC dùng
kỹ thuật phân cụm CA
1.1 TỔNG QUAN VỀ HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN
Cơ sở dữ liệu phân tán (Distributed DataBase - DDB) [2] là một tập hợp
nhiều CSDL có liên quan với nhau về mặt logic, nhưng phân tán ở nhiều vị trí khác nhau Các hệ thống CSDL kết nối, trao đổi với nhau bằng cách gửi, nhận các thông điệp thông qua mạng các máy tính CSDL phân tán thỏa hai tính chất
cơ bản sau:
Tính liên quan logic: Toàn bộ dữ liệu của CSDL phân tán thõa mản
một số ràng buộc gắn kết chúng với nhau Điều này cho phép có thể phân biệt CSDL phân tán với các CSDL cục bộ hoặc các tập tin lưu trữ tại các vị trí khác nhau trong một mạng truyền thông
lưu trữ tại một trạm duy nhất mà được lưu trữ trên nhiều trạm Điều này cho phép phân biệt CSDL phân tán với CSDL tập trung truyền thống
Hệ CSDL phân tán (Distributed DataBase System - DDBS) là sự hợp nhất
của hai hướng tiếp cận đối với một quá trình xử lý dữ liệu: công nghệ CSDL và
công nghệ mạng máy tính Để tạo ra một hệ CSDL phân tán, các tập tin không
chỉ có liên quan logic, chúng còn phải có cấu trúc và được truy xuất qua một
Luận án tiến sĩ Kĩ thuật
Trang 19giao diện chung Minh họa mô hình hệ CSDL phân tán, gồm nhiều trạm liên lạc
với nhau qua mạng truyền thông (Hình 1.1) :
Mạng truyền thông
Hình 1.1 Minh họa mô hình hệ CSDL phân tán
Hệ quản trị CSDL phân tán (Distributed Database Management System
-D-DBMS) là một hệ thống phần mềm cho phép quản lý các hệ CSDL phân tán
và làm cho sự phân tán về dữ liệu hay việc xử lý phân tán trở nên “trong suốt”
đối với người sử dụng (NSD) [58]
1.1.1 Các đặc điểm cơ bản của hệ cơ sở dữ liệu phân tán
Hệ CSDL phân tán thường có các đặc tính quan trọng sau [36, 47]:
Chia sẻ tài nguyên: Mỗi tài nguyên được quản lý bởi một chương trình
có giao diện truyền thông Các tài nguyên được truy cập, cập nhật đảm bảo sự tin cậy và nhất quán Tài nguyên phân tán được quản lý: lập kế hoạch dự phòng, thiết lập quyền giữa các trạm và ánh xạ tài nguyên vào địa chỉ truyền thông
nhiều bộ phần mềm khác nhau, đảm bảo các thành phần này phải tuân theo tiêu chuẩn chung Tính mở hệ thống được hoàn thiện bằng cách phân định rõ các giao diện chính của hệ thống, làm cho nó tương thích với nhiều nhà phát triển phần mềm Ngoài ra, tính mở của hệ CSDL phân tán còn gắn với việc cung cấp
cơ chế truyền thông giữa các tiến trình, công khai các giao diện trong truy cập và các tài nguyên dùng chung [41]
Luận án tiến sĩ Kĩ thuật
Trang 20 Khả năng mở rộng: Hệ CSDL phân tán có khả năng hoạt động và khai
thác hiệu quả ở nhiều mức khác nhau Khả năng mở rộng gắn với đặc tính không phải thay đổi phần mềm hệ thống và phần mềm ứng dụng Yêu cầu mở rộng có thể về phần cứng, các hệ thống mạng và hệ phân tán trong thiết kế hệ CSDL phân tán [3]
Khả năng song song: Khả năng song song trong hệ CSDL phân tán
được thực hiện dưới hai tình huống: nhiều người sử dụng đồng thời ra các lệnh, tương tác với nhiều chương trình ứng dụng hoặc nhiều tiến trình server chạy
đồng thời
Khả năng thứ lỗi: Khả năng thứ lỗi của hệ CSDL phân tán dựa trên hai
nguyên lý cơ bản, đó là khả năng thay thế để đảm bảo sự hoạt động liên tục, hiệu quả và khả năng hồi phục khi có xảy ra sự cố [71]
Tính trong suốt: Tính trong suốt của hệ CSDL phân tán chứa đựng một
số đặc tính cơ bản: Tính trong suốt về vị trí, trong suốt trong việc sử dụng, trong suốt của việc phân chia và trong suốt của sự trùng lặp [3]
Tin cậy và nhất quán: Hệ CSDL phân tán yêu cầu độ tin cậy cao, đảm bảo sự bí mật dữ liệu và các chức năng khôi phục dữ liệu sau sự cố Yêu cầu về
tính nhất quán là rất quan trọng, thể hiện dưới dạng các yêu cầu có mâu thuẫn trong nội dung dữ liệu, khi các thuộc tính dữ liệu khác nhau, các thao tác vẫn phải nhất quán [40]
1.1.2 Các mục tiêu của hệ cơ sở dữ liệu phân tán
Mục tiêu chính của các hệ CSDL phân tán là đảm bảo tính trong suốt và tính hiệu năng cao khi xử lý dữ liệu phân tán Nghĩa là hệ CSDL phân tán phải cung cấp các mức độc lập khác nhau đối với dữ liệu và người dùng
1.1.2.1 Tính độc lập đối với sự phân tán dữ liệu
Người dùng không cần quan tâm tới sự phân tán của dữ liệu và có thể không biết có sự phân tán Thông tin về phân tán dữ liệu được lưu trữ trong từ
Luận án tiến sĩ Kĩ thuật
Trang 21điển dữ liệu tổng thể và được DBMS tham khảo để xác định vị trí của các quan
hệ có liên quan đến một thông tin nào đó [72] Lưu trữ từ điển dữ liệu tổng thể
có nhiều cách Thông thường, ba cách sau được quan tâm khai thác:
Từ điển dữ liệu tổng thể được lưu trữ tập trung tại một trạm, chẳng hạn máy chủ
Mỗi trạm được cung cấp một từ điển dữ liệu tổng thể
Từ điển dữ liệu tổng thể cũng được lưu trữ phân tán
Tính độc lập của phân tán dữ liệu sẽ đảm bảo định vị dữ liệu là độc lập với phân tán dữ liệu vật lý Khi có sự thay đổi dữ liệu về mặt vật lý, chỉ có từ điển dữ liệu là thay đổi, không làm thay đổi các chương trình ứng dụng
1.1.2.2 Tính độc lập đối với sự phân mảnh dữ liệu
Tính độc lập hay tính trong suốt của phân mảnh đối với các truy cập dữ
liệu liên quan tới các quan hệ con (các mảnh), theo nghĩa các mảnh có thể lưu trữ ở các trạm khác nhau (nhằm tăng tính hiệu quả của CSDL phân tán, cho phép
đơn giản hóa các truy cập cục bộ), nhưng bị che dấu đối với người dùng [38]
1.1.2.3 Tính độc lập đối với sự nhân bản dữ liệu
Đây là một giải pháp cho sự an toàn dữ liệu, tuy dẫn tới sự dư thừa của
các bản sao Một mảnh gọi là được nhân bản khi tồn tại hai hay nhiều hơn bản sao của nó Các bản sao được lưu trữ trên một hay nhiều trạm khác nhau Sự
nhân bản làm tăng tính sẵn sàng truy cập và tăng tính xử lý cục bộ [27, 32]
Việc duy trì và đồng bộ các bản sao là khá phức tạp và tốn kém Tuy nhiên, vì vấn đề an toàn dữ liệu trong hệ CSDL phân tán, đòi hỏi phải thực hiện
nhân bản, giúp tăng hiệu năng xử lý khi các yêu cầu sử dụng có xung đột
1.1.2.4 Tính độc lập đối với các hệ quản trị cơ sở dữ liệu cục bộ
Mục tiêu này rất khó thực hiện một cách đầy đủ trong hệ CSDL phân tán
không thuần nhất Hiện nay, giải pháp được dùng là đưa ra mô hình quan hệ tổng
Luận án tiến sĩ Kĩ thuật
Trang 22thể, xác lập một bộ chương trình dịch giữa các mô hình cục bộ và mô hình tổng
thể Việc biên dịch các lệnh, các câu truy vấn từ các mô hình cục bộ về mô hình tổng thể do hệ quản trị CSDL phân tán đảm nhận
1.1.2.5 Tính tự trị và tính mở rộng
Mục tiêu tính tự trị là cho phép các trạm điều khiển và thao tác dữ liệu
cục bộ hoàn toàn độc lập với các trạm khác Ưu điểm của đặc tính này giúp cho quản trị CSDL phân tán hoàn toàn phi tập trung
Tính mở rộng thường gắn với khả năng tăng trưởng bằng việc phát triển
thêm các trạm mới, nhằm tác động tối thiểu lên các CSDL cục bộ hay các
chương trình ứng dụng hiện có trên hệ thống [42, 49]
1.1.3 Kiến trúc của hệ cơ sở dữ liệu phân tán
Kiến trúc các mức của hệ CSDL phân tán chỉ rõ cách tổ chức các CSDL phân tán [12, 29] với các thành phần tương ứng theo các lược đồ sau:
Lược đồ tổng thể: Định nghĩa tất cả các dữ liệu sẽ được lưu trữ trong
hệ CSDL phân tán Trong mô hình quan hệ, lược đồ tổng thể bao gồm cả định nghĩa của tập các quan hệ chung
không chồng chéo lên nhau, gọi là mảnh (fragments) Có nhiều cách khác nhau
để thực hiện việc phân chia này bằng các phép ánh xạ (một - nhiều) giữa lược đồ tổng thể và các mảnh
Lược đồ định vị: Các mảnh là các phần logic của quan hệ chung, được
định vị vật lý trên một hoặc nhiều vị trí trên mạng Lược đồ định vị định nghĩa
mảnh và định vị tại vị trí vật lý tương ứng Kiểu ánh xạ được định nghĩa trong
lược đồ định vị sẽ quyết định hệ CSDL phân tán có dư thừa hay không
Lược đồ ánh xạ cục bộ: Là ánh xạ các ảnh vật lý và các đối tượng được
lưu trữ tại mỗi trạm trên hệ (D-DBMS1,…, D-DBMS n ) Tất cả các mảnh của một quan hệ chung hay một hệ (D-DBMS1,…, D-DBMS n) trên cùng vị trí, tạo ra một
Luận án tiến sĩ Kĩ thuật
Trang 23ảnh vật lý Mô hình kiến trúc hệ CSDL phân tán được minh họa như (Hình 1.2):
Lược đồ tổng thể
Lược đồ phân mảnh
Lược đồ định vị
Lược đồ ánh xạ cục bộ 1
Hình 1.2 Mô hình kiến trúc hệ cơ sở dữ liệu phân tán
1.1.4 Các mô hình hệ cơ sở dữ liệu phân tán
Các mô hình hệ CSDL phân tán được trình bày sau đây tương ứng với các khía cạnh khác nhau khi phân tán dữ liệu trên một hệ phân tán [58] Mỗi cách tiếp cận cho việc phân tán dữ liệu sẽ nhận được một hệ CSDL phân tán với những đặc tính khác nhau
1.1.4.1 Hệ cơ sở dữ liệu phân tán thuần nhất
Hệ CSDL phân tán thuần nhất (Homogeneous DDBS) được hình thành từ
việc phân chia một CSDL tập trung thành một tập các CSDL cục bộ Các CSDL
cục bộ được phân tán ở tất cả các trạm (Site) đều được dùng chung một hệ quản trị CSDL [12] Hệ CSDL phân tán thuần nhất gắn với tiếp cận “từ trên xuống”
trong thiết kế CSDL phân tán
1.1.4.2 Hệ CSDL phân tán không thuần nhất
Hệ CSDL phân tán không thuần nhất (Hetorogeneous DDBS) được tích
hợp từ các CSDL cục bộ hiện có để thành một CSDL tập trung Các CSDL cục
bộ có thể được thiết kế theo nhiều mô hình dữ liệu khác nhau, với cấu trúc dữ
Luận án tiến sĩ Kĩ thuật
Trang 24liệu khác nhau và được quản trị bởi các hệ quản trị CSDL khác nhau [12] Hệ
CSDL phân tán không thuần nhất thường gắn với tiếp cận “từ dưới lên” trong
thiết kế CSDL phân tán Với cách tiếp cận này, làm cho hệ CSDL phân tán không thuần nhất chứa đựng nhiều sự phức tạp hơn so với hệ thuần nhất
1.1.4.3 Hệ CSDL từ xa (remote database): Là cách tiếp cận đặt một CSDL trên
một máy tính khác với máy tính của người dùng, được truy cập nhờ các lệnh
truyền thông Các đặc điểm của một hệ CSDL từ xa:
Máy tính của người dùng duy trì một CSDL riêng, được cung cấp từ
không vấp phải những vấn đề khó khăn nhất của CSDL phân tán như: quản lý từ
điển dữ liệu, quản lý các giao dịch đồng thời phân tán,…[47]
THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN
Thiết kế một CSDL phân tán, một hệ phân tán trước hết cần phải chọn vị
trí đặt dữ liệu và chương trình ứng dụng [4] Việc phân tán dữ liệu trong hệ
CSDL phân tán cần phải xem xét đầy đủ theo hai tiếp cận Trước hết, phân tán
dữ liệu và sau đó, phân tán chương trình ứng dụng chạy dữ liệu đó trên hệ quản
trị CSDL Giả định rằng, tại mỗi vị trí lưu dữ liệu đều có trước một nhân bản của
phần mềm hệ quản trị CSDL và các chương trình ứng dụng Vì vậy, trong nội
dung nghiên cứu này, ta chỉ tập trung vào vấn đề phân tán dữ liệu
1.2.1 Các chiến lược thiết kế
Trong thiết kế CSDL phân tán, hai cách tiếp cận cơ bản được áp dụng:
tiếp cận từ trên xuống và tiếp cận từ dưới lên Trong thực tế, cả hai cách tiếp cận
này đều được áp dụng và có thể hỗ trợ lẫn nhau
Luận án tiến sĩ Kĩ thuật
Trang 251.2.1.1 Thiết kế từ trên xuống
Quá trình thiết kế được bắt đầu bằng việc phân tích yêu cầu nhằm định
nghĩa môi trường hệ thống, thu thập các yêu cầu hệ thống, bao gồm yêu cầu về
dữ liệu và yêu cầu về xử lý của người dùng CSDL Kết quả phân tích các yêu cầu cho phép xác định xem hệ thống cuối cùng sẽ như thế nào, đáp ứng các mục tiêu của hệ CSDL phân tán như thế nào Hai hoạt động thiết kế đồng thời là sử
dụng các thông tin yêu cầu gồm thiết kế khung nhìn và thiết kế khái niệm [48]
Thiết kế khung nhìn có nhiệm vụ định nghĩa các giao diện cho người
dùng cuối Thiết kế khái niệm là quá trình xem xét tổng thể mô hình hệ thống,
xác định loại thực thể và mối liên hệ giữa chúng Quá trình này chia thành hai nhóm hoạt động có liên quan, phân tích thực thể và phân tích chức năng
Lược đồ khái niệm toàn cục và thông tin thu được trong thiết kế khung nhìn là đầu vào cho thiết kế phân tán Mục tiêu thiết kế lược đồ khái niệm cục bộ
bằng cách phân tán các thực thể cho các vị trí trong hệ thống phân tán
Bước thiết kế phân tán là chia các quan hệ thành nhiều quan hệ con, gọi là các mảnh (fragment) và các mảnh sẽ được phân tán Hoạt động thiết kế phân tán
sẽ gồm hai bước: phân mảnh (fragmentation) và định vị (location) dữ liệu cho các trạm (site) sau phân mảnh
Bước thiết kế vật lý ánh xạ lược đồ khái niệm cục bộ sang các thiết bị lưu trữ vật lý hiện có tại các vị trí tương ứng Đầu vào cho quá trình này là lược đồ
khái niệm cục bộ và thông tin truy xuất các mảnh Bước theo dõi và bảo trì cung
cấp phản hồi về yêu cầu hệ thống [47]
1.2.1.2 Thiết kế từ dưới lên
Thiết kế từ trên xuống hoàn toàn thích hợp khi thiết kế CSDL từ đầu Tuy nhiên, trong thực tế thường có sẵn một số CSDL phân tán ở nhiều nơi và nhiệm
vụ thiết kế CSDL phân tán là phải tích hợp chúng thành một CSDL phân tán
Khi đó, cách tiếp cận từ dưới lên sẽ thích hợp hơn Bước đầu tiên trong thiết kế
Luận án tiến sĩ Kĩ thuật
Trang 26từ dưới lên là xác định các lược đồ khái niệm cục bộ Quá trình thực hiện này
bao gồm việc tích hợp các lược đồ khái niệm cục bộ thành lược đồ khái niệm
toàn cục
1.2.2 Các vấn đề thiết kế cơ sở dữ liệu phân tán
1.2.2.1 Vấn đề phân rã trên cơ sở dữ liệu tập trung
Trong lý thuyết thiết kế CSDL tập trung, thường quan tâm đến bài toán phân rã một quan hệ thành các quan hệ con nhằm chuẩn hóa CSDL đó đạt dạng
chuẩn 3NF, BCNF, 4NF, 5NF dựa vào ràng buộc khóa hay siêu khóa Phân rã
một quan hệ trong CSDL tập trung bao gồm:
và các ràng buộc dữ liệu (phụ thuộc hàm) Phép toán đại số quan hệ
áp dụng là phép chiếu trên lược đồ quan hệ R
Phép phân rã ngang: Tách theo các bộ (đối tượng) trên một quan hệ dựa vào một hội vị từ sơ cấp Phép toán đại số quan hệ áp dụng là
phép chọn trên quan hệ r(R)
Bài toán phân rã trên CSDL tập trung, thường quan tâm đến kỹ thuật phân
rã dọc một lược đồ quan hệ, vì tính phổ biến và cần thiết trong thực tiễn Tuy nhiên, nó cũng chứa đựng tính phức tạp, đa dạng hơn so với kỹ thuật phân rã ngang trên một quan hệ vì số phương án chọn lựa lớn, ràng buộc dữ liệu nhiều
Ngoài ra, các vấn đề quan tâm khác cũng khá cần thiết khi giải quyết bài toán phân rã trong CSDL tập trung như đặc trưng về độc lập dữ liệu, rút gọn dư thừa dữ liệu, về tính biệt lập và tính an toàn dữ liệu
1.2.2.2 Sự cần thiết phân mảnh dữ liệu phân tán
Hệ phân tán trước đây, dữ liệu được cấp phát dựa trên toàn bộ tập tin cho các nút trên một mạng máy tính Vì thế, bài toán phân mảnh dữ liệu được xem
như không cần thiết Tuy nhiên, như vấn đề đặt ra ở tính cấp thiết của việc
nghiên cứu trong luận án, chúng ta phải xem xét đến vần đề phân mảnh, để có
Luận án tiến sĩ Kĩ thuật
Trang 27được các đơn vị phân tán thích hợp, khi một quan hệ không còn là một đơn vị dữ
liệu đáp ứng được nhiều yêu cầu khác nhau trong thực tiễn
Hầu hết, khung nhìn (view) của các chương trình ứng dụng thường chỉ là
một tập con của quan hệ Vì thế, đơn vị truy xuất không phải là toàn bộ quan hệ,
chỉ là các tập con của quan hệ Kết quả áp dụng này, xem tập con mỗi quan hệ là một đơn vị phân tán, và là điều thích hợp nhất cho sự cần thiết như trên [48]
Ngoài ra, nếu nhiều ứng dụng có các khung nhìn được định nghĩa trên một quan hệ cho trước, được phân tán tại những vị trí khác nhau, ta có hai cách
lựa chọn cho đơn vị phân tán toàn bộ quan hệ: hoặc quan hệ không được lặp lại,
được lưu giữ ở một vị trí duy nhất Hoặc nó được lặp lại tất cả, hoặc một số các
vị trí có truy cập ứng dụng Lựa chọn đầu, tạo ra một khối lượng lớn các truy cập
dữ liệu từ xa không cần thiết Trong khi đó, với lựa chọn thứ hai, cách thức lặp
lại mối quan hệ sẽ tạo ra những nhân bản không cần thiết, dễ xảy ra dư thừa dữ
liệu hay không đảm bảo nhất quán dữ liệu khi cập nhật dữ liệu [58]
Sự cần thiết phải phân mảnh còn thể hiện, mỗi mảnh được xử lý như một
đơn vị sẽ cho phép thực hiện nhiều giao dịch đồng thời [40] Do đó, việc phân mảnh các quan hệ sẽ tạo điều kiện cho thực hiện song song một truy vấn, bằng cách chia nó ra thành một tập các truy vấn con, hoạt tác trên các mảnh Vì thế
việc phân mảnh sẽ làm tăng khả năng hoạt động đồng thời, dẫn đến tăng lưu lượng hoạt động trên một hệ CSDL phân tán [56]
1.2.2.3 Những tồn tại trong phân mảnh dữ liệu
Khi một ứng dụng có xung đột trong yêu cầu, có thể dẫn đến việc phân mảnh một quan hệ thành các mảnh khác biệt nhau Khi đó, những ứng dụng có
các khung nhìn xác định trên nhiều phân mảnh, có thể bị gián đoạn hoặc tổn thất thông tin Phương án cần phải nhận dữ liệu từ hai mảnh và sau đó phải tiến hành
phép nối hoặc phép hợp chúng với nhau, sẽ cho chi phí rất cao Đây là một tồn
tại thường xảy ra, được xem xét nhiều trong bài toán phân mảnh [41, 58]
Vấn đề tồn tại về việc kiểm soát dữ liệu ngữ nghĩa, kiểm tra tính toàn
Luận án tiến sĩ Kĩ thuật
Trang 28vẹn dữ liệu trong bài toán phân mảnh cũng được xem xét cẩn thận, vì dễ dẫn đến
kết quả phân mảnh có thể bị sai sót tại nhiều vị trí không hợp lệ Khi đó, việc
kiểm tra các phụ thuộc dữ liệu phải thực hiện tác vụ kèm theo để định vị dữ liệu
cho phù hợp
1.2.3 Kỹ thuật thiết kế cơ sở dữ liệu phân tán
Kỹ thuật thiết kế CSDL phân tán bao gồm bài toán phân mảnh dữ liệu và
định vị (cấp phát) các mảnh dữ liệu cho các trạm (site) tương ứng trên một hệ
CSDL phân tán [41, 47]
1.2.3.1 Bài toán phân mảnh dữ liệu phân tán
Bài toán phân mảnh thường quan tâm đến hai kỹ thuật phân mảnh ngang
và phân mảnh dọc Phân mảnh ngang tiến hành phân chia một quan hệ r(R) theo các bộ Mỗi mảnh là một quan hệ con chứa các bộ t của quan hệ r(R) Phân mảnh dọc tiến hành phân chia theo tập thuộc tính trên lược đồ quan hệ R, thành các lược đồ quan hệ con (R1, R2,…, R m ) Các thuộc tính trong mỗi lược đồ quan hệ
con thường được truy vấn cùng nhau [27, 32] Ngoài ra còn có loại phân mảnh hỗn hợp kết hợp cả hai kỹ thuật trên
Xử lý kỹ thuật liên quan đến bài toán phân mảnh, ngoài các ràng buộc
khóa/siêu khóa trên các thuộc tính và điều kiện trên các bộ, còn phải quan tâm
đến bài toán định vị dữ liệu, cấp phát địa chỉ dữ liệu trên một hệ phân tán [58]
Vì vậy, một số đặc tính cần thỏa mãn trong kỹ thuật phân mảnh bao gồm:
Tính độc lập dữ liệu, tính trong suốt cần được xem xét, xử lý, đảm bảo hoạt động của mọi chương trình ứng dụng trên hệ CSDL phân tán
tương tự như CSDL tập trung Tuy nhiên tốc độ truy cập sẽ bị ảnh hưởng do đặc tính phân tán dữ liệu
Tính rút gọn (loại bỏ dư thừa dữ liệu) đảm bảo cho việc phân rã tối ưu thành nhiều mảnh nhỏ hơn, được thể hiện như một bản sao logic tổng
thể, duy nhất và nhằm thuận tiện cho việc truy cập dữ liệu phân tán
Đặc tính truy xuất hiệu suất cao nhằm duy trì việc truy cập tối ưu về
Luận án tiến sĩ Kĩ thuật
Trang 29thời gian tìm kiếm, thời gian chuyển dữ liệu và các chi phí truyền thông có liên quan [47]
Đặc tính hồi phục và điều khiển tương tranh: Hai đặc tính này ảnh
hưởng trong việc xử lý các điều khiển giao tác tự trị, việc chuyển đổi các quỹ thời gian cho các giao tác liên tiếp trên một giao dịch Giao
tác tự trị là phương thức truy cập đạt được sự toàn vẹn dữ liệu, có thể
nảy sinh hai tình huống: hồi phục và điều khiển tương tranh [41]
Đặc tính về quan điểm biệt lập và an toàn nhằm giải quyết vấn đề biệt lập như quản trị CSDL tập trung Đặc tính an toàn trên hệ CSDL phân
tán cần phải xem xét các kỹ thuật liên quan như an toàn mạng truyền
thông, tính mở hệ thống và đặc tính khai thác đồng thời trên các hệ
CSDL phân tán thuần nhất và không thuần nhất [58]
1.2.3.2 Bài toán định vị phân tán
Giả sử có một tập các mảnh dữ liệu F = {F1, F2, …, F n}, một mạng máy
tính bao gồm các trạm S = {S1, S2,…, Sm }, một tập các ứng dụng Q = {q1, q2, …,
q k } chạy trên S Bài toán định vị là tìm một phân tán tối ưu của F cho S Tính tối
ưu định vị có thể được định nghĩa ứng với hai số đo:
Chi phí nhỏ nhất: Hàm chi phí bao gồm chi phí lưu trữ và chi phí truy vấn mảnh Fi tại trạm S j , chi phí cập nhật F i tại tất cả các trạm lưu trữ nó và chi
phí trao đổi thông tin Mục tiêu của bài toán định vị là xác định một lược đồ
định vị để cực tiểu hóa hàm chi phí này [47]
Hiệu năng: Chiến lược định vị được thiết kế nhằm duy trì hiệu năng
lưu lượng Mục tiêu cần đạt là xây dựng một lược đồ định vị 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 Bài toán định vị tổng quát có độ
phức tạp là bài toán NP-đầy đủ
Luận án tiến sĩ Kĩ thuật
Trang 30Bài toán định vị thường được mô tả cụ thể như bài toán cực tiểu hóa chi phí [31] Trong phạm vi luận án, nội dung này không được tập trung nghiên cứu
1.2.4 Các quy tắc phân mảnh đúng đắn
Ba quy tắc phân mảnh đúng, đảm bảo CSDL phân tán không có thay đổi
về ngữ nghĩa trong khi phân mảnh [1], đó là:
Tính đầy đủ: Nếu một thể hiện quan hệ r(R) được phân thành các mảnh
trọng này đảm bảo rằng, dữ liệu trong quan hệ r(R) được ánh xạ vào các mảnh
và không bị mất mát [47]
(R1, R2,…,R n), thì cần phải định nghĩa một toán tử quan hệ sao cho:
R=R 1 R2 R n , R iF r và 1 i = n
Toán tử thay đổi tuỳ theo loại phân mảnh Với phân mảnh ngang là
phép hợp, với phân mảnh dọc thì là phép nối Khả năng tái thiết được một quan hệ từ các mảnh đảm bảo rằng, các ràng buộc dữ liệu dưới dạng các phụ
thuộc hàm luôn được bảo toàn
Tính tách biệt: Nếu quan hệ r(R) được phân mảnh ngang thành các
mảnh (R’1, R’ 2, …,R’n ) và mục dữ liệu d i nằm trong mảnh R’ j thì nó sẽ không nằm
trong mảnh R’ k
nào khác (với k ≠ j) Tiêu chuẩn này đảm bảo các mảnh ngang được tách biệt (rời nhau) Trường hợp quan hệ được phân mảnh dọc, các thuộc tính khoá chính phải được lặp lại trong mỗi mảnh Vì thế, tính tách biệt chỉ được định nghĩa trên các thuộc tính không khoá của lược đồ quan hệ R
1.2.5 Thảo luận về thiết kế cơ sở dữ liệu phân tán
Phần này, luận án trình bày các vấn đề về thiết kế CSDL phân tán, sự cần
Luận án tiến sĩ Kĩ thuật
Trang 31thiết và các kỹ thuật áp dụng cho bài toán phân mảnh trên CSDL phân tán Luận
án đặt ra những triển vọng của hệ CSDL phân tán khi phân tích các ưu điểm về
mặt phân tán dữ liệu, việc cung cấp cho người dùng một “đặc tính trong suốt” ở
mức hỗ trợ cao, với nhiều ứng dụng phức tạp Điều này, mong muốn xác định
đúng một quá trình phân mảnh các quan hệ, việc lưu các nhân bản tại nhiều trạm
khác nhau Đảm bảo việc sao chép một phần dữ liệu này tại những vị trí khác nhau, vì các lý do khác nhau như hiệu năng, độ tin cậy, thời gian truy cập luôn được tối ưu
Kết quả của những mong đợi như trên, sẽ cho một CSDL phân tán được
truy xuất trong suốt hoàn toàn Người dùng vẫn có thể truy vấn nhưng không quan tâm đến việc phân mảnh, định vị và nhân bản dữ liệu được tổ chức, xử lý như thế nào trên hệ CSDL phân tán Đặc tính khác, là sự trong suốt phân tán dữ liệu (distribution transparency) Ta muốn che dấu cả sự tồn tại của hệ thống
mạng và cả việc đặc tả vị trí lưu trữ dữ liệu sau định vị
Về tính trong suốt nhân bản (replication transparency), một đặc tính cần thiết khi tính toán hiệu năng cao, về độ tin cậy và tính sẵn sàng của CSDL phân tán Đặc tính này làm tăng khả năng tham chiếu, khả năng lưu giữ các nhân bản khác của dữ liệu trên hệ thống khi xảy ra các vấn đề tương tranh, xung đột hay
Tính trong suốt phân mảnh (fragmentation transparency) trên các hệ
CSDL phân tán, thể hiện các mảnh sẽ được xử lý như một đối tượng CSDL độc
lập sau phân mảnh Đặc tính này có thể sẽ làm giảm đi các phát sinh lỗi không
mong muốn của việc nhân bản dữ liệu Ngoài ra, với mỗi bản sao không phải là
một quan hệ đầy đủ (chỉ là một quan hệ con), khi đó sẽ cần ít không gian lưu trữ
cũng như vấn đề quản trị mục dữ liệu trên hệ thống
3 THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN BẰNG CÁC KỸ THUẬT PHÂN MẢNH
Luận án tiến sĩ Kĩ thuật
Trang 32Phần này sẽ trình bày việc thiết kế CSDL phân tán bằng các kỹ thuật phân mảnh, đó là kỹ thuật phân mảnh ngang, kỹ thuật phân mảnh dọc và kỹ thuật phân mảnh hỗn hợp, trong đó các mảnh sẽ được lồng ghép
1.3.1 Kỹ thuật phân mảnh ngang
Kỹ thuật phân mảnh ngang tiến hành phân chia một quan hệ r(R) theo các
bộ (đối tượng) Mỗi mảnh là một quan hệ con của quan hệ r(R) Số lượng quan
hệ con sau phân mảnh phụ thuộc vào các ràng buộc trên các thuộc tính, trên các
bộ trong các quan hệ con và sẽ tách biệt nhau [48] Tập các vị từ đóng vai trò
quan trọng trong quá trình phân mảnh Có hai loại phân mảnh ngang:
các vị từ được định nghĩa trên chính quan hệ đó
vị từ được định nghĩa trên một quan hệ khác
1.3.1.1 Yêu cầu thông tin về phân mảnh ngang
Thông tin về CSDL: Trước tiên là lược đồ toàn cục, quan tâm đến các
quan hệ sẽ kết nối lại với nhau theo cách nào Trong mô hình quan hệ thực thể -
liên kết, các mối liên hệ giữa các đối tượng CSDL thường mô tả bằng các mối
quan hệ (1-1; 1-n; n-n) Với thiết kế phân tán, các mối liên hệ cũng được mô hình hóa trong mô hình tổng thể quan hệ [40] Bằng cách này, các đường liên kết (link) có hướng (các cung) giữa các quan hệ có liên hệ với nhau qua một nối
bằng (equijoin) Quan hệ nằm cuối đường nối, gọi là quan hệ chủ (owner) Các
quan hệ nằm đầu đường nối, gọi là quan hệ thành viên (member) Hai hàm
Owner và Member, định nghĩa cho phép ánh xạ từ tập đường nối tới tập quan hệ
Khi cho trước liên kết, hàm sẽ trả về quan hệ thành viên hay quan hệ chủ của đường liên kết Thông tin định lượng cần có về CSDL là lực lượng (cardinality) của mỗi quan hệ r(R), ký hiệu là Card(R)
Thông tin về ứng dụng: Quá trình phân mảnh, cần đầy đủ thông tin định tính và định lượng Thông tin định tính hướng dẫn cho hoạt động phân
Luận án tiến sĩ Kĩ thuật
Trang 33mảnh dữ liệu Thông tin định lượng sử dụng trong mô hình định vị dữ liệu [31]
Thông tin định tính cơ bản gồm các vị từ dùng trong câu truy vấn, đó là vị
từ đơn (simple predicate) và vị từ hội sơ cấp (minterm predicate) đƣợc phát biểu:
Cho lƣợc đồ quan hệ R(A1, A2, , A n ), trong đó A i là thuộc tính và có miền
giá trị D i , một vị từ đơn p j đƣợc định nghĩa trên R có dạng:
p j : A i θ < Giá trị >, trong đó θ { =, <, ≠, ≤, >, ≥ } và < Giá trị > D i
Ký hiệu Pr i để biểu thị tập tất cả các vị từ đơn Các phần tử của Pr i đƣợc
ký hiệu là p ij , định nghĩa Pr i trên quan hệ R i nhƣ sau:
Pr i = { p ij | p ij là vị từ đơ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 Mỗi tổ
hợp đƣợc xét ở đây là các vị từ hội sơ cấp Cho tập Pr i = {p i1 , p i2 , , p im} là các
vị từ đơn trên quan hệ R i , tập các vị từ hội sơ cấp M i ={m i1 , m i2 , , m iz} đƣợc định
Thông tin định tính trên các ứng dụng:
Lựa chọn hạng thức cực tiểu m i , ký hiệu sel(m i) là số lƣợng các bộ của
quan hệ sẽ đƣợc truy xuất bởi câu truy vấn và đƣợc đặc tả theo một vị từ hội sơ
cấp đã cho
Tần số truy xuất (access frequency), dạng tần số ứng dụng truy xuất đến dữ liệu Nếu Q={q1, q2, ,q q } là tập các ứng dụng, acc(q i ) biểu thị cho tần số
truy xuất của q i trong một khoảng thời gian đã cho, tần số truy xuất hội sơ cấp
có thể đƣợc xác định từ tần số vấn tin, ký hiệu là acc(m i )
3 .2 Phân mảnh ngang nguyên thủy
Phân mảnh ngang nguyên thủy đƣợc định nghĩa bằng một phép toán chọn
trên các quan hệ chủ của một lƣợc đồ CSDL Quan hệ r(R) sẽ đƣợc phân mảnh ngang thành các R i đƣợc định nghĩa: R i = Fi (R), 1 ≤ i ≤ z , trong đó F i là công
Luận án tiến sĩ Kĩ thuật
Trang 34thức chọn được sử dụng để có được mảnh Ri Nếu F i có dạng chuẩn hội, luôn
khẳng định rằng F i là một vị từ hội sơ cấp [31]
Một phân mảnh ngang R i của quan hệ r(R) gồm tất cả các bộ của r(R) thoả một vị từ hội sơ cấp m i Vì vậy, cho tập M các vị từ hội sơ cấp, số lượng phân mảnh ngang của quan hệ r(R) cũng bằng số lượng các vị từ hội sơ cấp Tập các mảnh ngang này được gọi là tập các mảnh hội sơ cấp (minterm fragment) Việc định nghĩa các mảnh ngang phụ thuộc vào vị từ hội sơ cấp, vì vậy cần xác định tập các vị từ đơn tạo ra vị từ hội sơ cấp [56]
Một đặc tính quan trọng của các vị từ đơn là tính đầy đủ và tính cực tiểu Tập các vị từ đơn Pr được gọi là đầy đủ nếu và chỉ nếu xác suất mỗi ứng dụng truy xuất đến một bộ bất kỳ thuộc về một mảnh hội sơ cấp nào đó được định nghĩa theo Pr đều bằng nhau [31]
Tính đầy đủ là cần thiết, bởi các mảnh thu được theo tập vị từ đầy đủ sẽ
nhất quán về mặt logic, tất cả đều thoả vị từ hội sơ cấp
Đặc tính khác trên tập các vị từ là tính cực tiểu Vị từ đơn phải có liên
quan (Relevant) trong việc xác định một mảnh Một vị từ không tham gia một
phân mảnh nào, được xem là vị từ thừa Nếu tất cả các vị từ của Pr đều có liên đới thì Pr là cực tiểu Đặc tính cực tiểu liên quan chặt chẽ đến tối ưu bộ nhớ Cho trước một tập vị từ Pr để xét tính cực tiểu, ta có thể kiểm tra bằng cách loại
bỏ những vị từ thừa, để có tập vị từ Pr’ là cực tiểu và hiển nhiên, Pr’ cũng là tập
đầy đủ [47]
Thuật toán CM (Complete Minimum) là thuật toán lặp, sinh ra một tập
đầy đủ và cực tiểu các vị từ Pr’vớiđầu vào là tập các vị từ đơn Pr
Quy tắc CM: “Mỗi quan hệ hoặc một mảnh được phân thành ít nhất hai
phần, mỗi phần được truy xuất khác nhau bởi ít nhất một ứng dụng nào đó”
Thuật toán CM [58]
Đầu vào: - Quan hệ r(R);
Luận án tiến sĩ Kĩ thuật
Trang 35Thuật toán CM bắt đầu tìm một vị từ có liên quan và phân mảnh quan hệ
đã cho Vòng lặp Repeat-until thêm các vị từ có phân các mảnh vào tập này, bảo đảm tính cực tiểu tại mỗi bước Vì thế vào cuối vòng lặp, tập Pr’ sẽ ”đầy đủ và cực tiểu”
Bước tiếp theo của thuật toán, suy dẫn tập các vị từ hội sơ cấp được định nghĩa trên các vị từ trong tập Pr’ Các vị từ hội sơ cấp sẽ xác định các mảnh ứng
Luận án tiến sĩ Kĩ thuật
Trang 36viên cho bước định vị dữ liệu Tập các vị từ hội sơ cấp có thể rất lớn, thường đạt
hàm mũ theo số lượng các vị từ đơn Kỹ thuật giảm số lượng vị từ hội sơ cấp
được định nghĩa trong các phân mảnh là vấn đề thường được quan tâm Các
bước tiếp theo trên thuật toán là loại bỏ những vị từ hội sơ cấp vô nghĩa, tìm ra tập vị từ hội sơ cấp có nghĩa
Thuật toán phân mảnh ngang HF (Horizontal Fragment) dựa vào thuật
toán CM được trình bày dưới đây:
1.3.1.3 Phân mảnh ngang dẫn xuất
Phân mảnh ngang dẫn xuất dựa trên các quan hệ thành viên của một đường liên kết theo phép toán chọn trên quan hệ chủ Phân mảnh ngang dẫn xuất tiến hành phân chia các quan hệ thành viên thành các phân mảnh của quan hệ
chủ, dựa trên các thuộc tính của quan hệ thành viên [27] Liên kết giữa quan hệ chủ và quan hệ thành viên được định nghĩa như một kết nối bằng (equi-join) Kết
Luận án tiến sĩ Kĩ thuật
Trang 37nối bằng có thể được cài đặt nửa kết nối (semi-join)
Cho trước một liên kết L, trong đó, Owner(L) = S và Member(L) = R Các phân mảnh ngang dẫn xuất của quan hệ r(R) được định nghĩa:
R i = R ⋈ S i , với 1 ≤ i ≤ k, k (1 N*) là số lượng các mảnh được định
nghĩa trên r(R) và S i = ζFi (S), F i là biểu thức định nghĩa mảnh ngang nguyên
thuỷ S i Một số trường hợp, mỗi mảnh chỉ có một đường liên kết đến hoặc đi Đồ
thị có cấu trúc dạng này gọi là đồ thị đơn Ưu điểm của thiết kế này là mối liên kết giữa các phân mảnh đơ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í, các kết nối giữa các cặp phân mảnh khác nhau,
có thể tiến hành độc lập hoặc song song với nhau Quá trình thực hiện nhiều câu
truy vấn tại nhiều vị trí khác nhau, có thể thực hiện song song với thời gian đáp
ứng Vì thế, lưu lượng của hệ thống truy cập luôn được tối ưu [32]
1.3.2 Kỹ thuật phân mảnh dọc
Phân mảnh dọc lược đồ quan hệ R, sinh ra các mảnh (R1, R2, ,R r ), mỗi
mảnh chứa một tập con thuộc tính của R, kèm theo là thuộc tính khóa của R
Mục tiêu chính của phân mảnh dọc là phân mảnh quan hệ R thành tập các quan
hệ nhỏ hơn (các mảnh) để nhiều ứng dụng chỉ cần chạy trên một mảnh [27] Một
phân mảnh tối ưu, sinh ra một lược đồ phân mảnh cho phép giảm tối đa thời gian thực thi các ứng dụng chạy trên mảnh đó Kỹ thuật phân mảnh dọc phức tạp
hơn so với phân mảnh ngang, vì tổng số chọn lựa có thể có của một phân mảnh
dọc là rất lớn [28, 63]
Để có được các lời giải tối ưu cho bài toán phân mảnh dọc thực sự là khó
Vì thế, ta thường dùng hai phương pháp heuristic cho các phân mảnh dọc các
quan hệ toàn cục [24] như sau:
cho một mảnh và tại mỗi bước, nối một số mảnh lại cho đến khi thỏa một tiêu chuẩn nào đó Kỹ thuật nhóm thuộc tính lần đầu được đề xuất do Darabant [17]
Luận án tiến sĩ Kĩ thuật
Trang 38cho CSDL tập trung và sau đó, Al-Sayyed [3] đề xuất áp dụng cho CSDL phân tán
Phương pháp tách mảnh: Bắt đầu bằng một quan hệ và quyết định
cách phân mảnh có lợi dựa trên hành vi truy xuất của các ứng dụng trên các
thuộc tính Kỹ thuật này được đề xuất bởi Khan và các cộng sự [41] Sau đó được Eladl và các cộng sự [28] đề xuất tiếp tục cho các CSDL phân tán
Trong nghiên cứu của luận án, các thuật toán đề xuất ở Chương 2, 3
vận dụng phương pháp nhóm thuộc tính cho các phân mảnh dọc, phân mảnh
ngang, phân cụm thô và phân cụm kiến
1.3.2.1 Yêu cầu thông tin về phân mảnh dọc [63]
Yêu cầu thông tin cho phân mảnh dọc liên quan đến các ứng dụng sẽ thực
thi trên CSDL phân tán Vì phân mảnh dọc đặt vào một mảnh các nhóm thuộc
tính thường được truy xuất chung với nhau, nên cần có một giá trị đo để định
nghĩa chính xác hơn về khái niệm “chung với nhau” Số đo này gọi là ái lực (affinity) thuộc tính, nhằm chỉ ra mức độ liên đới giữa các thuộc tính [24]
Để thể hiện mức độ hay được truy vấn chung với nhau, Özsu M Tamer [58] đưa ra khái niệm ái lực thuộc tính (attribute affinity) Cho Q={q1, q2, , q q}
là tập các ứng dụng, R(A1, A2, , A n) là một lược đồ quan hệ toàn cục Mối quan
hệ giữa ứng dụng q i và thuộc tính A j được xác định bởi giá trị sử dụng thuộc tính, ký hiệu use(q i , A j ) và được định nghĩa:
( ) {
Các vec tơ use(q i ,*) cho mỗi ứng dụng rất dễ xác định nếu ta biết được ứng
dụng sẽ chạy trên dữ liệu phân tán nào Tuy nhiên, giá trị sử dụng thuộc
tính use(q i , A j) chưa biểu thị được độ lớn của tần số ứng dụng Số đo tần số
use(q i , A j ) được minh họa trong các định nghĩa về số đo ái lực thuộc tính
aff(A i ,A j ), khi biểu diễn sự liên kết giữa hai thuộc tính của một quan hệ được các
ứng dụng truy xuất đến [74] (Bảng 1.1) dưới đây minh họa một ma trận giá trị
(1.1)
Luận án tiến sĩ Kĩ thuật
Trang 39Số đo ái lực thuộc tính giữa hai thuộc tính A i , A j của lược đồ quan hệ
R(A 1 , A 2 , , A n ), tập ứng dụng Q = {q 1 , q 2 , , q q} được định nghĩa như sau:
)) (
* ) ( (
) , (
) , (
q acc q ref A
A
A A Q
l j
trong đó, ref l (q) là số truy xuất đến các thuộc tính (A i , A j) khi thực hiện ứng dụng
q tại trạm S l và acc l (q) là số đo tần số truy xuất ứng dụng q đến các thuộc tính (A i , A j ) tại trạm S l [I]
Kết quả tính toán cho được một ma trận n × n, gọi là ma trận ái lực thuộc
tính AA (attribute affinity matrix), minh họa như (Bảng 1.2) :
Bảng 1.2 Ma trận ái lực thuộc tính AA
1.3.2.2 Thuật toán phân cụm nhóm thuộc tính CA
Thuật toán phân cụm theo nhóm thuộc tính CA (Clustered Affintity) dựa trên các giá trị ái lực thuộc tính trong ma trận AA, sử dụng theo phương pháp
nhóm thuộc tính [48] Hoffer J., Severance D , Navathe đã dùng thuật toán năng
(1.2)
Luận án tiến sĩ Kĩ thuật
Trang 40lượng nối BEA (Bond Energy Algorithm) [58] với mục tiêu là nhóm các thuộc
tính có ái lực lớn với nhau Kết quả nghiên cứu này được xem là thích hợp nhất cho việc áp dụng phương pháp này trên bài toán phân cụm
Thuật toán tiến hành xác định được các nhóm chứa đựng các mục tương
tự Điều này, trái ngược với một sắp xếp tuyến tính các mục, khi nhóm các thuộc
tính có giá trị ái lực lớn lại với nhau và cũng tương tự cho những thuộc tính có giá trị ái lực nhỏ hơn với nhau [28]
Tập các điều kiện cuối cùng đề cập đến những trường hợp một thuộc tính
được đặt vào ma trận ái lực phân cụm CA ở về bên trái của thuộc tính tận trái hoặc ở về bên phải của thuộc tính tận phải trong các hoán vị cột, bên trên hàng trên cùng và bên dưới hàng cuối cùng trong các hoán vị hàng
Hàm cực đại hoá AM chỉ xét những lân cận gần nhất, cho phép nhóm các
giá trị max với các giá trị lớn, giá trị min với các giá trị nhỏ Do ma trận ái lực
thuộc tính AA có tích chất đối xứng, hàm cực đại hoá được thu gọn:
Quá trình sinh ra ma trận ái lực phân cụm CA được trình bày theo thuật toán
phân cụm nhóm thuộc tính CA như sau:
Thuật toán CA [58]
Đầu vào: - Ma trận ái lực thuộc tính AA;
- Hàm cực đại hoá AM;
Đầu ra: Ma trận ái lực phân cụm CA;