1. Trang chủ
  2. » Luận Văn - Báo Cáo

Các kỹ thuật phân tán dữ liệu trong cơ sở dữ liệu phân tán

88 8 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 88
Dung lượng 0,95 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Định nghĩa này nhấn mạnh hai khía cạnh quan trọng của CSDL phân tán: 1- Tính phân tán, thực tế dữ liệu không cư trú ở cùng một trạm, vì vậy chúng ta có thể phân biệt mỗi CSDL phân tán vớ

Trang 1

-   -

LUẬN VĂN THẠC SĨ KHOA HỌC

NGÀNH : CÔNG NGHỆ THÔNG TIN

Trang 3

dùng Sự ra đời của hệ thống mạng LAN tốc độ cao vào những thế kỷ 70s đã tác động đến sự phát triển của hệ phân tán Các trạm làm việc cũng như các hệ thống máy chủ đã quyết định sự ra đời của hệ phân tán Xu hướng này đã và còn được thúc đẩy nhờ việc phát triển phần mềm hệ điều hành và các ứng dụng phân tán

Hệ cơ sở dữ liệu phân tán có phạm vi rất rộng, từ cung cấp các tiện ích tính toán dùng cho mục đích chung của nhiều nhóm người sử dụng đến các hệ thống truyền thông đa phương tiện

Hệ cơ sở dữ liệu phân tán được xây dựng dựa trên 2 công nghệ cơ bản: (1)

cơ sở dữ liệu, và (2) mạng máy tính Hệ cơ sở dữ liệu phân tán được mô tả như là tập hợp nhiều cơ sở dữ liệu có liên quan logic đến nhau và được phân bố trên mạng máy tính Cơ sở dữ liệu phân tán giảm được chi phí truyền thông, thời gian đáp ứng nhanh, đảm bảo tính độc lập dữ liệu , tránh dư thừa dữ liệu và chia sẻ tài nguyên

Trong Khuôn khổ luận văn này, em đã đề cập đến các cơ sở lý thuyết cũng như các phương pháp, thuật toán sử dụng trong quá trình phân tán dữ liệu

Luận văn được hoàn thành nhờ vào sự hướng dẫn tận tình của GS.TS

Nguyễn Thúc Hải, Khoa CNTT, Trường ĐHBKHN

Em xin trân trọng cảm ơn Thầy GS.TS Nguyễn Thúc Hải đã hướng dẫn chỉ

bảo và luôn tạo điều kiện thuận lợi cho em hoàn hành luận văn này

Một lần nữa em xin cảm ơn các thầy cô trong Khoa CNTT, TTSĐH, Trường ĐHBKHN đã giảng dạy trong suốt thời gian qua, đặc biệt xin cảm ơn Chính phủ Cộng hòa Xã hội Chủ nghĩa Việt Nam đã tạo điều kiện và cơ hội tốt cho em hoành thành học tập của mình

Hà Nội :Tháng 11 Năm 2008 Học viên: Koeu Sokmeak

Trang 4

TÓM TẮT LUẬN VĂN 2

MỤC LỤC 3

BẢNG VÀ HÌNH VẼ 5

BẢNG CÁC TỪ VIẾT TẮT& TỪ KHÓA 6

PHẦN 1: GIỚI THIỆU CSDL PHÂN TÁN VÀ SỰ PHÂN TÁN DỮ LIỆU 8

CHƯƠNG 1: TỔNG QUAN VỀ HỆ CSDL PHÂN TÁN 8

1 ĐỊNH NGHĨA: 8

2 CÁC ĐẶC ĐIỂM CSDL PHÂN TÁN SO VỚI CSDL

TẬP TRUNG: 8

3 PHÂN LOẠI CSDL PHÂN TÁN: 13

4 XU THẾ PHÁT TRIỂN CSDL PHÂN TÁN: 18

CHƯƠNG 2 : CÁC KHÁI NIỆM PHÂN TÁN DỮ LIỆU 20

1 LÝ DO PHÂN ĐOẠN : 20

2 CÁC KIỂU PHÂN ĐOẠN: 21

3 MỨC ĐỘ PHÂN ĐOẠN: 22

4 CÁC QUY TẮC PHÂN ĐOẠN ĐÚNG ĐẮN: 22

5 CÁC KIỂU CẤP PHÁT: 23

PHẦN II: CÁC KỸ THUẬT PHÂN TÁN DỮ LIỆU 25

CHƯƠNG 3: KỸ THUẬT PHÂN ĐOẠN: 26

3.1 PHÂN ĐOẠN NGANG: 26

3.1.1 YẾU CẦU THÔNG TIN VỀ PHÂN ĐOẠN NGANG : 26

3.1.1.1: THÔNG TIN VỀ CƠ SỞ DỮ LIỆU : 26

Trang 5

3.1.2.1.2 THUẬT TOÁN PHORIZONTAL: 38

3.1.2.2 PHÂN ĐOẠN NGANG DẪN XUẤT: 42

3.1.3 KIỂM ĐỊNH TÍNH ĐÚNG ĐẮN CỦA PHÂN ĐOẠN NGANG 48 3.2 PHƯƠNG PHÁP PHÂN ĐOẠN DỌC AVP[13] 50

3.2.1 CÁC LÝ DO CHỌN AVP 50

3.2.2 CÁC YÊU CẦU VỀ THÔNG TIN 52

3.2.3 MÔ HÌNH CHI PHÍ 53

3.2.4 THUẬT TOÁN PHÂN ĐOẠN DỌC AVP 54

3.2.4.1 GIAI ĐOẠN XÂY DỰNG CÂY PT 55

3.2.4.2 GIAI ĐOẠN TRÍCH KẾT QUẢ CÁC ĐOẠN DỮ LIỆU: 61

3.2.5 TÓM TẮT 65

CHƯƠNG 4: KỸ THUẬT PHÂN BỐ DỮ LIỆU 66

4.1 MỞ ĐẦU : 66

4.2 MÔ HÌNH VÀ MỘT SỐ VẤN ĐỀ CƠ BẢN LIÊN QUAN ĐẾN PHÂN BỐ DỮ LIỆU 67

4.2.1 ĐẶT RA BÀI TOÁN 67

4.2.2 YÊU CẦU THÔNG TIN 69

4.2.2.1 THÔNG TIN VỀ CSDL 69

4.2.2.2 THÔNG TIN VỀ ỨNG DỤNG 69

4.2.2.3 THÔNG TIN VỀ CÁC TRẠM: 70

4.2.2.4 THÔNG TIN VỀ MẠNG: 70

4.2.3 MÔ HÌNH PHÂN BỐ DỮ LIỆU 70

Trang 6

4.3.1.1 ƯU ĐIỂM CỦA THUẬT TOÁN: 76

4.3.1.2 NHƯỢC ĐIỂM CỦA THUẬT TOÁN: 76

4.3.2 THUẬT TOÁN NGƯỠNG(TRESHOLD) 77

4.4 TÓM TẮT: 83

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 84

1 KẾT LUẬN : 84

2 HƯỚNG PHÁT TRIỂN : 84

CÁC TÀI LIỆU THAM KHẢO 85

Trang 7

Hình 1 Mô hình hệ CSDL phân tán thuần nhất đơn giản 9

Hình 4: Phân loại các hệ CSDL phân tán theo kiến trúc 12

Hình 7 : Biểu diễn mối liên hệ giữa các quan hệ nhờ các đường nối 23

Bảng 1 : Tần xuất để truy xuất các đoạn của các truy vấn 52

Bảng 2: Các lợi nhuận trong bước 0 của cây PT hình 9 54

