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

THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN

35 813 1

Đ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 35
Dung lượng 188,82 KB

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

Nội dung

Như vậy, chúng ta có thể định nghĩa một cơ sở dữ liệu phân tán là một tập hợpnhiều cơ sở dữ liệu có liên đới logic và được phân bố trên một mạng máy tính.. • Liên đới logic: dữ liệu có m

Trang 1

LỜI MỞ ĐẦU

Trong thời đại ngày nay, tin học là nhu cầu không thể thiếu đối với mọingười trên mọi lĩnh vực Trước đây, khi còn làm việc trên từng máy đơn thì việclưu trữ dữ liệu ngay tại nơi làm việc là một điều dễ hiểu Tuy nhiên, gần đây do sựphát triển nhanh chóng của công nghệ truyền tin, sự lan rộng mạnh mẽ củaInternet, cùng với xu thế toàn cầu hóa trong mọi lĩnh vực, đặc biệt là lĩnh vựcthương mại thì việc lưu trữ dữ liệu tại một máy đơn theo kiểu truyền thống đã lạchậu, bộc lộ nhiều nhược điểm Vì thế, cơ sở dữ liệu phân tán đã thu hút nhiều sựquan tâm của các nhà nghiên cứu trong lĩnh vực công nghệ thông tin

Chính vì lý do trên nên sau khi học xong môn cơ sở dữ liệu nâng cao, em đãchọn đề tài “Xây dựng chương trình tự động phân mảnh dọc trong cơ sở dữ liệuphân tán” Trong phạm vi bài thu hoạch này em xin trình bày tóm tắt những kiếnthức đã học được về cơ sở dữ liệu phân tán và viết một chương trình tự động phânmảnh dọc trong cơ sở dữ liệu phân tán bằng ngôn ngữ C#

Qua đây, em xin chân thành cảm ơn PGS.TS Đỗ Phúc đã tận tình hướngdẫn em môn học bổ ích và đầy ý nghĩa này Em xin cảm ơn các bạn cùng khoá vàcác anh chị khoá trước đã giúp đỡ em tìm tài liệu và góp ý cho em hoàn thành tốtbài thu hoạch này!

Trang 2

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

Trang 3

MỤC LỤC

Trang 4

NỘI DUNG

CHƯƠNG I: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN

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

Xét về mặt logic, cơ sở dữ liệu phân tán là một cơ sở dữ liệu phục vụ cho mộtmục tiêu xác định trong thế giới thực Tuy nhiên, cơ sở dữ liệu này lại được lưu trữtại nhiều vị trí khác nhau, cho nên tên của cơ sở dữ liệu này trên các vị trí vật lý sẽkhác nhau

Ngoài ra, đối tượng khai thác của cơ sở dữ liệu phân tán sẽ nhiều hơn, rộnghơn và có nhiều địa điểm truy xuất hơn

Như vậy, chúng ta có thể định nghĩa một cơ sở dữ liệu phân tán là một tập hợpnhiều cơ sở dữ liệu có liên đới logic và được phân bố trên một mạng máy tính

• Liên đới logic: dữ liệu có một số thuộc tính ràng buộc với nhau, điều này phân biệt

cơ sở dữ liệu phân tán với một tập hợp cơ sở dữ liệu cục bộ hay các tập tin cư trútại các vị trí khác nhau trong một mạng máy tính

• Phân tán: dữ liệu không cư trú trên một vị trí, điều này phân biệt giữa cơ sở dữ liệuphân tán với một cơ sở dữ liệu tập trung, đơn lẻ

I.2. Mô hình về cơ sở dữ liệu phân tán

Mô hình 1(mức thấp): có nhiều máy chủ, các mày này nối với nhau thông quamạn LAN, mỗi máy chủ có một trạm làm việc

Trang 5

WS1

WS3 WS2

Trang 6

I.3. Đặt trưng của hệ cơ sở dữ liệu phân tán

Hệ quản trị cơ sở dữ liệu tập

trung Hệ quản trị cơ sở dữ liệu phân tán

4 Tính hiệu quả khi truy xuất

dữ liệu Luôn có module tối

ưu hoá câu truy vấn

5 Toàn vẹn dữ liệu, an toàn dữ

liệu, phục hồi dữ liệu sau sự

cố

1 - Kiểm soát dữ liệu tập trung

- Ở mỗi vị trí có một quyền tự chủnhất định về dung lượng cục bộ

2 - Độc lập giữa dung lượng vàchương trình cục bộ

- Tính trong suốt trong cơ sở dữliệu phân tán

