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

Cấp phát trong cơ sở dữ liệu phân tán

64 152 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 64
Dung lượng 790,22 KB

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

Nội dung

Để nâng cao hiệu quả xử lý một hệ CSDL trên mạng đã cho, người ta tiến hành phân chia các quan hệ của CSDL đó thành tập các mảnh con và gửi chúng đến các nút mạng để xử lý mà ta gọi là “

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2

NGUYỄN THỊ VÂN HÀ

CẤP PHÁT TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN

LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH

HÀ NỘI, 2017

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2

NGUYỄN THỊ VÂN HÀ

CẤP PHÁT TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN

Chuyên ngành: Khoa Học Máy Tính

Mã số: 60 48 01 01

LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH

Người hướng dẫn khoa học: PGS TS Lê Huy Thập

HÀ NỘI, 201

Trang 3

LỜI CẢM ƠN

Tôi xin gửi lời cảm ơn sâu sắc nhất tới thầy giáo, PGS.TS Lê Huy Thập

- người đã hướng dẫn tận tình để tôi hoàn thành luận văn này

Tôi cũng xin bày tỏ lòng biết ơn tới Ban giám hiệu trường Đại học Sư phạm Hà Nội 2, phòng Sau đại học, quý thầy cô đã trực tiếp giảng dạy tôi trong suốt khóa học

Xin trân trọng cảm ơn sự giúp đỡ động viên của gia đình, bạn bè và đồng nghiệp đã giúp đỡ và tạo điều kiện tốt nhất để tôi hoàn thành luận văn này

Mặc dù đã có những cố gắng, tìm tòi nhất định, song chắc chắn luận văn không tránh khỏi hạn chế Vì vậy, tôi rất mong nhận được những ý kiến đóng góp của thầy, cô và các bạn để luận văn được hoàn thiện hơn

Hà Nội, ngày 28 tháng 11 năm 2017

Học viên

Nguyễn Thị Vân Hà

Trang 4

LỜI CAM ĐOAN

Luận văn được hoàn thành dưới sự hướng dẫn trực tiếp của thầy giáo, PGS.TS Lê Huy Thập Tôi xin cam đoan:

- Luận văn là kết quả nghiên cứu tìm tòi của riêng tôi

- Những tư liệu được trích dẫn trong luận văn là trung thực

- Những gì được triển khai trong luận văn không trùng khít với bất kì công trình nghiên cứu của các tác giả nào đã được công bố trước đó

Hà Nội, ngày 28 tháng 11 năm 2017

Học viên

Nguyễn Thị Vân Hà

Trang 5

MỤC LỤC

LỜI CẢM ƠN………i

LỜI CAM ĐOAN……… ii

MỤC LỤC……… iii

DANH MỤC CÁC KÝ HIỆU, TỪ VIẾT TẮT……… v

DANH MỤC CÁC BẢNG……… viii

DANH MỤC CÁC HÌNH VẼ……… ix

PHẦN MỞ ĐẦU 1

1 Lý do chọn đề tài 1

2 Mục đích nghiên cứu 1

3 Nhiệm vụ nghiên cứu 1

4 Đối tượng và phạm vi nghiên cứu 1

5 Phương pháp nghiên cứu 1

6 Giả thuyết khoa học 1

7 Cấu trúc luận văn……… 2

PHẦN NỘI DUNG 3

Chương 1 CƠ SỞ LÝ THUYẾT ……… 3

1.1 Logic mệnh đề ……… 3

1.1.1 Mệnh đề toán học ……… 3

1.1.2 Các biểu thức logic……… 5

1.2 Cơ sở dữ liệu phân tán ……… 9

1.2.1 Khái quát về cơ sở dữ liệu phân tán trên cơ sở dữ liệu quan hệ …… 9

1.2.2 Các phương pháp phân mảnh cơ bản ……… ………12

1.3 Bài toán quy hoạch nguyên ……… 19

1.3.1 Phát biểu bài toán ……… 19

1.3.2 Một số phương pháp giải ………….……… 21

Trang 6

Kết luận chương 1……… 25

Chương 2 CẤP PHÁT TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN ……… 26

2.1 Các thông tin cho cấp phát 26

2.1.1 Thông tin về cơ sở dữ liệu quan hệ 26

2.1.2 Thông tin về ứng dụng ……… 26

2.1.3 Thông tin về vị trí……… 27

2.1.4 Thông tin về mạng……… 27

2.2 Mô hình cấp phát ……… 28

2.2.1 Phát biểu bài toán cấp phát ……… 28