Bảng 3: Liệt kê xác suất truy cập ít nhất một lần 72

Hình 14 : Os hàm của xs trong hệ thống có 5 trạm 75 Hình 15 : Đồ thị đường cong khi thay đổi ngưỡng 76

Trang 8

Minterm Predicate Vị từ hội sơ cấp

Miniterm selectivity Số lượng các bộ được truy xuất bởi một câu truy

vấn

Access Frequency Tần số truy xuất

Minterm Fragement Đoạn hội sơ cấp

Completeness Tính đầy đủ của vị từ đơn giản

Minimality Tính tiểu cực của vị từ đơn giản

Attribute Usage Value Giá trị sử dụng của các thuộc tính

Physical Site Trạm vật lý

Query Processing Cost

Chi phí để xử lý câu hỏi QPC

Site Tranmission Cost

Chi phí để lưu trữ đoạn tại trạm STC

Data Allocation Problem

Vấn đề định vị CSDL DAP

File Allocation Problem

Vấn đề định vị tệp FAP

Processing Cost Chi phí xử lý

Trang 10

người sử dụng [1]

Định nghĩa này nhấn mạnh hai khía cạnh quan trọng của CSDL phân tán: 1- Tính phân tán, thực tế dữ liệu không cư trú ở cùng một trạm, vì vậy chúng ta có thể phân biệt mỗi CSDL phân tán với CSDL tập trung

2- Sự tương quan lôgic, các dữ liệu có một số tính chất ràng buộc lẫn nhau

và như vậy có thể phân biệt CSDL phân tán với tập các CSDL địa phương hoặc với các tệp cư trú ở các trạm khác nhau trên mạng

2 CÁC ĐẶC ĐIỂM CSDL PHÂN TÁN SO VỚI CSDL TẬP TRUNG:

Để dễ xem xét đặc điểm của hệ CSDL phân tán ta xét chúng thông qua các đặc điểm của hệ CSDL tập trung:

• Điều khiển tập trung:

Trang 11

Điều khiển tập trung các nguồn tài nguyên thông tin của một hãng hoặc một

tổ chức được xem như động cơ thúc đẩy mạnh mẽ nhất của việc đưa vào sử dụng CSDL Chúng phát triển như sự tiến hoá của các hệ thông tin, trong đó mỗi ứng dụng có các tệp riêng của nó Chức năng cơ sở của người quản trị cơ sở dữ liệu là đạt được sự an toàn dữ liệu

Trong CSDL phân tán ý tưởng điều khiển tập trung phần nào đó ít được nhấn mạnh so với CSDL tập trung, điều này phụ thuộc vào kiến trúc của hệ thống

Nói chung, trong địa phương xác định một cấu trúc điều khiển phân cấp trên cơ sở người quản trị cơ sở dữ liệu tổng thể có trách nhiệm trung tâm của toàn

bộ CSDL, những người quản trị cơ sở dữ liệu địa phương có trách nhiệm với các CSDL địa phương của họ.Tuy nhiên, nhấn mạnh rằng người quản trị cơ sở dữ liệu địa phương có thể có một sự tự trị cao hơn tới mức là phối hợp giữa các trạm được thực hiện bởi chính người quản trị địa phương mà không cần tới người quản trị CSDL tổng thể Đặc điểm này được gọi là sự tự trị của các trạm Các CSDL phân tán có thể không giống nhau về mức độ tự trị: từ tự trị hoàn toàn không có người quản trị cơ sở dữ liệu tập trung nào, đến hầu như hoàn toàn điều khiển tập trung

• Tính độc lập dữ liệu

Độc lập dữ liệu có nghĩa là một tổ chức dữ liệu thực sự là trông suốt với người lập trình ứng dụng Các chương trình được viết có cách nhìn quan niệm về dữ liệu gọi là sơ đồ quan niệm.Thuận lợi chính của sự độc lập dữ liệu là các chương trình không ảnh hưởng khi có thay đổi trong tổ chức vật lý của dữ liệu

Trong CSDL phân tán sự độc lập dữ liệu có tầm quan trọng như trong CSDL truyền thống và bổ xung một hướng mới vào khái niệm độc lập dữ liệu là sự trông suốt trong phân tán

Tính trong suốt (transparency) của một hệ CSDL phân tán biểu thị sự tách biệt những ngữ nghĩa ở mức cao với những vấn đề thực hiện ở mức thấp Nói một cách khác, một hệ thống trong suốt dấu đi nhưng chi tiết thể hiện với người dùng

Trang 12

Thế lợi của một CSDL trong suốt hoàn toàn là mức hỗ trợ cao để phát triển những ứng dụng phức tạp Hiển nhiên là chúng ta muốn tạo ra những CSDL trong suốt hoàn toàn Sự trong suốt phân tán được hiểu: Các chương trình được viết như với CSDL không phân tán Như vậy sự đúng đắn của các chương trình không thay đổi khi dữ liệu từ trạm này sang trạm khác, mặc dù tốc độ thực hiện có thể bị ảnh hưởng

Độc lập dữ liệu được đáp ứng trong các CSDL tập trung quá kiến trúc nhiều mức có các mô tả dữ liệu khác nhau và các bản sao của chúng Xuất hiện các khái niệm: sơ đồ quan niệm, sơ đồ lưu trữ, sơ đồ ngoài

• Giảm sự dư thừa

Trong CSDL tập trung việc giảm dư thừa đã được giải quyết vì hai lý do: Thứ nhất các mâu thuẫn giữa các bản sao của cùng một dữ liệu được ngăn ngừa tự động bằng cách chỉ có một bản sao.Thứ hai, giảm không gian lưu trữ

Giảm dư thừa đạt được bằng cách dùng chung dữ liệu, tức là cho phép một vài ứng dụng cùng truy nhập đến một số tệp và bản ghi

Mặc dù vậy, trong CSDL phân tán có một số lý do để quan tâm đến sự giảm

dư thừa dữ liệu.Thứ nhất, tính địa phương của các ứng dụng có thể tăng lên nếu dữ liệu được sao lại ở tất các trạm mà ở đó các ứng dụng cần đến Thứ hai, tính sẵn dùng của hệ thống có thể tăng lên vì sai ở một trạm không làm dừng việc thực hiện các ứng dụng tại các trạm nếu dữ liệu được sao lại

Nhìn chung, những lý do hạ chế sự dư thừa vẫn có giá trị trong CSDL phân tán, do đó việc đánh giá mức dư thừa đòi hỏi sự cân nhắc phức tạp

Có thể nói rằng: sự thuận lợi của bản dữ liệu tăng theo tỷ số các truy nhập tìm kiếm trên các tuy nhập cập nhật được thực hiện bởi các ứng dụng tới nó Sở dĩ

có vấn đề trên là vì ta có nhiều bản sao của một cá thể dữ liệu thì việc tìm kiếm có thể thực hiện trên một bản sao bất kỳ trong khi việc cập nhật dữ liệu phải được thực hiện một cách nhất quán trên tất cả các bản sao

Trang 13

• Cấu trúc vật lý phức tạp và sự truy nhập hiệu quả:

Các cấu trúc truy nhập phức tạp, như các chỉ dẫn thứ cấp, các dây truyền giữa các tập là vấn đề quan trọng của CSDL truyền thống và thường do hệ quản trị CSDL đảm nhận Việc cung cấp các cấu trúc truy nhập phức tạp này làm tăng hiệu quả truy nhập dữ liệu