3 Vẫn có quyền đưa trùng lắp thôngtin vào nhưng hệ thống phải xácđịnh gốc của dữ liệu là ở đâu

4 - Cục bộ: tối ưu hoá toàn vẹn cụcbộ

- Phân tán: khi lấy dữ liệu phântán vẫn phải đảm bảo tính hiệuquả (lấy nhanh nhất)

5 Phải bảo đảm

6 Phải bảo đảm

Trang 7

truy xuất.

I.4. Ưu điểm của cơ sở dữ liệu phân tán

Ưu điểm chính là cho phép chia sẻ thông tin, tài nguyên trong một phạm virộng lớn, giúp cho người thiết kế hệ thống xác định vị trí tối ưu nhất cho việc sắpxếp dữ liệu và xử lý trên hệ thống

Nâng cao tính linh hoạt, mềm dẻo: Các máy tính và dữ liệu được đặt ở những

vị trí sao cho việc khai thác chúng đạt hiệu quả nhất

Tính tự quản và giảm cạnh tranh: Thể hiện thông qua việc phân công hoạtđộng cho các bộ phận, trao vùng nghiệp vụ tự chủ cho từng vị trí cục bộ

Nâng cao mức độ tin cậy: Trong hệ tập trung, khi phần cứng hay phần mềm bịlỗi sẽ làm cho toàn bộ hệ thống ngừng hoạt động Đối với hệ phân tán, những hưhỏng chỉ ảnh hưởng một nhóm nhỏ, do đó khi hư hỏng ở một nhóm nào đó thì chỉ

có một mình nhóm đó ngừng hoạt động,các nhóm khác vẫn hoạt động bình thường.Nâng cao tốc độ và khả năng thi hành: Trong hệ tâp trung, do khối lượng dữliệu lớn, tốc độ thi hành chậm Đối với hệ phân tán, do dữ liệu phân thành các côngviệc riêng trên từng server, vì vậy tốc độ xử lý dữ liệu sẽ nhanh hơn Ngoài ra, các

dữ liệu được lưu trữ ngay tại các vị trí thường xuyên truy cập chúng nhất, do đó sẽgiảm dòng dữ liệu phải trao đổi trên đường truyền Từ đó, cải thiện đáng kể thờigian trả lời cho mỗi yêu cầu ứng dụng từ người dùng

Khả năng mau phục hồi: việc truy xuất dữ liệu không phụ thuộc vào một máyhay một đường nối trên mạng Nếu có bất kỳ một lỗi nào thì sau đó vài cơ sở dữliệu có thể được truy xuất trên các vị trí địa phương, hơn nữa một đường nối này

có thể được thay thế bởi một đường nối khác không có lỗi

Trang 8

Dễ dàng trong mở rộng: việc phát triển qui mô hoạt động của đơn vị có thểđạt được một cách dễ dàng bằng cách thêm vào nhiều bộ xử lý trong mạng, thêm

cơ sở dữ liệu vào một nút tại một vị trí trong mạng, hoặc có thể cập nhật phần mềmhoàn toàn độc lập với cấu trúc vật lý bên dưới

I.5. Nhược điểm của cơ sở dữ liệu phân tán

Khó quản lý và an toàn: Trong hệ tập trung, chỉ cần một quyền để bảo đảm antoàn cho mạng Trong hệ phân tán, việc quản lý rất tốn kém vì dữ liệu ở những nơikhác nhau cần các quyền khác nhau

Độ tin cậy và tính hiệu lực sử dụng thấp: Đã từ lâu hệ tập trung đã được sửdụng lâu dài, cho nên có độ tin cậy cao hơn so với hệ phân tán

Thiếu đội ngũ triển khai và hỗ trợ kỹ thuật: Trong hệ tập trung, các nhà cungcấp công cụ, phần mềm và các hỗ trợ kỹ thuật tích hợp trong một gói Hệ phân tánvới nhiều nhà cung cấp khác nhau, để kết hợp lại cần chuyên gia tích hợp Giảiquyết vấn đề này gặp nhiều khó khăn, tốn kém

Kinh tế vì các hệ phân tán bao giờ cũng phức tạp hơn so với các hệ tập trung,nên giá cả thường cũng cao hơn, bao gồm cả phần mềm lẫn phần cứng

Trang 9

CHƯƠNG II: THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN

II.1. Mục đích của thiết kế cơ sở dữ liệu phân tán

Việc thiết kế cơ sở dữ liệu phân tán ngoài việc thiết kế hệ thống mạng máytính mà hệ cơ sở dữ liệu phân tán sẽ chạy trên chúng, còn phải quyết định xem dữliệu và chương trình sẽ được đặt tại những vị trí nào trong mạng máy tính này.Trong trường hợp hệ thống mạng máy tính đã có sẵn, thì việc thiết kế cơ sở dữliệu phân tán có hai điều chính là:

• Phân tán hệ quản trị cơ sở dữ liệu trên các nút trong mạng máy tính

• Phân tán các chương trình ứng dụng chạy trên các hệ quản trị đó

II.2. Các chiến lược thiết kế cơ sở dữ liệu phân tán

II.2.1 Quá trình thiết kế từ trên xuống

Top – down: là phương pháp thiết kế từ trên xuống và được chia ra làm nhiềugiai đoạn, mỗi giai đoạn đều có nhiệm vụ riêng, giai đoạn này nối tiếp giai đoạnkia, đầu ra của giai đoạn này là đầu vào của giai đoạn kế tiếp

Bao gồm các bước sau:

- Phân tích yêu cầu: thu thập yêu cầu về dữ liệu và xử lý của tất cả mọingười có sử dụng CSDL

- Thiết kế khung nhìn: có nhiệm vụ định nghĩa giao diện cho người dùngcuối

- Thiết kế khái niệm: là quá trình xem xét tổng thể nơi cần cài đặt CSDL

- Thiết kế phân tán: thiết kế các lược đồ khái niệm cục bộ bằng cách phântán các thực thể cho các vị trí của hệ thống phân tán

- Thiết kế vật lý: ánh xạ các lược đồ khái niệm cục bộ sang các thiết bịlưu trữ tương ứng

Trang 10

Phân tích yêu cầu

Yêu cầu hệ thống

Thiết kế khái niệm Thiết kế khung nhìn

Khái niệm toàn cục Thông tin truy xuất ĐN lược đồ ngoài

Trang 11

II.2.2 Quá trình thiết kế từ dưới lên

Thiết kế từ trên xuống thích hợp với những CSDL thiết kế từ đầu Tuy nhiêntrong thực tế, chúng ta hay gặp những CSDL đã có sẵn, và nhiệm vụ thiết kế làphải tích hợp chúng thành một CSDL Thiết kế từ dưới lên sẽ thích hợp cho tìnhhuống này Khởi điểm của thiết kế từ dưới lên là các khái niệm lược đồ cục bộ.Quá trình này sẽ bao gồm việc tích hợp các lược đồ cục bộ thành lược đồ kháiniệm toàn cục

II.3. Tính đúng đắn của phân mảnh

Tính đầy đủ (completeness): Cho quan hệ r bất kỳ Giả sử r được phân rãthành các mảnh Khi đó tính đầy đủ yêu cầu mỗi mục dữ liệu trong r cũng phảiđược lưu trữ trong 1 hoặc vài mảnh nào đó

Tính tái tạo (reconstruction): Cho quan hệ r bất kỳ Giả sử r được phân rãthành các mảnh r1 , , rn Khi đó tính đầy đủ yêu cầu “hợp” các phân mảnh củaquan hệ r trả lại đầy đủ dữ liệu ban đầu của quan hệ r Khái niệm “hợp” ở đây làtoán tử quan hệ ∆ sao cho r = ∆ ri ∀ri Toán tử ∆ thay đổi tuỳ theo từng loạiphân mảnh Khả năng tái thiết một quan hệ từ các mảnh của nó đảm bảo rằng cácràng buộc định nghĩa theo phụ thuộc dữ liệu sẽ được bảo toàn

Tính rời nhau (disjointness): Cho quan hệ r bất kỳ Giả sử r được phân rãthành các mảnh r1 , , rn Khi đó tính tách biệt yêu cầu một mục dữ liệu d nào

đó một khi đã xuất hiện trong mảnh ri thì sẽ không xuất hiện trong mảnh rk khác.Tiêu chuẩn này đảm bảo các mảnh ngang sẽ tách biệt nhau Còn trong phân mảnhdọc thì các thuộc tính khoá chính phải được lặp lại trong mỗi mảnh, vì vậy tínhtách biệt chỉ áp dụng với các thuộc tính không khoá

II.4. Cách cách phát phân mảnh

Không nhân bản: mỗi mảnh nằm trên một vị trí, tồn tại bản sao duy nhất củamột mảnh trên mạng

Trang 12

Nhân bản:

• Nhân bản đầy đủ: một mảnh ở một vị trí, toàn bộ cơ sở dữ liệu đều tồn tại ở từng vị trí

• Nhân bản từng phần: mỗi mảnh ở vài vị trí

II.5. Các kiểu phân mảnh dữ liệu

II.5.1 Phân mảnh ngang