2.2.2 Hàm chi phí ……… 33

2.2.3 Các ràng buộc ……… 36

2.2.4 Phương pháp giải ……… 38

Kết luận chương 2 ……… 41

Chương 3 CHƯƠNG TRÌNH DEMO ……… 42

3.1 Tóm tắt bài toán ……… ……… 42

3.2 Code……… 42

3.3 Các giao diện DEMO ……… 46

3.3.1 Giao diện chính ……… 46

3.3.2 Giao diện dữ liệu DEMO ……… 47

3.3.3 Giao diện nhập dữ liệu mới ……… 47

3.3.4 Giao diện kết quả ……… 49

Kết luận chương 3 ……… 51

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

TÀI LIỆU THAM KHẢO 53

Trang 7

DANH MỤC CÁC KÝ HIỆU, TỪ VIẾT TẮT

STT Ký hiệu,

2 QTCSDL Quản trị cơ sở dữ liệu

3 DDBS Cơ sở dữ liệu phân tán (Distributed Database

System)

4 DDBMS Hệ quản trị cơ sở dữ liệu phân tán (Distributed

Database Management System)

5 GCS Lƣợc đồ khái niệm toàn cục (Global Conception

16 URij Số truy xuất cập nhật

17 UM Ma trận cho truy xuất cập nhật

18 RM Ma trận cho truy xuất đọc

19 uij Phần tử trong ma trận truy xuất cập nhật

Trang 8

20 rij Phần tử trong ma trận truy xuất đọc

21 USCk Chi phí lưu dữ liệu tại vị trí Sk

22 LPCk Chi phí xử lý dữ liệu tại vị trí Sk

23 Cij Chi phí truyền một đơn vị đối với yêu cầu chỉ

đọc giữa vị trí Si và Sj

24 C’ij Chi phí truyền một đơn vị đối với yêu cầu cập nhật giữa vị trí Si và Sj

25 FAP Bài toán cấp phát tập tin (File Allocation

29 CRkh Phần tử trong ma trận chi phí truyền chỉ đọc

30 CU Ma trận chi phí truyền theo yêu cầu cập nhật

31 cUkh Phần tử trong ma trận chi phí truyền theo yêu

Trang 9

42 TCU Thành phần chi phí cập nhật của hàm truyền dữ

Trang 10

DANH MỤC CÁC BẢNG

8 Bảng 1.2-4: DuAH1 lưu thông tin về các dự án có ngân

9 Bảng 1.2-5: DuAH2 lưu thông tin về các dự án có ngân

Trang 11

DANH MỤC CÁC HÌNH VẼ

1 Hình 1.2.1-1: CSDL tập trung, không phải là DDBS 10

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

4 Hình 1.2.2-2: Cấu trúc cây của phân mảnh hỗn hợp 17

Trang 12

PHẦN MỞ ĐẦU

1 Lý do chọn đề tài

Trong hệ thống thông tin thường có nhiều vị trí xử lý được nối với nhau thành mạng (ở đây chúng ta xét mạng máy tính) Để nâng cao hiệu quả xử lý một hệ CSDL trên mạng đã cho, người ta tiến hành phân chia các quan hệ của CSDL đó thành tập các mảnh con và gửi chúng đến các nút mạng để xử lý (mà ta gọi là “Cấp Phát”) Chúng ta sẽ tập trung xem xét một chiến lược cấp phát tối ưu các mảnh khi biết các loại thông tin: Thông tin CSDL, Thông tin các ứng dụng, Thông tin về vị trí, Thông tin về mạng,…, dựa vào bài toán quy

hoạch nguyên

2 Mục đích nghiên cứu (Các kết quả cần đạt được)

Nghiên cứu bài toán cấp phát trong CSDL phân tán

3 Nhiệm vụ nghiên cứu

Nghiên cứu bài toán cấp phát tổng quát, thu thập dữ liệu để giải bài

toán trên cơ sở bài toán quy hoạch tuyến tính nguyên

4 Đối tượng và phạm vi nghiên cứu

Toán rời rạc

CSDL phân tán

Quy hoạch tuyến tính nguyên

5 Giả thuyết khoa học

Từ việc nghiên cứu bài toán cấp phát trong CSDL phân tán để bổ sung

thêm kiến thức vào CSDL phân tán

6 Phương pháp nghiên cứu

Dùng các kiến thức: Toán rời rạc, CSDL phân tán để nghiên cứu bài

toán cấp phát

Dựa vào Quy hoạch tuyến tính nguyên để giải bài toán cấp phát

Trang 13

7 Cấu trúc luận văn

Ngoài phần mở đầu và kết luận, nội dung của luận văn được trình bày trong 3 chương.:

Chương 1 Cơ sở lý thuyết

Chương 2 Cấp phát trong cơ sở dữ liệu phân tán

Chương 3 Chương trình DEMO

Trang 14

PHẦN NỘI DUNG Chương 1

CƠ SỞ LÝ THUYẾT 1.1 Logic mệnh đề

1.1.1 Mệnh đề toán học

a Định nghĩa

 Mệnh đề logic là một phát biểu để diễn tả một ý tưởng trọn vẹn và khẳng định một cách khách quan là phát biểu đó đúng hoặc sai (không thể vừa đúng lại vừa sai, haymang tính chất mập mờ)

 Giá trị trị đúng hay sai của mệnh đề được gọi là chân trị của mệnh đề Chân trị đúng của mệnh đề thường được kí hiệu là 1 hoặc T hoặc True, còn chân trị sai được kí hiệu là 0 hoặc F hoặc False

Ví dụ

i/ “2 là số chẵn” là mệnh đề đúng nên cho chân trị 1 hoặc T

ii/ “2 không là số nguyên tố” là mệnh đề sai nên cho chân trị 0 hoặc F

iii/ “x*y = z” không phải mệnh đề nên không có chân trị

iiii/“x + ay = z” không phải mệnh đề nên không có chân trị

Trang 15

Các loại mệnh đề và các phép toán mệnh đề

Hai loại mệnh đề cơ bản: mệnh đề sơ cấp (elementary) và mệnh đề phức tạp (compound)

a Mệnh đề sơ cấp

Mệnh đề sơ cấp hay còn gọi là mệnh đề đơn giản, nó là các nguyên tử

(atom)-không thể chia nhỏ được Chẳng hạn “2 là số nguyên tố”

b Mệnh đề phức hợp

Mệnh đề phức hợp: là mệnh đề được tạo ra từ một hoặc nhiều mệnh đề khác bằng cách sử dụng các phép toán logic mệnh đề

Ví dụ

“15 MOD 3 = 0” AND “3 là số nguyên tố”, là mệnh đề phức hợp

Biến mệnh đề hay ký hiệu mệnh đề Để máy tính hiểu được, chúng ta dùng

các kí hiệu cho các mệnh đề đơn giản, được gọi là biến mệnh đề, các biến mệnh đề thường được dùng là các chữ thường

 () If…Then… (Phép điều kiện hay kéo theo hay suy ra)

() If … AND Only If … (Cần và đủ kéo theo hai chiều hay tương

đương)

 XOR (Tổng trực giao - đôi khi dùng )

( ) chỉ nhóm ưu tiên trong biểu thức logic

Trang 16

c Bảng chân trị của các phép toán mệnh đề (Bảng 1.1-1)

Bảng 1.1-1 Chân trị của các phép toán mệnh đề

Chú ý: Một biểu thức logic có m biến sẽ có 2m giá trị

d Mức ưu tiên của các phép toán logic

Thứ tự ưu tiên của các phép toán logic được liệt kê theo mức yếu dần

từ trái sang phải, từ trên xuống dưới (Bảng 1.1-2)

Bảng 1.1-2 Bảng ưu tiên các phép toán mệnh đề

Ký hiệu phép toán Nghĩa của phép toán

(hoặc  hoặc ) Phủ định

 ,  Kéo theo, tương đương

1 1.2 Các biểu thức logic

Biểu thức logic là một mệnh đề phức hợp, biểu thức logic thường được

ký hiệu bởi các chữ in hoa và nó là sự kết hợp của các biến mệnh đề, các biểu thức logic, các phép toán logic và các dấu ( )

Ví dụ

E = (pq  r)  t  s là một biểu thức logic

1 Biểu thức hằng đúng: Nếu biểu thức logic E luôn đúng với mọi giá trị của

các biến thành phần thì ta gọi E là biểu thức hằng đúng (còn gọi là khả thỏa)

2 Biểu thức hằng sai: Nếu biểu thức logic E luôn sai với mọi giá trị của các

biến thành phần thì ta gọi E là biểu thức hằng sai (hay mâu thuẫn)

Ví dụ: E = pp là hằng đúng, F = pp là hằng sai hay mâu thuẫn

Trang 17

3 Biểu thức vững chắc: Một biểu thức là vững chắc nếu nó đúng với mọi bộ

giá trị chân lý của các mệnh đề thành phần

4 Biểu thức hội cơ bản (hay hội sơ cấp): Cho các biến mệnh đề pi, i 1 ,n Biểu thức logic Ek = p1p2  … pk đƣợc gọi là biểu thức hội sơ cấp

5 Biểu thức tuyển cơ bản (hay tuyển sơ cấp): Cho các biến mệnh đề

pi,i 1 ,n Biểu thức logic Ek = p1p2  … pk đƣợc gọi là biểu thức tuyển

i  là biểu thức logic hội cơ bản, đƣợc gọi là biểu thức chuẩn tuyển

(hay còn đƣợc gọi là tuyển chính tắc)

8 Quy tắc chuyển biểu thức logic bất kỳ về dạng chuẩn hội

q n với q i = p i hoặc q i =p i ( i 1 ,n )

Trang 18

Định lý 2

Mọi biểu thức logic F (p 1 , p 2 , p n ) đều tương đương với một biểu thức hội chính tắc duy nhất Tức là F (p 1 , p 2 , p n ) F = F 1 F 2 F m (duy nhất ) với F i ( i 1 ,m ) là các biểu thức tuyển cơ bản Nghĩa là F i = q 1 q 2 q n

"PQ" và đọc là "P đúng khi và chỉ khi Q đúng", "" gọi là dấu liên

hệ tương đương Bảng 1.1-3 cho chân trị của quan hệ tương đương

Dễ thấy, mối quan hệ tương đương PQ là (PQ)  (QP)

Trong trường hợp này, hai phát biểu "PQ" và "QP" gọi là đảo của nhau

Để chứng minh mối quan hệ tương đương PQ, ta phải chứng minh mối quan hệ kéo theo PQ và chiều ngược lại

Chú ý rằng (PQ)  (Q P)

Trang 19

Trong ngôn ngữ tự nhiên, để diễn đạt mối liên hệ tương đương

giữa P và Q, người ta có nói P đúng khi và chỉ khi Q đúng

Tính chất của các biểu thức logic tương đương

Khi nói P  Q là đúng không có nghĩa là cả P và Q đều đúng, mà

là cả hai có cùng chân trị (hoặc đúng hoặc sai) đồng thời

10 Quan hệ tương đương giữa nhiều biểu thức

Xem xét ba mệnh đề P, Q và R Để chứng minh các mối quan hệ tương

đương P  Q  R, chúng ta cần chứng minh P  Q, Q  R và R  P

Ta có thể tổng quát hóa đối với n mệnh đề P1, P2… Pn

Để chứng minh các mối quan hệ tương đương P1  P2 …  Pn, chỉ cần chứng minh các quan hệ kéo theo:

P1  P2, P2  P3… Pn-1  Pn và Pn  P1

Cách chứng minh như trên gọi là chứng minh vòng

Trang 20

11 Các biểu thức logic tương đương hay dùng (Bảng 1.1-4)

Bảng 1.1-4 Biểu thức logic tương đương

7

(p  q)  r  (p  r)  (q  r) (p  q)  r  (p  r)  (q  r) Luật phân phối

8

 (p  q) p q

 (p  q) p q Luật De Morgan

9 p  q  p q Luật kéo theo

10 p  q  (pq)  (qp) Luật kéo theo hai chiều

1.2 Cơ sở dữ liệu phân tán

1.2.1 Khái quát về cơ sở dữ liệu phân tán trên cơ sở dữ liệu quan hệ

Hệ CSDL phân tán (Distributed Database System – DDBS) là một tập hợp dữ liệu có liên đới logic và được phân bố trên các nút của một mạng máy tính

Trang 21

Hệ quản trị CSDL phân tán (Distributed Database Management System – DDBMS) là một hệ thống phần mềm cho phép quản lý các DDBS và làm cho việc phân tán trở nên vô hình đối với người sử dụng

Như vậy DDBS là một tập các tệp dữ liệu vừa có liên đới logic, vừa phải có cùng cấu trúc và vừa phải được truy xuất qua một giao diện chung Và phân bố vật lý của các dữ liệu không phải là vấn đề quyết định

Nhận xét:

Nếu CSDL nằm tại một nút mạng thì nó không phải là DDBS, vì vấn

đề quản trị CSDL không khác với quản trị CSDL trong môi trường tập trung kiểu client/server của mạng

Ví dụ CSDL trong hình 1.2.1-1 không phải là DDBS

Nếu một cơ sở dữ liệu được phân tán trên nhiều nút mạng, khi đó CSDL sẽ là cơ sở dữ liệu phân tán (Hình 1.2.1-2)

Worstation5

Mạng Truyền DL

Hình 1.2.1-1 CSDL tập trung, không phải là DDBSWorstation4

Worstation1

Worstation3 Worstation2

Trang 22

Các đặc điểm của hệ CSDL phân tán

Phần chi phí đáng kế nằm ở chỗ nó cần phải có các phần mềm và phương pháp truyền thông phức tạp hơn Ngoài ra còn cần chi phí về nhân lực Khi các thiết bị được xây dựng ở nhiều vị trí khác nhau, đòi hỏi phải có người điều hành và quán lý

* Quyền điều khiển bị phân tán

Worstation5

Mạng Truyền DL

Hình 1.2.1-2 CSDL được phân tán trên mạng, DDBS Worstation4

Worstation1

Worstation3 Worstation2

Trang 23

Điểm này đã được nêu ra tưởng như là một ưu điểm của các hệ CSDL phân tán Tuy nhiên, không may là sự phân tán lại gây ra khó khăn về đồng

bộ hóa Việc điều khiển phân tán có thể trở thành một gánh nặng nếu không

có những chiến lược phù hợp để giải quyết chúng

* Tính an ninh

Trong hệ CSDL phân tán, môi trường mạng kèm theo sẽ có các yêu cầu

an ninh của riêng chúng Vì vậy, vấn đề an ninh trong các hệ CSDL phân tán

rõ ràng là phức tạp hơn so với các hệ tập trung

Phân loại

CSDL phân tán thuần nhất: là CSDL phân tán có được bằng cách chia một CSDL thành một tập các CSDL cục bộ, được quản lý bởi cùng một hệ QTCSDL

CSDL phân tán có thuần nhất hay không, phụ thuộc bởi các yếu tố phần cứng, hệ điều hành và các hệ QTCSDL cục bộ

CSDL phân tán hỗn tạp: là CSDL phân tán có được bằng cách tích hợp các CSDL cục bộ đã có, được quản lý bởi nhiều hệ QTCSDL khác nhau

1.2.2 Các phương pháp phân mảnh cơ bản [2], [5], [9]

Các quan hệ CSDL thường được biểu diễn dưới dạng bảng Việc phân mảnh một quan hệ thành nhiều quan hệ con khác nhau, theo các cách khác nhau, sẽ có các cách phân mảnh tương ứng Có các kiểu phân mảnh cơ bản, tương ứng với việc chia quan hệ theo chiều dọc, chiều ngang và hỗn hợp Giả sử ta có Quan hệ DuAn(MaDuAn, TenDuAn, NganSach) (bảng 1.2-1)

Bảng 1.2-1 Quan hệ DuAn

Trang 24

a/ Phân mảnh theo chiều dọc:

Phân mảnh dọc quan hệ R sinh ra các mảnh R1, R2, ,Rr sao cho mỗi mảnh chứa một tập con các thuộc tính của quan hệ R và khóa chính của R Nghĩa là thiết lập một quan hệ mới chỉ có một số thuộc tính từ quan hệ gốc Thực chất đây là phép chiếu trên tập con các thuộc tính của quan hệ

Ví dụ: phân mảnh dọc quan hệ DuAn thành hai quan hệ con DuAnV1 và DuAnV2 DuAnV1 chỉ chứa thông tin về ngân sách các dự án, còn DuAnV2 chứa tên và vị trí dự án Khoá của quan hệ (MaDuAn) đều có mặt trong cả hai mảnh (Bảng 1.2-2 và bảng 1.2-3)

Bảng 1.2-2 Mảnh dọc DuAnV1 chỉ lưu thông tin về ngân sách các dự án

Bảng 1.2-3 Mảnh dọc DuAnV2 chỉ lưu tên và vị trí dự án

DA1 Thiết bị đo đạc Hải Phòng DA2 Phát triển CSDL Hà Nội

DA4 Bảo dưỡng TP.Hồ Chí Minh

b/ Phân mảnh theo chiều ngang:

Phân mảnh theo chiều ngang là chia quan hệ thành nhiều các nhóm bộ Kết quả của quá trình phân mảnh ngang là các quan hệ con, số lượng quan hệ con phụ thuộc vào điều kiện ràng buộc của các thuộc tính, các bộ

Trang 25

Ví dụ: phân mảnh ngang quan hệ DuAn thành hai quan hệ: Quan hệ con DuAnH1 chứa các thông tin về các dự án có ngân sách dưới 200,000$, còn quan hệ con DuAnH2 lưu các dự án còn lại (Bảng 1.2-4 và bảng 1.2-5)

Bảng 1.2-4 Mảnh ngang DuAnH1 lưu các thông tin về các dự án có ngân sách

dưới $200,000

Bảng 1.2-5 DuAnH2 lưu các thông tin về các dự án có ngân sách lớn hơn

200,000 USD

Có hai loại phân mảnh ngang:

+ Phân mảnh ngang nguyên thủy: là phân mảnh ngang khi thực hiện các vị từ trên chính quan hệ đó

+ Phân mảnh ngang dẫn xuất: là phân rã một quan hệ dựa trên các vị từ của quan hệ khác

Như vậy trong phân mảnh ngang tập hợp các vị từ đóng một vai trò quan trọng

Trang 26

Các thông tin cần cho phân mảnh ngang:

(1) Thông tin về CSDL

Thông tin về CSDL là thông tin về lược đồ khái niệm toàn cục của CSDL Tức là chúng ta cần biết được cách mà quan hệ con sẽ hợp () lại với nhau như thế nào Trong mô hình quan hệ, các liên kết giữa các thực thể cũng được biểu thị bằng quan hệ Với mục đích thiết kế phân tán, các mối liên kết cũng được mô hình hoá theo kiểu mô hình quan hệ Theo cách này, chúng ta

sẽ vẽ một đường nối có hướng từ quan hệ Parent đến quan hệ Child [2], [5]

Ví dụ

Hình 1.2.2-1 cho thấy một cách biểu diễn các đường nối giữa các quan

hệ Chú ý rằng hướng của các đường nối sẽ cho biết mối quan hệ một - nhiều (chẳng hạn với “trình độ chuyên môn” có nhiều nhân viên có cùng “trình độ chuyên môn” đó, vì thế đường nối hướng từ quan hệ TraLuong đến quan hệ NhanVien) Khi là liên kết nhiều - nhiều, được biểu diễn bằng hai đường nối đến các quan hệ (chẳng hạn giữa NhanVien, DuAn và PhanNhiem)

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 - đích Chúng ta hãy định nghĩa hai hàm: Nguon và Dich, chúng là các ánh xạ từ tập các đường nối đến tập các quan hệ Cho trước một đường nối chúng sẽ trả về quan hệ đích hoặc quan hệ chủ nguồn của đường nối (Xem hình 1.2.2-1) Trong đó:

Trang 27

Chúng ta cần hai loại thông tin: định tính và định lượng về các ứng dụng Thông tin định tính phục vụ phân mảnh, còn thông tin định lượng sử dụng cho mô hình cấp phát

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

Về phân mảnh dọc chúng ta có thuật toán phân mảnh dọc [2], [5]

c/ Phân mảnh hỗn hợp

Trong trường hợp phân mảnh dọc có thể được thực hiện sau một phân mảnh ngang hoặc ngược lại, sinh ra một lối phân hoạch có cấu trúc cây (Xem hình 1.2.2-2) Bởi vì, hai loại chiến lược phân hoạch này được áp dụng lần lượt, chọn lựa này được gọi là phân mảnh hỗn hợp (hybrid fragmentation)

Trang 28

Hình 1.2.2-2: Cấu trúc cây của phân mảnh hỗn hợp

Các chiến lược thiết kế hệ thống phân tán

Thiết kế hệ thống phân tán cần phải chọn những vị trí lưu dữ liệu và các chương trình trên mạng kết nối, có thể phải kể luôn cả việc thiết kế hệ quản trị CSDL phân tán Việc phân tán ứng dụng phải đảm bảo hai vấn đề: (i) Phân tán hệ quản trị CSDL và các chương trình ứng dụng chạy trên DDBMS

(ii) Phân tán dữ liệu

Hai chiến lược chính đã được xác định trong thiết kế DDBMS: Thiết kế

từ trên xuống và thiết kế từ dưới lên

* Thiết kế từ trên xuống

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 và thu thập các nhu cầu về dữ liệu và nhu cầu xử lý của tất cả mọi người có sử dụng CSDL Nghiên cứu các yêu cầu cũng cần xác định xem hệ thống cuối cùng sẽ như thế nào so với các mục tiêu của một DDBM

Phân tích thực thể có liên quan đến việc xác định các thực thể, các thuộc tính và các mối liên hệ giữa chúng Phân tích chức năng đề cập đến việc xác định các chức năng cơ bản có liên quan đến xí nghiệp cần được mô hình hoá Kết quả của hai quá trình phân tích này cần được đối chiếu qua lại, giúp

Trang 29

chúng ta biết được chức năng nào sẽ hoạt tác trên những thực thể nào Có một

sự liên hệ giữa thiết kế khái niệm và thiết kế khung nhìn, người sử dụng cần phải đặc tả các thực thể và phải xác định các ứng dụng sẽ chạy trên cơ sở dữ liệu cũng như các thông tin thống kê về những ứng dụng này Thông tin thống

kê bao gồm cả tính toán các thông tin về tần số ứng dụng, khối lượng các thông tin mà một câu truy vấn cần dùng trong quá trình thực thi Chú ý rằng

từ bước thiết kế khái niệm sẽ cho ra định nghĩa lược đồ khái niệm toàn cục GCS (Global Conception Schema) sẽ được thảo luận trong phần sau Ở đây, chúng ta vẫn chưa xem xét các đặc thù phân tán, nên quá trình thiết kế hoàn toàn giống với thiết kế CSDL tập trung

Lược đồ khái niệm toàn cục và thông tin về kiểu mẫu truy xuất thu được trong thiết kế khung nhìn sẽ là nguyên liệu vào cho bước thiết kế phân tán Thiết kế các lược đồ khái niệm cục bộ LCS (Local Conception Schema)

là cách phân tán các thực thể cho các vị trí của hệ thống phân tán, có thể xử lý mỗi thực thể như là một đơn vị phân tán Với mô hình quan hệ được dùng làm

cơ sở thảo luận trong cuốn sách này, các thực thể sẽ tương ứng với các quan

hệ

Như đã biết, thiết kế phân tán gồm hai bước:

1/ Phân mảnh và gửi các mảnh đến các vị trí trên hệ xử lý phân tán

Thay vì phân tán các quan hệ, chúng ta thường chia chúng thành nhiều quan hệ nhỏ hơn gọi là các mảnh và chính các mảnh sẽ được phân tán đến các

vị trí khác nhau (ta hay gọi là cấp phát)

2/ Thiết kế vật lý

Là bước ánh xạ lược đồ khái niệm cục bộ sang các thiết bị lưu trữ vật lý

có sẵn tại các vị trí tương ứng Nguyên liệu cho quá trình này là lược đồ khái niệm cục bộ và thông tin về kiểu mẫu truy xuất mảnh

Trang 30

Chúng ta đã biết hoạt động phát triển và thiết kế luôn là một quá trình liên tục, đòi hỏi phải theo dõi, hiệu chỉnh thường xuyên Vì thế chúng ta cũng đưa vấn đề quan sát và theo dõi như một hoạt động chính trong quá trình này Cần chú ý rằng chúng ta không chỉ theo dõi vấn đề cài đặt CSDL mà còn phải xem xét, theo dõi tính thích hợp của các khung nhìn của người sử dụng Kết quả này có tác dụng phản hồi, tạo tiền đề cho việc tái thiết kế về sau

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

Các bước thiết kế từ dưới lên ngược với quá trình thiết kế từ trên xuống Thiết kế từ trên xuống thích hợp cho việc thiết kế mới từ đầu Tuy nhiên, trong thực tế chúng ta hay gặp trường hợp, các cơ quan xí nghiệp cần chúng ta thiết kế đã có sẵn một số DB hoặc DDB và nhiệm vụ thiết kế là phải tích hợp chúng lại để có DDB theo mục đích - hoặc mục đích mới – cho cơ quan xí nghiệp, tiếp cận từ dưới lên sẽ thích hợp cho tình huống này Khởi điểm của thiết kế từ dưới lên là các lược đồ khái niệm cục bộ Qúa trình này

sẽ bao gồm việc tích hợp các lược đồ khái niệm cục bộ thành các lược đồ khái niệm toàn cục

1.3 Bài toán quy hoạch tuyến tính nguyên

1.3.1 Phát biểu bài toán quy hoạch tuyến tính nguyên

Bài toán quy hoạch tuyến tính (QHTT) là bài toán tối ưu hóa, trong đó hàm mục tiêu và các điều kiện ràng buộc đều là tuyến tính

Bài toán quy hoạch nguyên là bài toán tuyến tính mà giá trị của nó luôn nguyên

Trong nhiều bài toán thực tế, các cấu hình tổ hợp còn được gán một giá trị bằng số, đánh giá giá trị sử dụng của cấu hình đối với một mục đích sử dụng cụ thể nào đó Khi đó xuất hiện bài toán: Hãy lựa chọn trong số tất cả các cấu hình tổ hợp chấp nhận được, cấu hình có giá trị sử dụng tốt nhất Các

Trang 31

bài toán như vậy được gọi là bài toán tối ưu tổ hợp Chúng ta có thể phát biểu bài toán tối ưu tổ hợp dưới dạng tổng quát như sau:

Tìm cực tiểu (hay cực đại) của phiếm hàm f(x) = min(max) với điều kiện x D, trong đó D là tập hữu hạn các phần tử

Hàm f(x) được gọi là hàm mục tiêu của bài toán, mỗi phần tử x D được gọi là một phương án, còn tập D gọi là tập các phương án của bài toán Thông thường tập D được mô tả như là tập các cấu hình tổ hợp, thoả mãn một

số tính chất nào đó cho trước

Phương án x* D đem lại giá trị nhỏ nhất (lớn nhất) cho hàm mục tiêu được gọi là phương án tối ưu, khi đó giá trị f* = f(x*) được gọi là giá trị tối ưu

của bài toán

Dưới đây chúng ta sẽ giới thiệu một số bài toán tối ưu tổ hợp kinh điển Các bài toán này là những mô hình có nhiều ứng dụng thực tế và giữ vai trò quan trọng trong việc nghiên cứu và phát triển lý thuyết tối ưu hoá tổ hợp

Một số ví dụ về bài toán quy hoạch tuyến tính nguyên

Bài toán Người du lịch: Một người du lịch muốn đi thăm quan n thành phố

T 1 , T 2 , …, T n Xuất phát từ một thành phố nào đó, người du lịch muốn đi qua tất cả các thành phố còn lại, mỗi thành phố đi qua đúng một lần, rồi quay trở

lại thành phố xuất phát Biết c ij là chi phí đi từ thành phố T i đến thành phố T j

(i,j = 1, 2, , n), hãy tìm hành trình với tổng chi phí là nhỏ nhất (một hành

trình là một cách đi thoả mãn điều kiện)

Rõ ràng, ta có thể thiết lập được một tương ứng 1-1 giữa hành trình

T(1) T(2) T(n) T(1) với một hoán vị = ((1), (2), , (n)) của n

số tự nhiên 1, 2, , n

Đặt: f ( ) C(1)(2) C(2)(3) …  C(n-1)(n) C(n)(1)

Trang 32

n

Kí hiệu  là tập tất cả các hoán vị  = ((1), (2), , (n)) của n số tự

nhiên 1, 2, , n Khi đó bài toán người du lịch có thể phát biểu dưới dạng bài

toán tối ưu tổ hợp sau:

min { f():  }

Có thể thấy rằng tổng số hành trình của người du lịch là n!, trong đó chỉ

có (n-1)! hành trình thực sự khác nhau (bởi vì có thể xuất phát từ một thành phố bất kỳ nên có thể cố định một thành phố nào đó làm điểm xuất phát)

Bài toán cái túi: Một nhà thám hiểm cần đem theo một cái túi có trọng

lượng không quá b Có n đồ vật có thể đem theo Đồ vật thứ j có trọng lượng

a j và giá trị sử dụng c j (j =1, 2, , n) Hỏi nhà thám hiểm cần đem theo những

đồ vật nào để cho tổng giá trị sử dụng là lớn nhất?

Một phương án của nhà thám hiểm có thể biểu diễn như một vector nhị

phân độ dài n: x = (x 1 , x 2 , , x n ), trong đó x i = 1 có nghĩa là đồ vật thứ i được đem theo, x i = 0 có nghĩa trái lại Với phương án đem theo x, giá trị sử dụng

Trong số các vector nhị phân độ dài n thoả mãn điều kiện g(x) ≤ b, hãy

tìm vector x* để hàm mục tiêu f(x) đạt giá trị nhỏ nhất Nói cách khác:

min { f(x): g(x) ≤ b }

1.3.2 Một số phương pháp giải bài toán quy hoạch tuyến tính nguyên Phương pháp duyệt toàn bộ

Khái niệm

Trên cơ sở các thuật toán liệt kê tổ hợp, ta tiến hành duyệt từng phương

án của bài toán, đối với mỗi phương án, ta đều tính giá trị hàm mục tiêu cho phương án đó, sau đó so sánh giá trị của hàm mục tiêu tại tất cả các phương

Ngày đăng: 22/05/2018, 18:59

TỪ KHÓA LIÊN QUAN

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

w