Trong CSDL phân tán các cấu trúc truy nhập phức tạp này không phải là công cụ thích hợp cho sự truy nhập hiệu quả Việc truy nhập hiệu quả các CSDL phân tán không thể được cung cấp bằng các cấu trúc vật lý bởi vì việc xây dựng và duy trì các cấu trúc như vậy đối với hệ phân tán là khó khăn và các ứng dụng thực hiện ở mức bản ghi trong CSDL phân tán là không phù hợp

Để truy nhập CSDL, có hai thủ tục cài đặt cho hệ phân tán:

 Thủ tục cho phép truy nhập bản ghi từ xa, mỗi truy nhập tới một bản ghi thì không chỉ bản ghi đó được truyền đi mà cả nhiều thông báo khác cũng phải được trao đổi

 Một thủ tục hiệu qủa hơn cho phép nhóm càng nhiều càng tốt tất cả các truy nhập được thực hiện tại cùng một trạm Thủ tục này gồm hai kiểu thao tác: thực hiện các chương trình cục bộ tại từng trạm và truyền các tệp giữa các trạm Thủ tục như vậy gọi là phương án truy nhập phân tán (Distributed Access Plan) Phương án truy nhập phân tán có thể được viết bởi người lập trình hay được sản sinh tự động bởi một bộ tối ưu hoá

• Tính toàn vẹn, phục hồi và điều khiển tương tranh

Trong các CSDL, các vấn đề về tính toàn vẹn, phục hồi và điều khiển tương tranh quan hệ rất chặt chẽ với nhau Giải pháp của các vấn đề này bao hàm việc cung cấp các giao tác Một giao tác là một đơn vị nguyên tố, nghĩa là một dãy các giao tác, hoặc được thực hiện hoàn toàn, hoặc không được thực hiện Rõ ràng các

Trang 14

giao tác nguyên tố là các phương tiện để đạt được tính toàn vẹn CSDL bởi vì chúng đảm bảo hoặc tất cả các thao tác biến đổi CSDL từ một trạng thái toàn vẹn này sang một trạng thái toàn vẹn khác, hoặc trạng thái ban đầu được giữ nguyên như cũ

Hai tác động ảnh hưởng tới tính nguyên tố của giao tác đó là hỏng hóc và tương tranh Hỏng hóc có thể làm hệ thống dừng giữa lúc thực hiện giao tác, do đó

vi phạm sự đòi hỏi của tính nguyên tố Sự tương tranh của nhiều thao tác có thể cho phép một giao tác quan sát một trạng thái chuyển tiếp không toàn vẹn tạo ra bởi một giao tác khác trong quá trình thực hiện nó

Sự phục hồi có liên quan tới vấn đề đảm bảo tính nguyên tố của giao tác khi

có hỏng hóc Trong CSDL phân tán đây là một khía cạnh quan trọng bởi vì một số trạm tham gia thực hiện giao tác có thể bị hỏng

Điều khiển tương tranh liên quan đến sự đảm bảo tính nguyên tố của giao tác khi có sự tương tranh của các giao tác Vấn đề này có thể xem như một vấn đề đồng bộ hoá điển hình Đối với CSDL phân tán vấn đề này khó hơn so với CSDL tập trung

• Tính riêng tư và an toàn

Trong CSDL tập trung do điều khiển tập trung nên có thể chắc chắn rằng mọi truy nhập dữ liệu đều được thực hiện Điều này CSDL tập trung tự đạt được không cần đến các thủ tục điều khiển đặc biệt nào

Trong CSDL phân tán, những người quản trị địa phương cũng phải xử lý bài toán như những người quản trị dữ liệu trong CSDL tập trung Mặc dù vậy, có hai đặc điểm đặc thù cho CSDL phân tán

 Thứ nhất trong CSDL phân tán với mức tự trị cao nhất, những người quản trị địa phương cảm thấy bảo vệ hơn, bởi vì nó có thể áp đặt các biện pháp bảo vệ của mình thay vì phụ thuộc vào người quản trị dữ liệu CSDL tập trung

 Thứ hai, vấn đề bảo mật là vấn đề cố hữu với hệ phân tán, bởi vì vấn đề bảo mật và an toàn cho mạng truyền thông là rất khó thực hiện

Trang 15

3 PHÂN LOẠI CSDL PHÂN TÁN:

Dựa vào kiến trúc, các hệ CSDL phân tán có thể phân làm hai loại[5]:

 Các hệ CSDL phân tán thuần nhất

 Các hệ CSDL phân tán không thuần nhất

Tính thuần nhất và không thuần nhất ở đây được xem xét dưới góc độ các

hệ CSDL cục bộ tại các trạm Với hệ CSDL phân tán thuần nhất thì các hệ CSDL cục bộ tại các trạm đồng nhất còn với hệ CSDL phân tán không thuần nhất thì các

hệ CSDL cục bộ tại các trạm có thể khác nhau

CSDL phân tán thuần nhất hơi giống với CSDL tập trung chỉ khác ở điểm

dữ liệu được phân tán tại một số trạm trên mạng Một CSDL phân tán thuần nhất

đơn giản có thể được biểu diễn như trong [hình 1] Hệ quản trị CSDL phân tán

thuần nhất bao gồm nhiều bộ sưu tập dữ liệu.Tùy mức tự trị, hệ số này có thể phân thành các loại tự trị và không tự trị

Trong mô hình này không có các người sử dụng cục bộ, các người sử dụng truy nhập các CSDL thông qua một giao diện tổng thể Lược đồ tổng thể là hợp của tất cả các mô tả dữ liệu cục bộ và các khung nhìn của người sử dụng được định nghĩa trên lược đồ tổng thể Trong hình 1 đã không xem xét đến các lược đồ cục bộ cho các CSDL cục bộ Nếu ta muốn đưa ra lược đồ quan niệm chuẩn cho CSDL phân tán theo kiểu ANSI – SPARC thì thêm vào các hệ CSDL cục bộ và các lược

đồ cục bộ Thực tế hầu hết các hệ thuần nhất không có các lược đồ cục bộ và chỉ có một phần mềm quản trị dữ liệu hạn chế ở mức cục bộ Kiến trúc 3 tầng ANSI – SPARC của các hệ quản trị CSDL tập trung thực hiện đang được dùng trong phần lớn các hệ quản trị CSDL thương mại

Trang 16

Mô hình CSDL tập trung ANSI – SPARC có thể phát triển cho mô hình CSDL phân tán thuần nhất như trong [hình 1]

Hình 1 Mô hình hệ CSDL phân tán thuần nhất đơn giản

Trang 17

Hình 2 : Kiến trúc hệ CSDL phân tán thuần nhất

View tổng thể 1

cho USER

View tổng thể n cho USER

Trang 18

Lược đồ phân đoạn giải quyết vấn đề phân chia các quan hệ tổng thể thành

các đoạn như thế nào để thực hiện các thao tác với CSDL được tốt nhất [Hình 3]

cho một ví dụ phân đoạn quan hệ R Quan hệ này được chia thành 5 đoạn tách biệt

và được lưu trữ tại các trạm khác nhau

Hình 3: Phân đoạn quan hệ tổng thể R

Quan hệ R có thể được tái thiết lại từ các đoạn như sau:

R = (A join B) union (C join D) union E

Trong đó join và union là các phép toán qua hệ thống thường Tất nhiên để

có được biểu thức trên thì trong quá trình phân đoạn cần phải tuân theo một số quy tắc nhất định Chẳng hạn, khi thực hiện phân đoạn dọc thì khoá chính của quan hệ R phải được đưa vào trong tất cả các đoạn