II.5.1.1 Phân mảnh ngang nguyên thủy

Định nghĩa : Rj= σFj(R ), 1 ≤ j ≤ w

Với Fj là công thức chọn, thích hợp là minterm predicate

Do vậy, Phân mảnh ngang Ri của quan hệ R gồm tất cả các bộ của R thỏaminterm predicate mi

Cho tập các minterm predicates M, có nhiều phân mảnh ngang của quan hệ Rứng với nhiều minterm predicates Tập các phân mảng ngang cũng được gọi làminterm fragments

Thuật toán:

Cho: Quan hệ R, tập các vị từ đơn Pr

Kết quả: Tập các mảnh của R = {R1, R2,…,Rw} thỏa quy tắc phân mảnh.Yêu cầu :

- Pr phải đầy đủ (complete)

- Pr phải tối tiểu (minimal)

II.5.1.2 Phân mảnh ngang suy dẫn

Chọn link L với owner(L)=S và member(L)=R, các mảnh ngang được suycủa R được định nghĩa như sau: Ri= R <F Si, 1≤i≤w

Với w là số lớn nhất các mảnh được xác định trên R và Si= σFi(S) , Si là cácphân mảnh ngang của owner.Với Fi là công thức theo đó xác định phân mảnhngang nguyên thủy Si

Trang 13

Tính đúng đắn của phân mảnh ngang suy dẫn

- Tính đầy đủ

• Toàn vẹn tham chiếu

• Cho R là quan hệ member của link có owner là quan hệ S đượcphân mảnh thành FS = {S1, S2, , Sn} Ngoài ra gọi A là thuộctính kết nối giữa R và S Thì với từng bộ t của R, tồn tại bộ t' của Ssao cho t[A]=t'[A]

- Tái tạo: Giống phân mảnh ngang nguyên thủy

- Rời nhau: Chỉ có join graphs giữa owner và các member fragments

II.5.2 Phân mảnh dọc

II.5.2.1 Định nghĩa

Phân mảnh dọc là hoạt động chia 1 quan hệ R thành các mảnh con R1, R2 , …,

Rn sao cho mỗi mảnh con chứa tập các thuộc tính và chứa cả khóa của R Như vậybài toán phân mảnh dọc không chỉ là bài toán của hệ cơ sở dữ liệu phân tán mà còn

là bài toán của hệ cơ sở dữ liệu tập trung

Có hai tiếp cận:

- Nhóm: các thuộc tính tới phân mảnh

- Tách: quan hệ tới phân mảnh

Yêu cầu thông tin:

- Các ái lực thuộc tính (Attribute affinities): độ đo phản ánh các thuộc tínhquan hệ gần nhau Nhận được từ dữ liệu sử dụng ban đầu

- Giá trị sử dụng thuộc tính (Attribute usage values)

II.5.2.2 Ma trận giá trị sử dụng Use

Cho tập các truy vấn Q = {q1, q2,…, qq} chạy trên quan hệ R[A1, A2,…, An]Với mỗi câu truy vấn qi và thuộc tính Aj, sẽ có 1 giá trị sử dụng thuộc tính,

Kí hiệu là use(qi,Aj) được định nghĩa như sau:

Trang 14

Các giá trị use(qi,*) rất dễ xác định nếu chúng ta biết được các ứng dụng chạy trên cơ sở dữ liệu

Ví dụ: Xét 4 truy vấn cho quan hệ PROJ

q 1 : Tìm ngân sách của dự án, cho biết mã số dự án

q 2 : Tìm tên và ngân sách của tất cả dự án

q 3 : Tìm tên của các dự án được thực hiện ở thành phố đã cho

q 4 : Tìm tổng ngân sách các dự án được thực hiện ở thành phố đãcho

Dựa theo 4 ứng dụng này ta có thể xác định được giá trị sử dụng các thuộctính Để cho đơn giản ta ký hiệu

A1=PNO, A2=PNAME, A3=BUDGET và A4=LOC

Trang 15

Giá trị sử dụng cho ở bảng sau:

1 1 0 0

1 0 1 0

0 1 1 0

0 1 0 1

4 3 2 1

4 3 2 1

q q q q

A A A A

II.5.2.3 Độ đo ái lực Aff

Độ đo phản ánh các thuộc tính quan hệ gần nhau (các thuộc tính được truy xuất chung với nhau)

Độ đo ái lực thuộc tính giữa 2 thuộc tính Ai và Aj của quan hệ R[A1, A2, …, An] ứng với tập quan hệ Q = (q1, q2, …, qq) được định nghĩa như sau:

Với query access là ma trận tần số truy cập Dữ liệu chính có liên quan đến truy vấn (ứng dụng) qi, query access được tính với công thức sau:

Ví dụ: Giả sử từng truy vấn trong ví dụ trước được truy cập trong từng lầnthực hiện

Giả định tần số truy cập là:

T n s truy c p (query access) = ầ ố ậ 3 0 0

25 25 25

0 0 5

10 20 15

4 3 2 1

3 2 1

q q q q

S S S

Trang 16

Vì chỉ có ứng dụng q1 truy xuất đến cả hai thuộc tính A1 và A3, nên ta có

aff(A1, A3) = acc1(q1) + acc2(q1) + acc3(q1) = 45Vậy ma trận ái lực như sau:

AA = 0 75 3 78

3 53 5 45

75 5 80 0

0 45 0 45

4 3 2 1

4 3 2 1

A A A A

A A A A

II.5.2.4 Thuật toán năng lượng liên kết BEA (Bond Energy Algorithm)

Thuật toán gom cụm lấy ma trận ái lực AA và tổ chức lại các thứ tự của thuộctính để tạo các cụm có các thuộc tính ứng với cụm có độ ái lực cao hơn cụm khácThuật toán năng lượng liên kết được dùng để gom cụm các thực thể BEAtìm thứ tự các thực thể ( trong trường hợp này là các thuộc tính) sao cho độ đo áilực toàn cục sau là cực đại

Nhiệm vụ cơ bản trong việc xây dựng thuật toán phân mảnh dọc là tìmphương tiện nào đó để nhóm các thuộc tính của quan hệ dựa trên ma trận áilực.Thuật toán năng lượng nối BEA là thích hợp vì những lý do sau:

(1) BEA gom các thuộc tính có cùng độ lớn ái lực lại với nhau

(2) Các kết quả tụ nhóm không bị ảnh hưởng bởi thứ tự đưa các mục vàothuật toán

(3) Thời gian tính toán là O(n2) với n là số thuộc tính

(4) Có thể xác định mối liên hệ giữa các nhóm thuộc tính

Trang 17

Nhập: Ma trận AA

Xuất: Ma trận ái lực gom cụm CA là một sắp xếp của các hoán vị AA

- Khởi tạo: Đặt và cố định một trong các cột của AA vào CA

- Lặp: Đặt n-i cột còn lại vào i+1 vị trí còn lại trong ma trận CA Đốivới từng cột, chọn vị trí đóng góp (contri bution) lớn nhất vào độ đo ái lực toàncục

75 5 80 0

0 45 0 45

4 3 2 1

4 3 2 1

A A A A

A A A A

Trang 19

II.5.2.5 Thuật toán phân hoạch

Mục đích của hành động tách thuộc tính là tìm tập thuộc tính được truy xuấtcùng nhau hoặc hầu như bằng các tập ứng dụng riêng biệt

Cách chia tập các thuộc tính gom cụm {A1, A2, …, An} thành hai (hay nhiềuhơn) các tập {A1, A2, …, Ai} và {Ai, …, An} sao cho không có (hay có tốithiểu) các ứng dụng truy cập cả hai (hay nhiều hơn một) của các tập hợp

Tập các ứng dụng chỉ truy cập TA: TQ = {qi|AQ(qi) ⊆ TA}

Tập các ứng dụng chỉ truy cập BA: BQ = {qi|AQ(qi) ⊆ BA}

Tập các ứng dụng vừa truy cập TA và BA : OQ = {qi|Q\TQ ∪ BQ}

Trang 20

Với AQ(qi) = {Aj | use(qi, Aj) = 1}

Tổng số các truy cập đến các thuộc tính bởi các ứng dụng chỉ truy cập TA: Tổng số các truy cập đến các thuộc tính bởi các ứng dụng chỉ truy cập BA:

Tổng số các truy cập đến các thuộc tính bởi ứng dụng truy cập cả TA vàBA:

Tìm điểm chia sao cho (CTQ * CBQ – COQ2) lớn nhất

Thuật toán PARTITION

Đầu vào: ma trận ái lực tụ CA, quan hệ R, ma trận sử dụng thuộc tính ref, ma

trận tần số truy xuất access

Đầu ra: tập các mảnh FR={R1, R2} với R1∩R2 là khoá

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

HÌNH ẢNH LIÊN QUAN

Hình ảnh minh họa chương trình tự động phân mảnh dọc trong cơ sở dữ liệu phân tán: - THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN
nh ảnh minh họa chương trình tự động phân mảnh dọc trong cơ sở dữ liệu phân tán: (Trang 30)

TỪ KHÓA LIÊN QUAN

w