Các hệ CSDL phân tán không thuần nhất lại có thể phân ra làm hai lớp con chính tuỳ theo cách thức thích hợp các hệ CSDL cục bộ vào hệ thống:

 Tích hợp hoàn toàn vào hệ thống

 Cung cấp những “hook” đơn giản thường được gọi là cổng nối (Gateway) để thực hiện liên kết với các hệ thống bên ngoài

E

R

Trang 19

Hình 4 : Phân loại các hệ CSDL phân tán theo kiến trúc

Ta lại có thể tiếp tục chia các lớp con tuỳ theo kiến trúc hệ thống của chúng Hầu hết các nghiên cứu về CSDL phân tán cho đến nay hầu hết tập trung vào các hệ thuần nhất Tuy vậy, trong tương lai các hệ không thuần nhất sẽ được quan tâm thuộc lớp này Ở đây chúng ta sẽ tập trung chủ yếu vào các hệ CSDL phân tán thuần nhất

Sự phát triển của công nghệ CSDL, công nghệ máy tính và công nghệ truyền thông cho phép khắc phục các nhược điểm của các ứng dụng xử lý CSDL tập trung bằng việc xây dựng các hệ CSDL phân tán Mặc dù công nghệ phân tán mới chỉ phát triển trong khoảng 15 năm trở lại đây, nhưng những sản phẩm thế hệ đầu của hệ phân tán đã xuất hiện trên thị trường và từng bước chứng minh tính ưu việt của nó so với hệ tập trung truyền thống Theo dự đoán của Tamer Ozsu và Patrik Valduriez là chuyên gia trong lĩnh vực CSDL phân tán thì trong một tương lai không xa, CSDL phân tán sẽ thay thế CSDL tập trung Vấn đề thiết kế CSDL phân tán là công việc đầu tiên và rất quan trọng trong quá trình xây dựng một CSDL phân tán

Các Hệ CSDL Phân tán

Tích hợp theo hệ thống

Tích hợp theo cổng

nối

Trang 20

4 XU THẾ PHÁT TRIỂN CSDL PHÂN TÁN:

Trong những năm gần đây, CSDL phân tán đã trở thành một lĩnh vực quan trọng của công nghệ thông tin, tầm quan trọng của nó ngày một nâng cao theo sự phát triển của công nghệ thông tin Có nhiều nguyên nhân dẫn đến sự phát triển của các hệ CSDL phân tán Chúng ta có thể kể sau đây một số động cơ thúc đẩy sự phát triển:

• Vấn đề cơ cấu tổ chức và kinh tế

Nhiều tổ chức có cơ cấu tổ chức không tập trung Đối với các tổ chức này thì việc xây dựng một CSDL phân tán là phù hợp một cách tự nhiên với cấu trúc của tổ chức đó Cùng với sự phát triển của công nghệ máy tính, động cơ thúc đẩy về kinh tế, việc tổ chức các trung tâm máy tính lớn và tập trung trở thành vấn đề được đặc biệt quan tâm

• Xây dựng mối quan hệ giữa các CSDL đã tồn tại

Các CSDL phân tán là giải pháp tự nhiên khi một số các CSDL đã tồn tại trong tổ chức và xuất hiện sự cần thiết thực hiện các ứng dụng tổng thể Trong trường hợp các CSDL phân tán được xây dựng từ dưới lên từ các CSDL địa phương hiện có Quá trình này có thể đòi hỏi phải xây dựng lại cấu trúc địa phương Chi phí cho việc xây dựng lại cấu trúc này sẽ nhỏ hơn nhiều so với chi phí để tạo sinh ra một CSDL tập trung mới hoàn toàn

• Sự tăng trưởng

Trong qúa trình phát triển của mình, một tổ chức có thể thêm một số thành viên mới, khi đó CSDL phân tán cho phép ảnh hưởng tới mức thấp nhất đến sự va chạm liên quan đến các thành viên đã tồn tại Với CSDL tập trung điều này gây mở rộng hệ thống là việc khó dự đoán trước và chi phí cao hoặc gia tăng sự va chạm không chỉ với các ứng dụng mới mà cả với các ứng dụng đã tồn tại

Trang 21

• Giảm chi phí truyền thông:

Thực tế một số ứng dụng mang tính địa phương sẽ làm giảm chi phí truyền thông Do đó vấn đề cực đại hoá tính địa phương của các ứng dụng là một trong những các mục tiêu chính của việc thiết kế CSDL phân tán

• Hiệu quả công việc

Sự tồn tại một số bộ xử lý địa phương đạt được thông qua việc sử lý song song Vấn đề này có thể thích hợp với bất kỳ hệ đa xử lý nào chứ không chỉ với CSDL phân tán Mặc dù vậy CSDL phân tán có thuận lợi trong phân tích dữ liệu phản ánh điều kiện phụ thuộc của ứng dụng – cực đại hoá tính địa phương của ứng dụng; theo cách này tác động qua lại giữa các bộ xử lý được làm cực tiểu Công việc được phân chia giữa các bộ xử lý khác nhau, và tránh được những tắc nghẽn nguy hiểm trong mạng truyền thông hoặc các dịch vụ chung của toàn hệ thống Sự phân tán dữ liệu phản ánh hiệu quả làm tăng tính địa phương của các ứng dụng

• Độ tin cậy và tính sẵn dùng

Cách tiếp cận CSDL phân tán, đặc biệt với các dữ liệu dư thừa, cũng được

sử dụng để có độ tin cậy và sự sẵn dùng cao hơn Tuy nhiên, đạt được mục đích đó

là vấn đề không đơn giản và đòi hỏi sử dụng các kỹ thuật phức tạp

Những hỏng hóc trong CSDL phân tán có thể xảy ra nhiều hơn vì có số các thành phần cấu thành lớn hơn, nhưng ảnh hưởng của mỗi hỏng hóc đó chỉ giới hạn

ở những ứng dụng có dùng dữ liệu của trạm hư hỏng, còn sự hỏng hóc của toàn bộ

hệ thống là hiếm khi xảy ra

CSDL phân tán là sự tập hợp các dữ liệu thuộc cùng một hệ thống về mặt lôgic nhưng trải ra ở các trạm của mạng máy tính

Trang 22

CHƯƠNG 2 : CÁC KHÁI NIỆM PHÂN TÁN DỮ LIỆU

1 LÝ DO PHÂN ĐOẠN :

Từ quan điểm phân tán dữ liệu, thực sự không có lý do gì để phân đoạn dữ liệu Sau nữa trong các hệ thống tập tin phân tán, công việc phân tán được thực hiện dựa trên cơ sở toàn bộ các tập tin Thực sự là trước kia, việc này đã được giải quyết bằng việc cấp phát các tập tin cho các nút trên một mạng máy tính

Nhưng đối với kỹ thuật phân đoạn, điều quan trọng là có được một đơn vị phân tán thích hợp Một quan hệ không phải là một đơn vị đáp ứng được yêu cầu đó

vì nhiều lý do Trước tiên khung nhìn của các ứ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ệ nhưng chỉ là tập con của quan hệ Kết quả là xét tập con của quan hệ là đơn vị phân tán sẽ là điều thích hợp duy nhất

Thứ hai là nếu các ứng dụng có các khung nhìn được định nghĩa trên một quan hệ cho trước lại nhằm tại vị trí khác nhau thì có hai cách chọn lựa với đơn vị phân tán là toàn bộ quan hệ Thứ nhất quan hệ không được nhân bản mà được lưu ở một vị trí và thứ hai là quan hệ được nhân bản cho tất cả hoặc một số vị trí có chạy ứng dụng Nếu lựa chọn cách thứ nhất sẽ gây ra một số lượng lớn các truy xuất không cần thiết đến dữ liệu từ xa Ngược lại, nếu chọn cách thứ hai, có thể gây ra nhân bản không cần thiết, gây ra nhiều vấn đề khi cập nhật và có thể làm lãng phí nhiều không gian lưu trữ

Cuối cùng việc phân rã một quan hệ thành nhiều đoạn, một đoạn sẽ được xử

lý như một đơn vị, sẽ cho phép thực hiện nhiều giao dịch đồng thời Ngoài ra, việc phân đoạn các quan hệ sẽ cho phép thực hiện song song một câu truy vấn bằng cách chia cho thành một tập các câu truy vấn con hoạt tác trên các đoạn Vì thế việc phân đoạn sẽ làm tăng mức độ hoạt động đồng thời và như thế làm tăng lựu lượng hoạt

Trang 23

động của hệ thống Kiểu hoạt đồng thời này mà chúng ta gọi là đồng thời nội vấn tin

Để cho đầy đủ, chúng ta cũng sẽ chỉ rõ những khiếm khuyết của việc phân đoạn Nếu ứng dụng có những yêu cầu xung đột ngăn cản việc phân rã thành các đoạn được sử dụng độc quyền, những ứng dụng có các khung nhìn được định nghĩa trên trên nhiều đoạn sẽ được giảm hiệu xuất hoạt động Chẳng hạn, nó có thể cần phải truy xuất dữ liệu từ hai đoạn rồi nối hoặc hợp chúng lại với chi phí rất cao Tránh được điều này là một vấn đề cơ bản của kỹ thuật phân đoạn

Vấn đề thứ hai là liên quan đến vấn đề kiểm soát dữ liệu ngữ nghĩa, đặc biệt

là vấn đề kiểm tra tính toàn vẹn Do kết quả của phân đoạn, các thuộc tính tham gia vào một phụ thuộc có thể bị phân rã vào các mảnh khác nhau và được cấp phát cho

vị trí khác nhau Trong trường hợp này, một nhiệm vụ đơn giản như kiểm tra các phụ thuộc cũng phải thực hiện truy tìm dữ liệu ở nhiều vị trí

2 CÁC KIỂU PHÂN ĐOẠN:

Thể hiện của một quan hệ chính là các bảng, vì thế vấn đề là tìm cách khác nhau để chia một bảng thành nhiều bảng nhỏ Hiện tại, có hai phương pháp khác nhau:(1) chia bảng theo chiều dọc và (2) chia bảng theo chiều ngang Chia bảng theo chiều dọc, chúng ta được các quan hệ con mà mỗi quan hệ chứa một tập con các thuộc tính của quan hệ gốc, đó gọi là phân đoạn dọc Phân chia ngang, thì một quan hệ chúng ta được các quan hệ con mà mỗi quan hệ chứa một số bộ của quan hệ gốc, đó gọi là phân đoạn ngang

Ngoài hai phương pháp trên, còn có một phương pháp hỗn hợp, đó là phân đoạn kết hợp hai phương pháp trên Tất nhiên quá trình phân đoạn gắn liền với vấn

đề phân bố và bài toán cụ thể

Trang 24

Điều chúng ta cần là tìm ra được một mức độ phân đoạn thích hợp Một mức độ như thế chỉ được định nghĩa ứng với các ứng dụng sẽ chạy trên cơ sở dữ

liệu Vấn đề là sẽ thực hiện như thế nào ? Nói chúng, các ứng dụng cần được đặc trưng qua một số tham số Theo giá trị của các tham số này mà chúng ta có thể xác định được từng đoạn

4 CÁC QUY TẮC PHÂN ĐOẠN ĐÚNG ĐẮN:

Khi xem xét về quá trình chuẩn hóa, thường đề cập đến một số quy tắc để đảm bảo tính nhất quán của cơ sở dữ liệu Điều quan trọng ở đây là cần nhận ra được điểm giống nhau giữa việc phân đoạn dữ liệu trong trường hợp phân tán và việc chuẩn hóa các quan hệ Do vậy, chúng ta có thể định nghĩa các quy tắc phân đoạn, tương tự trong việc chuẩn hóa quan hệ

Chúng ta sẽ tuân thủ 3 quy tắc trong khi phân đoạn mà chúng đảm bảo rằng

cơ sở dữ liệu sẽ không thay đổi nào về ngữ nghĩa khi phân đoạn Đó là:

 Tính đầy đủ: Nếu thể hiện một quan hệ R được phân rã thành các đoạn R1,

R2, R3…Rn, thì mỗi mục dữ liệu có thể gặp trong R, hoặc cũng có thể gặp trong một hay nhiều trong đoạn Ri Đặc tính này giống như tính chất phân rã nối không mất trong chuẩn hóa Tính chất này rất quan trong trong phân rã bởi vì nó đảm bảo rằng dữ liệu trong quan hệ R được ánh xạ vào các đoạn và đảm bảo không mất mát thông tin

Trang 25

 Tính tái sử dụng: Nếu một quan hệ R được phân ra thành các mảnh R1, R2,

R3,…Rn, thì cần phải định nghĩa một toán tử quan hệ ∇ sao cho R= ∇Ri, ∀

Ri∈F Toán tử ∇ thay đổi theo từng loại phân đoạn Tuy nhiên điều quan trọng

là phải xác định được nó Khả năng tái thiết một quan hệ từ các đoạn của nó đảm bảo rằng các ràng buộc được định nghĩa trên dữ liệu dưới dạng các phụ thuộc sẽ được bảo toàn

 Tính tách biệt: Nếu quan hệ R được phân rã ngang thành các đoạn R1, R2,

R3,…Rn và mục dữ liệu di nằm trong đoạn Rj, thì nó sẽ không nằm trong đoạn

Rk nào khác(k≠j) Tiêu chuẩn này bảo đảm rằng các đoạn ngang sẽ tách biệt Nếu quan hệ được phân rã dọc, các thuộc tính khóa chính phải được lập lại trong mỗi đoạn Vì thế trong phân đoạn dọc, tính tách biệt chỉ được định nghĩa trên các trường hợp không phải là khóa chính của một quan hệ

5 CÁC KIỂU CẤP PHÁT:

Chúng ta giả sử rằng cơ sở dữ liệu đã được phân đoạn tích hợp và cần phải quyết định cấp phát các đoạn cho các vị trí trên mạng Khi dữ liệu được phát, nó có thể được nhân bản hoặc chỉ duy trì một bản duy nhất Lý do cần phải nhân bản là nằm đảm bảo được độ tin cậy và hiệu quả cho các câu truy vấn chỉ đọc Nếu có nhiều bản sao của một mục dữ liệu thì chúng ta vẫn có cơ hội truy xuất được dữ liệu

đó ngay cả khi hệ thống xảy ra sự cố Hơn nữa các câu truy vấn chỉ đọc truy xuất đến cùng một mục dữ liệu có thể cho thực hiện song song bởi vì các bản sao có mặt tại nhiều vị trí Ngược lại câu vấn tin cập nhật có thể gây ra nhiều rắc rối bởi vì hệ thống phải bảo đảm rằng tất cả các bản sao phải được cập nhật chính xác Vì vậy quyết định nhân bản cần phải được cân nhắc và phụ thuộc vào tỷ lệ giữa câu truy vấn chỉ đọc và câu truy vấn cập nhật Quyết định này hầu như đều có ảnh hưởng đến tất cả các thuật toán của hệ quản trị cơ sở dữ liệu(DBMS) phân tán và chức năng kiểm soát khác Sơ đồ mô tả các lựa chọn nhân bản:

Trang 26

Nhân bản hoàn toàn

Nhân bản một phân

Một cơ sở dữ liệu không nhân bản, thường gọi là cơ sở dữ liệu phân hoạch,

có chứa các mảnh được cấp phát cho các vị trí, trong đó chỉ tồn tại một bản sao duy nhất cho mỗi mảnh trên mạng Trong trường hợp nhân bản, hoặc toàn bộ cơ sở dữ liệu đều tại ở mỗi vị trí-cơ sở dữ liệu nhân bản hoàn toàn, hoặc các mảnh được phân tán đến các vị trí, trong đó một mảnh có thể có nhiều bản sao nằm tại nhiều vị trí-cơ

sở dữ liệu nhân bản một phần Trong trường hợp sau, số lượng các bản sao của một mảnh có thể là thông tin đầu vào cho thuật toán cấp phát, hoặc là một biến quyết định mà giá trị của nó được xác định bằng thuật toán này

Cùng mức độ khó khắn

Cùng mức độ khó khắn

Trang 27

PH Ầ N II: CÁC K Ỹ THU Ậ T PHÂN TÁN D Ữ

LI Ệ U

Khái niệm phân tán dữ liệu trong các hệ phân tán đã được các nhà khóa học đưa vào nghiên cứu nhằm mục đích để cải thiện hiệu năng của việc xử lý phân tán, đặc biệt trong việc xử lý thông tin tập trung Phân tán dữ liệu có thể được phân chia thành hai bước: (1) phân đoạn dữ liệu, và (2) phân bố dữ liệu Phân đoạn dữ liệu đôi lúc được gọi là nhóm dữ liệu Nó là một quá trình phân chia một CSDL thành nhiều đoạn nhỏ hơn Còn phân bố dữ liệu là một quá trình được thực thi sau quá trình phân đoạn dữ liệu, nó liên quan đến tìm kiếm cách thức tối ưu để phân phối các đoạn cho các trạm thỏa mãn với các yêu cầu:

• Thời gian đáp ứng

• Sự lưu trữ

• Các ràng buộc xử lý

Các kỹ thuật phân tán dữ liệu có thể được áp dụng trong nhiều lĩnh vực tại

đó mối liên hệ giữa dữ liệu và vấn tin có ảnh hưởng đến hiệu năng Các lĩnh vực này bao gồm: Phân đoạn các tệp trong môi trường tập trung, phân tán dữ liệu trong các CSDL phân tán,… Phân đoạn dữ liệu có thể được phân chia thành hai nhóm :

phân đoạn dọc và phân đoạn ngang[Ozsu and Valduriez] Phân đoạn dọc là kiểu

phân đoạn gộp các thuộc tính dữ liệu thành các nhóm, trong các nhóm này được tạo

ra từ một số thuộc tính Còn phân đoạn ngang là phân đoạn trong đó các bản ghi của quan hệ sẽ được tổ chức thành các nhóm

Trang 28

CHƯƠNG 3: KỸ THUẬT PHÂN ĐOẠN:

Trong phần này, chúng ta sẽ thảo luận đến nhiều chiến lược và các thuật toán phân đoạn Như chúng ta đã đề cập trước kia, có hai chiến lược phân đoạn cơ bản: (1) phân đoạn ngang-Horizontal Fragmentation, (2) phân đoạn dọc-Vertical Fragmentattion[1].

3.1 PHÂN ĐOẠN NGANG:

Như chúng ta đã nêu ở chương 2 trong luận văn này, phân đoạn ngang chia một quan hệ theo các bộ Vì vậy, mỗi đoạn là một tập con của quan hệ Có hai loại phân đoạn ngang:

 (1) Phân đoạn ngang nguyên thủy-Primary Horizontal Fragmentation: Của

một quan hệ được thực hiện dựa trên các vị từ được định nghĩa trên quan hệ[1]

 (2) Phân đoạn ngang dẫn xuất-Derived Horizontal Fragmentation: Là phân rã

một quan hệ dựa trên các vị từ được định nghĩa trên một quan hệ khác[1]

Chương 3 này, chúng ta sẽ xem xét một thuật toán để thực hiện cả hai kiểu phân đoạn Tuy nhiên, trước tiên chúng ta phải thu thập thông tin cần thiết để thực

hiện phân đoạn ngang

Đối với phân đoạn ngang, yêu cầu thông tin quan trọng nhất bao gồm: (1) thông tin về cơ sở dữ liệu và (2) thông tin về ứng dụng

3.1.1.1: THÔNG TIN VỀ CƠ SỞ DỮ LIỆU :

Thông tin về cơ sở dữ liệu muốn nói đến lược đồ khái niệm toàn cục Trong ngữ cảnh này, chúng ta cần biết được các quan hệ sẽ kết lại với nhau như thế nào đặc biệt bằng phép nối Trong mô hình quan hệ, các mối liên hệ này cũng được biểu thị bằng các quan hệ Tuy nhiên, trong những mô hình khác như mô hình thực thể

Trang 29

liên kết, các mối liên hệ được biểu thị tường minh Với mục đích thiết kế phân tán, các mối liên hệ cũng được mô hình hóa trong bộ khung quan hệ Theo cách này, chúng ta sẽ vẽ các đường nối có hướng giữa các quan hệ có liên hệ với nhau qua một nối bằng

Ví dụ: Một cơ sở dữ liệu gồm có các quan hệ: PAY, EMP, PROJ, và ASG

Mối liên hệ giữa các quan hệ này được biểu diễn bởi các đường nối Trong đó hướng của các đường nối cho biết mối liên hệ một-nhiều Chẳng hạn, với mỗi chức vụ-Title có nhiều nhân viên giữ chức vụ đó Vì thế, chúng ta vẽ một đường nối giữa các quan hệ PAY và EMP Đồng thời mối liên hệ nhiều-nhiều giữa EMP và PROJ được biểu diễn bằng hai đường nối đến quan hệ ASG

Đường nối giữa các đối tượng cơ sở dữ liệu, trường hợp này là các quan hệ, được biểu diễn dưới dạng đồ thị nối Quan hệ nằm tại đuôi của đường nối được gọi

là chủ nhân-owner của đường nối và quan hệ tại đầu đường nối gọi là thành member của đường nối Một số thuật ngữ được sử dụng thông dụng trong mô hình mạng là quan hệ nguồn cho chủ nhân và quan hệ đích cho thành viên Chúng ta sẽ định nghĩa hai hàm:owner, member, chúng là các ánh xạ từ tập các đường nối đến các tập quan hệ Khi cho trước một đường nối, chúng sẽ trả về quan hệ thành viên hoặc quan hệ chủ nhân của đường nối

Trang 30

EMP:

Trang 31

Hình 7 : Biểu diễn mối liên hệ giữa các quan hệ nhờ các đường nối

3.1.1.2 THÔNG TIN ỨNG DỤNG:

Trong quá trình phân đoạn, ngoài yêu cầu thông tin về cơ sở dữ liệu, thông tin về ứng dụng cũng là yêu cầu không thể thiếu Thông tin về ứng dụng gồm hai

loại: thông tin định tính và thông tin định lượng[2] Thông tin định tính hướng dẫn

cho hoạt động phân đoạn, còn thông tin định lượng chủ yếu được sử dụng trong mô

hình cấp phát[2]

Những thông tin định tính cơ bản gồm có các vị từ được sử dụng trong các câu truy vấn Nếu không thể phân tích được hết tất cả các ứng dụng để xác định những vị từ này thì ít nhất cũng phải nghiên cứu được các ứng dụng quan trọng nhất

Cho đến này, chúng ta đang tìm cách xác định các vị từ đơn giản Cho quan

hệ R(A1, A2, …An), trong đó Ai là một thuộc tính được định nghĩa trên một miền biến thiên Di, một vị từ đơn giản pjđược định nghĩa trên R có dạng:

Pj:AiƟ value, trong đó Ɵ∈{=, <, ≠, ≤, >, ≥},

TITLE, SAL

ENO, ENAME, TITLE

ENO, PNO, RESP, DUR

PNO, PNAME, BUDGET, LOC

Trang 32

và value được chọn là miền biến thiên của Ai-Value∈Di Chúng ta ký hiệu

Pri để biểu thị tập tất cả các vị từ đơn giản được định nghĩa trên quan hệ Ri Các phần tử của Priký hiẹu là Pij

Ví dụ: Cho quan hệ PROJ như trong hình 6 :

• PNAME=”Camshin Phase 9”

• BUDGET ≤ 2000 : là các vị từ đơn giản

Mặc dù các vị từ đơn giản rất dễ xử lý, các câu truy vấn rất thường chứa nhiều vị từ phức tạp, là tổ hợp các vị từ đơn giản Một tổ hợp cần đặc biệt chú ý, được gọi là vị từ hội sơ cấp, gọi là hội của các vị từ đơn giản Bởi vì chúng ta luôn

có thể biến đổi một biểu thức boolean thành dạng chuẩn hội, việc sử dụng vị từ hội

sơ cấp trong một thuật toán thiết kết không làm mất đi tính tổng quát [1,page 121]

Cho một tập Pri={Pi1, Pi2, Pi3,…Pin} 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, mi3,…miz} được định nghĩa là :

Mi={mij| mij=Λ p*ik, pik∈Pri} với 1≤k≤n, 1≤j≤z,

Trong đó p*ik=pikhoặc p*ik= ¬pik

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

Một điểm quan trọng cần chú ý ở đây: tham chiếu đến phủ định của vị từ sẽ

có nghĩa đối với các vị từ đẳng thức dạng:

Attribute= Value

Đối với vị từ bất đẳng thức, phủ định được xử lý như phần bù, chẳng hạn, phủ định của vị từ đơn giản

Attribute≤ Value sẽ là Attribute > Value

Ngoài các vấn đề lý thuyết của phép lấy phần bù trong các tập vô hạn cũng còn có một vấn đề liên quan đến thực hành, đó là phần bù có thể rất khó định nghĩa

Trang 33

Ví dụ : nếu hai vị từ đơn giản :

Với phần bù của nó :¬( Cận_dưới≤Attribute_1≤Cận_trên)

Không dễ gì định nghĩa được Vì vậy, nghiên cứu trong lĩnh vực này vẫn chỉ xem xét các vị từ đẳng thức đơn giản

Ví dụ : Chúng ta xem quan hệ PAY Dưới đây là các vị từ đơn giản có thể

định nghĩa được trên PAY :

• m1: TITLE=’ Lập trình viên’ Λ SAL≤ 30000

• m2 : TITLE= ‘Lập trình viên’ Λ SAL > 30000

• m3 : ¬( TITLE= ‘Lập trình viên’) Λ SAL≤ 30000

• m4: ¬( TITLE= ‘Lập trình viên’) Λ SAL > 30000

• m5: TITLE = ‘Kỹ sư hệ thống’ Λ SAL≤ 30000

• m6: TITLE = ‘Kỹ sư hệ thống’ Λ SAL > 30000

Trang 34

Ở đây có 2 điểm chúng ta cần chú ý: (1) không phải tất cả các vị từ hội sơ cấp đều có thể định nghĩa được, thay vào đó chúng ta chỉ trình bày một mẫu đại diện (2) một số trong chúng có thể vô nghĩa đối với ngữ nghĩa của quan hệ PAY

Theo những thông tin định tính về các ứng dụng, chúng ta cần biết hai tập

sơ cấp có thể được định nghĩa từ tần số truy vấn và ký hiệu là acc(mi)

Chúng ta phân chia phân đoạn ngang thành hai loại:

 (1)Phân đoạn ngang nguyên thủy, và

 (2)Phân đoạn ngang dẫn xuất

3.1.2.1 PHÂN ĐOẠN NGANG NGUYÊN THỦY:

Trước khi trình bày thuật toán hình thức cho kỹ thuật phân đoạn ngang, chúng ta cần thảo luận một cách trực quan về quá trình phân đoạn cho cả phân đoạn ngang nguyên thủy và phân đoạn ngang dẫn xuất Phân đoạn 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ủ nhân của một lược

đồ cơ sở dữ liệu Cho quan hệ R, thì các đoạn ngang của Ri là:

R i = σ Fi (R), 1≤i≤z

Trang 35

Trong đó Fi là công thức chọn được sử dụng để có được đoạn Ri Chú ý rằng nếu Ficó dạng chuẩn hội, nó là một vị từ hội sơ cấp (mi) Thực sự thuật toán

mà chúng ta sẽ thảo luận khẳng định rằng Filà một vị từ hội sơ cấp

Ví dụ:

Phân rã quan hệ PROJ thành các đoạn ngang PROJ1 và PROJ2 như sau:

 PROJ1= σ BUDGET≤300000(PROJ)

 PROJ2= σ BUDGET>300000(PROJ)

Chỉ ra một trong các vấn đề gặp phải khi phân hoạch ngang Nếu miền biến thiên của thuộc tính có mặt trong công thức chọn là liên tục và vô hạn, chúng ta rất khó định nghĩa tập các công thức F={F1, F2, F3,…Fn} thích hợp cho phân đoạn quan

hệ Một phương án là định nghĩa các khoảng như đã nêu ở trên Tuy nhiên, chúng

ta luôn phải xử lý các vấn đề ở hai đầu Chẳng hạn, nếu một bộ mới với giá trị BUDGET là 500000 được chén vào PROJ, thì chúng ta cần phải xem lại việc phân đoạn để quyết định xem bộ mới sẽ được đặt vào PROJ2 hoặc các đoạn cần phải sửa lại và đoạn mới này cần phải định nghĩa là:

 PROJ2 = σ 300000<BUDGET≤350000(PROJ)

 PROJ3 = σ BUDGET>350000(PROJ)

Vấn đề này rõ ràng có thể được giải quyết trong thực tế bằng cách hạn chế miền biến thiên của các thuộc tính theo yêu cầu của ứng dụng

Ví dụ: Xét quan hệ PROJ, thì chúng ta có thể định nghĩa các đoạn ngang

dưới đây dựa vào vị trí dự án:

 PROJ1 = σ LOC=”Hà nội”(PROJ)

 PROJ2 = σ LOC=”Hồ Chí Minh”(PROJ)

 PROJ3 = σ LOC=”Đà nẵng”(PROJ)

Trang 36

Bây giờ chúng ta có thể định nghĩa một đoạn ngang chặt chẽ hơn Một đoạn ngang Ricủa quan hệ R có chứa tất cả các bộ R thỏa vị từ hội sơ cấp mi Vì vậy, cho một tập các vị từ hội sơ cấp M, số lượng các ngang cũng bằng số lượng các vị

từ hội sơ cấp Tập các đoạn ngang này cũng thường được gọi là tập các đoạn hội sơ cấp-minterm fragement

Theo như thảo luận trước, thì rõ ràng việc định nghĩa các đoạn ngang phụ thuộc vào các vị từ hội sơ cấp Vì thế bước đầu tiên của mọi thuật toán phân đoạn

là xác định tập các vị từ đơn giản sẽ tạo ra các vị từ hội sơ cấp

Một đặc tính quan trọng của các vị từ đơn giản là tính đầy đủ-completeness Một đặc tính khác là tính tiểu cực Tập các vị từ đơn giả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 đoạn

hội sơ cấp nào đó được định nghĩa theo Pr đều bằng nhau[2]

Ví d ụ:

Chúng ta xem xét sự phân đoạn quan hệ PROJ Nếu ứng dụng duy nhất truy xuất PROJ muốn truy xuất các bộ theo vị trí, tập vị từ này là đầy đủ bởi vì mỗi bộ của mỗi đoạn PROJiđều có xác suất truy cập như nhau Tuy nhiên nếu có ứng dụng thứ 2 chỉ truy xuất các bộ dự án có ngân sách trên 300000$ thì Pr không đầy đủ Một số bộ trong mỗi đoạn PROJi có xác suất được truy xuất cao hơn do ứng dụng thứ 2 này Để cho tập vị từ đầy đủ, chúng ta cần phải thêm các vị từ (BUDGET≤

Trang 37

Chúng ta cũng có thể định nghĩa tính đầy đủ một cách hình thức để có thể thu được tập các vị từ đầy đủ một cách tự động Tuy nhiên, điều này đòi hỏi người thiết kế phải xác định xác suất truy xuất cho mỗi bộ của một quan hệ đối với mỗi ứng dụng đang được xem xét, và như thế tốn nhiều công sức hơn so với việc sử dụng kinh nghiệm của người thiết kế để tìm ra một tập đầy đủ Tiếp theo, xin phép trình bày một phương pháp tự động có hệ thống để thu được tập này

Đặc tính mà chúng ta mong đợi của tập các vị từ hội sơ cấp, đó là tính tiểu cực Nó chỉ khẳng định rằng: nếu một vị từ ảnh hưởng đến cách thực hiện phân đoạn, nghĩa là làm cho đoạn f bị phân chia nhỏ hơn thành fi và fj, thì phải có ít nhất một ứng dụng truy xuất đến fi và fj theo những cách khác nhau Nói cách khác, vị từ đơn giản phải có liên đới trong việc xác định một phân đoạn Nếu tất cả các vị từ của tập Pr đều có liên đới thì Pr là Cực tiểu

Gọi mi và mj là hai vị từ hội sơ cấp đồng nhất về định nghĩa, ngoại trừ mi

chứa các vị từ đơn giản pi ở dạng tự nhiên, còn mj chứa pi ở dạng phủ định ¬pi Cũng gọi fi và fj là hai đoạn tương ứng được định nghĩa theo mi và mj Thế thì pi là

có liên đới nếu và chỉ nếu:

)(

)(

fi card

mi acc

)(

)(

fj card

mj acc

Ví dụ:

Một tập các vị từ Pr :{LOC=”Hà nội”, LOC=”Hồ Chí Minh”, LOC=”Đà nẵng”, BUDGET≤ 300000, BUDGET > 300000} là đầy đủ và cực tiểu Tuy nhiên, nếu ta thêm vị từ: PNAME = “Viễn thông” vào tập Pr, thì tập này không còn cực tiểu nữa vì vị từ vừa thêm vào này không có liên đới ứng với Pr, không có ứng dụng nào truy xuất khác nhau đến các đoạn được tạo ra

Trang 38

3.1.2.1 THUẬT TOÁN COM-MIN:

Mục đích của thuật toán là sinh ra một tập đầy đủ và cực tiểu các vị từ Pr’ khi cho trước một tập các vị từ đơn giản Pr Để tránh phải giải thích dài dòng, chúng ta sẽ thừa nhận các quy tắc và ký hiệu sau:

Quy tắc 1: quy tắc cơ bản về tính đầy đủ và cực tiểu, nó khẳng định rằng một quan hệ hoặc một đoạn được phân hoạch thành ít nhất 2 phần và chúng được

truy xuất khác nhau bởi ít nhất một ứng dụng[1, chapter 5]

Ficủa Pr’ : đoạn fi được định nghĩa theo một vị từ hội sơ cấp trên các vị từ Pr’

Đầu vào:

R là quan hệ

Prlà tập các vị từ đơn giản

Đầu ra : Pr’ tập các vị từ đơn giản

Khai báo : F là tập các đoạn hội sơ cấp

Trang 39

Thuật toán bắt đầu bằng cách tìm một vị từ có liên đới và phân hoạch quan

hệ đã cho Vòng lặp do-until thêm các vị từ 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’ là đầy đủ và cực tiểu

Bước thứ 2 trong quá trình thiết kế phân đoạn ngang nguyên thủy là suy dẫn

ra tập các vị từ hội sơ cấp có thể được định nghĩa trên các vị từ trong tập Pr’ Các vị

từ hội sơ cấp này xác định các đoạn ưu tiên nhất cho bước cấp phát Việc xác định các vị từ hội sơ cấp là tầm thường, khó khắn chính là tập các tập các vị từ hội sơ cấp

có thể rất lớn Bước kế tiếp chúng ta sẽ tìm cách làm giảm số lượng vị từ hội sơ cấp cần được định nghĩa trong quá trình phân đoạn

Bước thứ 3 của quá trình thiết kế là loại bỏ một số đoạn vô nghĩa Điều này được thực hiện bằng cách xác định những vị từ mâu thuẫn với tập các phép kéo theo Chẳng hạn, nếu cho Pr’ = {p1, p2}, trong đó:

p1 : att = value_1

p2 : att = value_2

và miền biến thiên của att là {value_1, valua_2} rõ ràng I chứa 2 phép kéo theo với khẳng định:

i1: (att = value_1) ⇒¬(att=value_2)

i2: ¬(att = value_1) ⇒(att=value_2)

4 vị từ hội sơ cấp sau đây được định nghĩa theo Pr’:

m1: (att = value_1)∧ (att = value_2)

m2: (att = value_1)∧¬(att=value_2)

m3: ¬(att = value_1)∧ (att = value_2)

m4: ¬(att = value_1) ∧ ¬(att=value_2)

Trong trường hợp này các vị từ hội sơ cấp m1, m4 mâu thuẫn với các phép kéo theo I và vì thế bị loại khỏi M

Trang 40

3.1.2.1 THUẬT TOÁN PHORIZONTAL:

Mục đích của thuật toán để sản sinh một tập các vị từ hội sơ cấp khi cho trước một quan hệ R và một tập các vị từ đơn giản

Xét một lược đồ CSDL trong [hình 7] Chúng ta chỉ thực hiện phân đoạn

ngang nguyên thủy trên 2 quan hệ: (1) PAY, và (2) PROJ

Giả sử rằng chỉ một ứng dụng truy xuất PAY Ứng dụng này kiểm tra thông tin lương và xác định số lương sẽ tăng Giả sử rằng các mẫu thông tin nhân viên được quản lý ở hai nơi, (1) một nơi xử lý các mẫu thông tin thấp hơn hay bằng 300$

và (2) nơi khác xử lý các mẫu thông tin của những nhân viên có lương cao hơn 300$ Vậy, câu truy vấn sẽ được đưa ra ở 2 nơi

Tập vị từ đơn giản được sử dụng để phân hoạch quan hệ PAY là:

 pi : SAL ≤ 300

 pi : SAL > 300

Ngày đăng: 23/02/2021, 15:21

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w