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

các kỹ thuật phân mảnh, gộp nhóm trong csdl phân tán

74 394 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 74
Dung lượng 841,88 KB

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

Nội dung

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/Ký hiệu phép toán Nghĩa của phép toán , Hội, tuyển , Kéo theo, tương đương Bảng ưu tiên các phép toán mệnh đề Tương đương của

Trang 1

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

Trang 2

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

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

Thái Nguyên - 2013

Trang 3

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

LỜI CAM ĐOAN

Tôi xin cam đoan luận văn này là do bản thân tự nghiên cứu và thực hiện

theo sự hướng dẫn khoa học của PGS TS Lê Huy Thập

Tôi hoàn toàn chịu trách nhiệm về tính pháp lý quá trình nghiên cứu khoa học của luận văn này

Người Cam Đoan

TÔ NGỌC ANH

Trang 4

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

LỜI CẢM ƠN

Lời đầu tiên tôi xin gửi lời cảm ơn đến thầy giáo PGS TS Lê Huy Thập

đã định hướng, hướng dẫn và giúp đỡ tôi rất nhiều về mặt chuyên môn trong quá trình tìm hiểu và thực hiện luận văn

Tôi xin gửi lời biết ơn sâu sắc đến các thầy, các cô đã dạy dỗ và truyền đạt những kinh nghiệm quý báu cho chúng tôi trong suốt hai năm cao học ở trường Đại học Công nghệ thông tin và truyền thông Thái Nguyên

Cuối cùng, xin chân thành cảm ơn gia đình và bạn bè đã động viên, quan tâm, giúp đỡ tôi hoàn thành khóa học và luận văn

Thái nguyên, tháng 12 năm 2013

Tác giả

Tô Ngọc Anh

Trang 5

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

MỤC LỤC

LỜI CAM ĐOAN i

LỜI CẢM ƠN ii

MỤC LỤC iii

MỞ ĐẦU 1

1 Đặt vấn đề 1

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

3 Hướng nghiên cứu của đề tài 1

4 Những nội dung nghiên cứu chính 1

Chương 1: CƠ SỞ LÝ THUYẾT 2

1.1 GIỚI THIỆU VỀ LOGIC 2

1.2.TỔNG QUAN VỀ CSDL PHÂN TÁN 7

1.2.1.Các phương pháp phân mảnh cơ bản 8

1.2.2 Các lệnh phân mảnh cơ bản dựa vào câu SQL 19

1.3 KẾT LUẬN CHƯƠNG 1 20

Chương 2: PHÂN MẢNH VÀ GỘP NHÓM TRONG CSDL PHÂN TÁN 21

2.1 CÁC KỸ THUẬT PHÂN MẢNH DỮ LIỆU TRONG CSDL 21

2.1.1 Loại bỏ dư thừa 21

2.1.2 Phân mảnh ngang : 21

2.1.3 Phân mảnh dọc 219

2.1.4 Phân mảnh hỗn hợp 2530

2.2 CÁC LỆNH SQL GỘP NHÓM 30

2.2.1 Thuật toán trộn tập trung CM (Centralized Merging) 46

2.2.2 Thuật toán trộn phân tán DM (Distributed Merging) 51

2.2.3 Thuật toán phân mảnh lại ReF (Refragmentation) 53

2.3 KẾT LUẬN CHƯƠNG 2 55

3.1 ỨNG DỤNG TẠI CÔNG TY TNHH TM VẠN XUÂN ( DẠNG DEMO) 56

3.1.1 Giới thiệu CSDL tại công ty TNHH thương mại Vạn Xuân 56

Hình 3-1 Sơ đồ kết nối các quan hệ 57

3.1.2 Ứng dụng các thuật toán gộp nhóm tại công ty TNHH thương mại Vạn Xuân 57

3.2 KẾT LUẬN CHƯƠNG 3 64

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA LUẬN VĂN 65

TÀI LIỆU THAM KHẢO 66

Trang 6

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

MỞ ĐẦU

1 Đặt vấn đề

Nhằm giải quyết vấn đề chậm trễ thường gặp trong các hệ CSDL song song,

ngoài việc áp dụng một kiến trúc phần cứng thích hợp, người ta tiến hành phân mảnh dữ liệu một cách hợp lý cho các bộ xử lý Một chiến lược phân mảnh dữ liệu tốt sẽ tăng mức độ thực hiện song song đồng thời khai thác tốt hơn các hàm gộp nhóm từ các mảnh Chúng ta sẽ đề cập đến một số kỹ thuật phân mảnh dữ

liệu theo chiều ngang phổ biến như phân mảnh theo vòng tròn Robin, phân

mảnh theo hàm băm, phân mảnh theo khoảng, phân mảnh theo chiều dọc, và

một số hàm gộp nhóm trong CSDL phân tán như: SUM, COUNT, AVERAGE

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

Các hàm gộp nhóm trong cơ sở dữ liệu quan hệ

Các phương pháp phân mảnh

Các hàm gộp nhóm trong trường hợp CSDL phân tán

3 Hướng nghiên cứu của đề tài

Nghiên cứu các phương pháp phân mảnh

Nghiên cứu các hàm gộp nhóm

Nghiên cứu cách đưa các hàm gộp nhóm vào các mảnh và ứng dụng

4 Những nội dung nghiên cứu chính

Luận văn được trình bày trong 3 chương, có phần mở đầu, phần kết luận, phần mục lục, phần tài liệu tham khảo Các nội dung cơ bản của luận văn được trình bày theo cấu trúc như sau:

Mở đầu

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

Chương 2: Phân mảnh và gộp nhóm trong CSDL phân tán

Chương 3: Ứng dụng

Kết luận và hướng phát triển của luận văn

Trang 7

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Chương 1: CƠ SỞ LÝ THUYẾT 1.1 GIỚI THIỆU VỀ LOGIC

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

2 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

3 Mệnh đề logic tuy đơn giản nhưng rất quan trọng trong khoa học máy tính

Là cơ sở lập luận hàng ngày và trong lập trình

Ví dụ 1.1.1

1 “12 là số chẵn” là mệnh đề đúng

2 “12 là số nguyên tố” là mệnh đề sai

3 “x + ay = z” không phải mệnh đề

Các kí hiệu dùng trong mệnh đề logic

( ) dùng để gom nhóm biểu thức logic

Phủ định (NOT)

Hội (Conjunction AND)

Tuyển (Disjunction OR)

Ký hiệu điều kiện (If…Then…)

Kéo theo hai chiều (If AND Only If)

Chúng ta giả thiết rằng tập các ký tự trong biểu thức logic là hữu hạn hoặc đếm được, nhưng hầu hết các kết luận vẫn đúng cho trường hợp không đếm được

Mệnh đề được chia làm hai loại cơ bản: mệnh đề sơ cấp (elementary), nó là các nguyên tử (atom)-không thể chia nhỏ được; mệnh đề phức hợp (compound), 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 mệnh

Trang 8

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

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

mệnh đề thường được dùng là các chữ thường

Ví dụ 1.1.2

p = “15 MOD 3 = 0”, là mệnh đề sơ cấp

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

Các phép toán mệnh đề: (phủ định) ; (hội) ; (tuyển) ; (hoặc hay tổng

trực giao) ; (kéo theo) ; (kéo theo hai chiều)

Biểu thức logic

Biểu thức logic có thể nói chính là mệnh đề phức hợp, biểu thức logic thường

được ký hiệu bởi các chữ in to và nó là sự kết hợp của:

- Các mệnh đề hay các giá trị hằng

- Các biến mệnh đề hoặc các biểu thức logic

- Các phép toán logic và các dấu ( )

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

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

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ên xuống dưới, từ trái qua phải theo bảng sau :

Trang 9

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

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

, Hội, tuyển

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

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

Tương đương của hai biểu thức logic

Hai biểu thức logic E và F được gọi là tương đương với nhau và viết E

F khi E và F có cùng chân trị

Các quy tắc thay thế

Quy tắc 1: (Quy tắc thay thế tương đương)

Cho E là một biểu thức logic, nếu thay thế một biểu thức con của nó bởi một biểu thức tương đương với biểu thức con đó, biểu thức logic E‟ mới nhận được

sẽ tương đương với E

Quy tắc 2: (Tính bất biến đối với biểu thức logic hằng đúng)

Cho E là biểu thức hằng đúng, nếu thay thế một biến mệnh đề p nào đó trong

E bởi một biểu thức logic bất kỳ ta sẽ nhận được biểu thức logic E‟ mới cũng là hằng đúng

Tương tự cho biểu thức hằng sai

Các dạng chính tắc

Biểu thức hội cơ bản

Biểu thức logic F = F (p1, p2, pn ), trong đó pi (i 1 ,n) là các biến mệnh đề

sơ cấp, được gọi là biểu thức hội cơ bản, nếu: F = q1 q2 qn ; với qi = pi hoặc qi = pi (i 1 ,n )

Biểu thức tuyển cơ bản

Trang 10

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Biểu thức logic E = E (p1, p2, pn ), trong đó pi (i 1 ,n) là các biến mệnh

đề sơ cấp, đƣợc gọi là biểu thức tuyển cơ bản, nếu: E = q1 q2 qn ; với

qi = pi hoặc qi = pi (i 1 ,n)

Biểu thức logic E = E (p1, p2, pn ), trong đó pi (i 1 ,n) là các biến mệnh

đề sơ cấp, đƣợc gọi là dạng tuyển chính tắc, nếu: E = E1 E2 En ; trong

đó mỗi Ei (i 1 ,n) là những biểu thức hội cơ bản của các pi (i 1 ,n)

Định lý 1:

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

Biểu thức logic hội chính tắc

Biểu thức logic F = F (p1, p2, pn ), trong đó pi (i 1,n) là các biến mệnh đề

sơ cấp, đƣợc gọi là dạng hội chính tắc, nếu: F = F1 F2 Fn , trong đó mỗi

Fi (i 1,n) là một biểu thức tuyển cơ bản của các pi (i 1 ,n)

Đị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

Mộ số luật hay được dùng nhất

1/ Luật phủ định của phủ định: p p

2/ Luật giao hoán: p q q p

p q q p 3/ Luật kết hợp: p (q r) (p q) r

p (q r) (p q) r 4/ Luật phân phối: p (q r) (p q) (p r)

p (q r) (p q) (p r) 5/ Luật Demorgan: (p q) p q

Trang 11

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

(p q) p q 6/ Luật về phần tử bù: p p 1

p p 0 7/ Luật kéo theo: p q p q

8/ Luật tương đương: p q (p q) (q p)

9/ Các luật đơn giản của phép tuyển ( ):

p p p

p 1 1

p 0 p

p (p q) p 10/ Các luật đơn giản của phép hội ( ):

Trang 12

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

5 Quy tắc tam đoạn luận

(p q) (q r) (p r) hay (p q) (q r) (p r)

Trang 13

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Quan hệ NhanVien

Kỹ sư điện Phân tích và thiết kế hệ thống

Kỹ sư cơ khí Lập trình viên Phân tích và thiết kế hệ thống

Kỹ sư điện

Kỹ sư cơ khí Phân tích và thiết kế hệ thống

Nguyễn Văn Bổng

Lê Hồng Ngoc Hoàng Trung Mã Trịnh Kim Thanh Ngô Đình Vinh Trần Mỹ Lệ

Lê Hồng Hạnh Nguyễn Trường Tam

NV1 NV2 NV3 NV4 NV5 NV6 NV7 NV8

TrinhDoCM TenNV

MaNV

Quan hệ TraLuong

4000 3400 2700 2400

Quan hệ PhanNhiem

12 24 6 10 48 18 24 48 36 40

Giám đốc Nhân viên phân tích và thiết kế Nhân viên phân tích và thiết kế Nhân viên tư vấn

Kỹ sư Lập trình viên Giám đốc Giám đốc

Kỹ sư Giám đốc

DA1 DA1 DA2 DA3 DA4 DA2 DA2 DA4 DA3 DA3

MaDuAn MaNV

Quan hệ DuAn

Hải Phòng

Hà Nội

Hà Nội TP.Hồ Chí Minh

150000 135000 250000 310000

Thiết bị đo đạc Phát triển CSDL CAD/ CAM Bảo dưỡng

DA1 DA2 DA3 DA4

ViTri NganSac

h

TenDuAn MaDu

Để thuận tiện cho việc nghiên cứu và trình bầy, chúng ta xét quan hệ CSDL của Công ty điện toán sau ( Hình 1)

Hình 1: Sơ đồ kết nối các quan hệ

Trang 14

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

1.2.1.Các phương pháp phân mảnh cơ bản

Các kiểu phân mảnh cơ bản là: Phân mảnh ngang, phân mảnh dọc Ngoài ra còn

có các kiểu phân mảnh dựa trên hai cách cơ bản đã nêu là phân mảnh ngang dẫn xuất và phân mảnh hỗn hợp

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

Cho đường nối l1 của hình 2, các hàm Nguon và Dich có các giá trị sau:

Nguon(l1 ) = TraLuong

Dich( l1) = NhanVien

Trang 15

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Thông tin định lƣợng cần có về CSDL là lực lƣợng của các quan hệ, đƣợc ký

hiệu là Card(.)

- Thông tin về ứng dụng

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

+ Phân mảnh ngang nguyên thủy

Phân mảnh ngang nguyên thuỷ đƣợc định nghĩa bằng một thuật toán chọn trên

các quan hệ nguồn của một lƣợc đồ CSDL Mảnh ngang Ri bao gồm các bộ của

Phân rã quan hệ DuAn thành các mảnh ngang DuAnH1 và DuAnH2 nhƣ sau:

DuAnH1 = NganSach 200000 (DuAn)

DuAnH2 = NganSach > 200000 (DuAn)

Trang 16

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Các mảnh thu được trình bày trong các bảng 1, 2, 3 tương ứng

DA1 Thiết bị đo đạc 150000 Hải Phòng

135000

250000

Hà Nội

Hà Nội Bảng 2 Mảnh ngang DuAn H2

Bảng 3 Mảnh ngang DuAn H3

Nhận xét:

Cho tập các vị M = {mi | mi là vị từ hôi sơ cấp i = 1, 2 ,…}

Ký hiệu |M| = Card(M) Vậy thì:

(1) Mảnh ngang Ri của quan hệ R là một quan hệ chứa các bộ của R thoả mãn vị

Trang 17

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

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 (vấn tin) truy xuất đến một bộ bất kỳ thuộc một mảnh hội sơ cấp nào đó được định nghĩa theo Pr đều bằng nhau

Ví dụ 1.2.1-3

Xét quan hệ DuAn và các mảnh ngang DuAnH1, DuAnH2, DuAnH3 trong ví

dụ 1.2.1-2 Nếu ứng dụng duy nhất p truy suất đến quan hệ DuAn, chỉ truy suất các bộ theo ViTri trí, thì tập vị từ PDuAn = {p} là đầy đủ, vì các bộ của mảnh DuAnHi điều có sác xuất truy xuất đến các mảnh như nhau Tuy nhiên nếu thêm ứng dụng thứ hai q truy xuất các dự án có ngân sách trên 200000 USD thì PDuAnkhông còn đầy đủ nữa, do một số bộ trong các mảnh DuAnHi có xác xuất được truy xuất cao hơn (chẳng hạn bộ {DA3, CAD/CAM, 250000, Hà Nội} trong DuAn H2 và {DA4, Bảo dưỡng, 310000, TP.Hồ Chí Minh} trong DuAn H3 được được truy xuất nhiều hơn các bộ còn lại Để cho tập vị từ PDuAn là đầy đủ, chúng

ta cần phải thêm các vị từ (NganSach ≤ 200000, DuAn > 200000) vào PDuAn Tức là

PDuAn = {ViTri = ”Hải Phòng”, ViTri = “Hà Nội”, ViTri = “ TP.Hồ Chí Minh ”, NganSach ≤ 200000, NganSach > 200000}

Định nghĩa 2 Vị từ đơn giản liên đới

Vị từ đơn giản pđược gọi là liên đới nếu biết được sự ảnh hưởng của nó đến cách thực hiện phân mảnh (nghĩa là vị từ p làm cho mảnh F bị phân thành các mảnh Fi và Fj đều khác rỗng, thì vẫn có ít nhất một ứng dụng truy xuất đến Fi và

Fj theo những cách khác nhau

Định nghĩa 3 Tập từ đơn giản cực tiểu

Nếu tất cả các vị từ của tập Pr đều có liên đới thì Pr được gọi là cực tiểu

Ví dụ 1.2.1-4

Tập PDuAn được định nghĩa trong ví dụ 1.2.1-3 là :

Trang 18

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

TraLuong1

TrinhDoCM, Luong

TraLuong2

TrinhDoCM, Luong

PDuAn = {ViTri = ”Hải Phòng”, ViTri = “Hà Nội”, ViTri = “ TP.Hồ Chí Minh

”, NganSach ≤ 200000, NganSach > 200000} là đầy đủ và cực tiểu, tuy nhiên nếu chúng ta thêm vị từ TenDuAn = "Thiết bị đo đạc" vào Pr, tập kết quả sẽ không còn cực tiểu vì vị từ mới được thêm vào không có liên đới ứng với PDuAn

Vì không có ứng dụng nào truy xuất khác nhau đến các mảnh tạo ra

Thuật toán lặp sau đây cho ta tập vị từ đầy đủ và cực tiểu P‟R khi đã có tập các

vị từ đơn giản PR Thuật toán này, được gọi là COM_MIN, nội dung COM_MIN được trình bày trong thuật toán COM_MIN(R, PR) [2], [3]

Qui tắc1 (Thừa nhận) Quy tắc về tính đầy đủ và cực tiểu

Một quan hệ (hoặc một mảnh) được phân hoạch thành ít nhất hai phần thì chúng phải được truy xuất khác nhau bởi ít nhất một ứng dụng

+ Phân mảnh ngang dẫn xuất

Phân mảnh ngang dẫn xuất là phân mảnh ngang trên quan hệ của một đường nối dựa theo phép toán chọn trên quan hệ nguồn của đường nối đó

Nếu cho trước một đường lối L, trong đó Nguon(L) = S và Dich(L) = R, các mảnh ngang dẫn xuất của R được định nghĩa là:

Ri = R╞ Si, 1 i

Trong đó là số lượng các mảnh được định nghĩa trên R, và Si = Fi(S) với Fi

là công thức định nghĩa mảnh ngang nguyên thuỷ Si

Ví dụ 1.2.1-5

Xét đường nối l1 trong hình 1, trong đó Nguon(l1) = TraLuong và

Dich(l1) = NhanVien Thế thì chúng ta có thể nhóm quan hệ trả TraLuong theo lương: nhóm có lương từ 30000 USD trở xuống và nhóm có trên 30000 USD Hai mảnh được sinh ra như sau:

Trang 19

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

MaNV, TenNV, TrinhDoCM

Khi đó phân mảnh dẫn xuất sẽ là

TraLuong1 = Luong 30000 (TraLuong)

TraLuong2 = Luong > 30000 (TraLuong)

Trong đó

NhanVienDanxxuat1 = NhanVien ╞ TraLuong1

NhanVienDanxxuat2 = NhanVien ╞ TraLuong2

Kết quả phân mảnh được trình bày trong các bảng 4(a,b)

Kỹ sư cơ khí Bảng 4a Mảnh dẫn xuất NhanVienDanxuat1 tương ứng TraLuong1

Ngô Đình Vinh Trần Mỹ Lệ Nguyễn Trường Tam

Kỹ sư điện Phân tích và thiết kế hệ thống Phân tích và thiết kế hệ thống

Kỹ sư điện Phân tích và thiết kế hệ thống Bảng 4b Mảnh dẫn xuất NhanVienDanxxuat2 tương ứng TraLuong2

Các thông tin cần cho phân mảnh ngang dẫn xuất

Muốn thực hiện phân mảnh ngang dẫn xuất, chúng ta cần ba thông tin vào: tập các mảnh của quan hệ nguồn (chẳng hạn TraLuong1 và TraLuong 2 trong Ví

Trang 20

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

dụ 1.2.1-5.), quan hệ đích (chẳng hạn NhanVien), và tập các vị từ nối nửa giữa nguồn và đích (chẳng hạn NhanVien.TrinhDoCM = TraLuong.TrinhDoCM trong Ví dụ 1.2.1-5.)

Ví dụ 1.2.1-6

Xét quan hệ PhanNhiem chúng ta phân mảnh ngang theo các mảnh DuAnH1, DuAnH3 , DuAnH4 và DuAnH6 của DuAn Cần nhớ lại rằng

DuAnH1 = ViTri = “Hải Phòng” NganSach 200000 (DuAn)

DuAnH3 = ViTri = “Hà Nội” NganSach 200000 (DuAn)

DuAnH4 = ViTri = “Hà Nội” NganSach > 200000 (DuAn)

DuAnH6 = ViTri = “TP.Hồ Chí Minh ” NganSach > 200000 (DuAn)

Vì thế phân mảnh dẫn xuất của PhanNhiem theo { DuAn1,DuAn3, DuAn4, DuAn6} Sẽ cho:

PhanNhiemDanxuat1 = PhanNhiem ╞ DuAnH1

PhanNhiemDanxuat2 = PhanNhiem ╞ DuAnH3

PhanNhiemDanxuat3 = PhanNhiem ╞ DuAnH4

PhanNhiemDanxuat4 = PhanNhiem ╞ DuAnH6

Thể hiện của các mảnh này được trình bày trong các bảng 5(a, b, c, d)

NV1

NV2

DA1 DA2

Giám đốc Nhân viên phân tích và thiết kế

12

24

Bảng 5a Mảnh dẫn xuất PhanNhiemDanxuat1 tương ứng với DuAnH1

Trang 21

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Ví dụ 1.2.1-7

Câu vấn tin thứ hai có thể được viết bằng SQL như sau

SELECT ChucVu, ThoiGianLV

FROM PhanNhiem, NhanVien

WHERE PhanNhiem.MaNV = NhanVienHi.MaNV

Trong đó i = 1 hoặc i = 2, tuỳ thuộc vào nơi đưa ra câu vấn tin Phân mảnh dẫn xuất của PhanNhiem theo phân mảnh của NhanVien được định nghĩa dưới đây và được trình bày trong các bảng 6 (a,b)

PhanNhiemDanxuat1 = PhanNhiem ╞ NhanVienH1

NV2

NV4

NV5

DA2 DA2DA2

Nhân viên phân tích và thiết

kế Lập trình viên Giám đốc

6

18

24

Bảng 5b Mảnh dẫn xuất PhanNhiemDanxuat2 tương ứng với DuAnH3

NV3

NV6

NV7

DA3 DA3DA3

Nhân viên tư vấn

Kỹ sư Giám đốc

10

36

40 Bảng 5c Mảnh dẫn xuất PhanNhiemDanxuat3 tương ứng với DuAnH4

NV3

NV6

DA4 DA4

Kỹ sư Giám đốc

48

48 Bảng 5d Mảnh dẫn xuất PhanNhiemDanxuat4 tương ứng với DuAnH6

Nhân viên tư vấn

Kỹ sư Lập trình viên

Trang 22

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

use(qi, Aj) =

1 nếu thuộc tính A j được vấn tin q i tham chiếu

0 trong trường hợp ngược lại

PhanNhiemDanxuat2 = PhanNhiem ╞ NhanVienH2

Giám đốc Nhân viên phân tích và thiết kế Nhân viên phân tích và thiết kế Giám đốc

Giám đốc Giám đốc

- Phân mảnh dọc

Phân mảnh dọc chia một quan hệ R ra các quan hệ con (mảnh) R1, R2, Rr Mỗi mảnh chứa một tập con các thuộc tính cùng với khóa của quan hệ R

- Các yêu cầu thông tin của phân mảnh dọc

Các thông tin chính cần cho phân mảnh dọc liên quan đến các ứng dụng Vì thế, chúng ta bàn về các điều kiện cho các ứng dụng sẽ chạy trên CSDL phân tán Bởi vì phân mảnh dọc đặt vào một mảnh các thuộc tính thường được truy xuất chung với nhau, chúng ta cần có một giá trị đo đạc được nào đó để định nghĩa chính xác hơn về khái niệm "chung với nhau" Số đo này được gọi là ái lực (affinity) của thuộc tính, nó chỉ ra mức độ liên đới giữa các thuộc tính [2], [3]

- Các yêu cầu dữ liệu

Yêu cầu dữ liệu có liên quan đến các ứng dụng gọi là tần số truy xuất access frequency của chúng Gọi Q={q1, q2,… qq} là tập các vấn tin của người dùng (các ứng dụng) sẽ chạy trên quan hệ R(A1,…An) Thế thì với mỗi câu vấn tin qi

và mỗi thuộc tính Aj chúng ta đưa ra một gía trị sử dụng thuộc tính ký hiệu là use(qi, Aj) và được định nghĩa như sau:

Trang 23

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

k| (use(q k ,A i )-l) use(q k ,A j )-l Si

ref l (q k )acc l (q k ) aff(Ai, Aj) =

Ai và Aj của quan hệ R(A1,…An) ứng với tập ứng dụng Q = {q1,…,qq} được định nghĩa là:

Trong đó refl(qk) là số truy xuất đến các thuộc tính (Ai, Aj) cho mỗi thực hiện của ứng dụng qk tại vị trí Sl và accl (qk) là số đo tấn số truy xuất ứng dụng đã được định nghĩa trước và được sửa đổi lại để chứa tất cả các tần số tại các vị trí khác nhau

Kết quả của việc tính toán này là một ma trận nn, mỗi phần tử của nó là một trong các số đo được định nghĩa trên.Chúng ta gọi nó là ma trận ái lực thuộc tính (AA)

- Phân mảnh hỗn hợp

Trong đa số các trường hợp, phân mảnh ngang hoặc phân mảnh dọc đơn giản cho một lược đồ CSDL không đủ đáp ứng các yêu cầu từ các ứng dụng 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 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 24

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Một Ví dụ điển hình minh hoạ cho sự cần thiết có phân mảnh hỗn hợp là quan

hệ DuAn mà chúng ta đã từng tác động lên nó Trong Ví dụ 1.2.1-5, chúng ta đã phân hoạch nó thành sáu mảnh ngang dựa vào hai ứng dụng

Số mức lồng ghép có thể khá lớn nhưng chắc chắn là hữu hạn Trong trường hợp phân mảnh ngang, quá trình này sẽ ngừng khi mỗi mảnh chỉ còn một bộ, và điểm ngừng cho phân hoạch là một thuộc tính mỗi mảnh Tuy nhiên những hạn chế đều có vẻ quá lý thuyết bởi vì các mức lồng trong phần lớn các ứng dụng thực tế đều không vượt quá 2 Điều này là do các quan hệ toàn cục được chuẩn hoá đều có các bậc nhỏ và không thể thực hiện phân mảnh quá nhiều trước khi chi phí nối trở nên quá cao

Chúng ta không thảo luận chi tiết về tính đúng đắn và các điều kiện cho phân mảnh hỗn hợp bởi vì tự nhiên là chúng tuân theo những yêu cầu của các phân mảnh ngang và dọc Ví dụ để tái thiết lại quan hệ toàn cục trong trường hợp phân mảnh hỗn hợp, người ta bắt đầu tại các nút lá của cây phân hoạch và di chuyển lên trên bằng cách thực hiện các phép nối và hợp Phân mảnh sẽ đầy đủ nếu các mảnh lá và mảnh trung gian đầy đủ Tương tự, tính tách biệt được bảo đảm nếu các mảnh lá và trung gian là tách biệt

(2) Mỗi trình độ chuyên môn có một giá trị lương duy nhất

Vì thế các mảnh của NhanVien cũng rời nhau

Trang 25

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

1.2.2 Các lệnh phân mảnh cơ bản dựa vào câu SQL

- Các lệnh cơ bản cho phân mảnh ngang dựa vào câu SQL

SELECT *

FROM < Tên quan hệ >

WHERE < Condition >

Ví dụ 1.2.2.-1 : Ta xét bảng quan hệ NhanVien từ bảng dưới:

001 Nguyễn Văn Lâm TP Kỹ thuật 04 4500000

002 Nguyễn Đức Hoàn Kỹ thuật viên 04 2800000

003 Nguyễn Sơn Tùng NV bảo hành 03 3200000

Trang 26

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

và cách thiết trong CSDL phân tán Các lệnh phân mảnh dựa vào câu SQL

CSDL phân tán đã được trình bày có các kiểu phân mảnh chính là : Phân mảnh ngang, phân mảnh dọc và phân mảnh hỗn hợp ( Trong phân mảnh ngang được chia ra làm 2 loại là : Phân mảnh ngang nguyên thuỷ và phân mảnh ngang dẫn xuất ), từ những kiến thức tìm hiểu được trong chương, làm cơ sở cần thiết cho việc mở rộng nghiên cứu các phần tiếp theo của luận văn

Trang 27

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Chương 2: PHÂN MẢNH VÀ GỘP NHÓM TRONG CSDL PHÂN TÁN 2.1 CÁC KỸ THUẬT PHÂN MẢNH DỮ LIỆU TRONG CSDL

2.1.1 Loại bỏ dư thừa

Kết quả câu vấn tin của người sử dụng thường được thể hiện trên một khung nhìn, có thể được bổ sung thêm nhiều vị từ để có được sự tương ứng khung nhìn - quan hệ, nhằm bảo đảm được tính toàn vẹn ngữ nghĩa và bảo mật Khi bổ sung như vậy có thể sinh ra các vị từ dư thừa cần phải loại bỏ Người ta

có thể loại bỏ vị từ dư thừa khi áp dụng các quy tắc luỹ đẳng sau:

2.1.2.1 Phân mảnh ngang vòng tròn Robin

- Giả sử cho trước dãy số nguyên bất kỳ: n 0 , n 1 ,…, n p-1 , n p và cho số nguyên

N thì dãy {n i} sẽ phân thành N lớp dựa vào hàm (ni mod N) được đánh số 0, 2,…, N-1

Trang 28

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Cho N vùng (thiết bị) lưu trữ dữ liệu được đánh số 0, 1,…, N-1 Một quan hệ với khóa chính ID, như vậy bộ tương ứng giá trị ID của quan hệ sẽ được đặt lưu vào vùng thứ (ID mod N)

Một trong những đoạn giả mã, có thể được viết như sau:

Cách phân mảnh này dễ cài đặt và không xảy ra tình trạng thiếu cân đối về

dữ liệu vì các vùng chỉ hơn kém nhau tối đa một bộ

Kỹ thuật phân mảnh này dựa trên thứ tự các bộ nên nó không phụ thuộc vào bất cứ một thuộc tính nào của quan hệ được phân mảnh

Phân mảnh Robin không thích hợp với các truy vấn khoảng vì phải tiến hành tìm kiếm trên tất cả các vùng có lưu trữ quan hệ đang xét

Trang 29

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

WHERE (IDNumber mod 4) = i

Kết quả được thể hiện tại các bảng Vungi tương ứng sau:

b)

Trang 30

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

d)

Trang 31

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Hình 2.1.2.1c

2.1.2.2 Phân mảnh ngang theo hàm băm

Phân mảnh theo hàm băm là trường hợp tổng quát của Robin Giả sử cần

phân mảnh quan hệ R cho N vùng được đánh số 0, 1, , N-l với thuộc tính phân mảnh là A Bộ t thuộc R được đưa vào vùng k nếu k = t(A) mod N, trong đó t(A) là giá trị trên thuộc tính A của bộ t

Mã giả như sau:

Ví dụ 2.1.2.2 Với quan hệ Nhanvien như sau

Trang 32

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Phân mảnh quan hệ NhanVien kiểu hàm băm theo thuộc tính NGAY_SINH cho 3 vùng

149 Ngô Quốc Công 21/12/1947 12500000

Trang 33

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

- Giảm sự quá tải khi phải khởi động truy vấn trên tất cả các vùng Thông thường các dữ liệu liên quan được nhóm lại với nhau và lưu trữ trên cùng một trang vật lý

- Nhưng phân mảnh theo hàm băm thì các mẫu tin được phân mảnh ngẫu nhiên vào các vùng chứ không được nhóm lại với nhau nên không thích hợp với các truy vấn khoảng

2.1.2.3 Phân mảnh ngang theo khoảng

Gộp những bộ mà giá trị thuộc tính nào đó của các bộ của chúng thuộc miền nào đó Thông thường dùng câu lệnh SQL, để phân ra nhiều mảnh, có dạng:

Trang 34

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Hình 2.1.2.3 a

Vùng 1 : 1960 <= NAM_SINH AND NAM_SINH <= 1970

Trang 35

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Nhận xét:

- Cách phân mảnh này thuận lợi cho các phép tìm kiếm kết hợp, truy vấn khoảng và nhóm dữ liệu Tuy nhiên, dễ gây ra sự chênh lệch dữ liệu khi tất cả các mẫu tin trong quan hệ có giá trị trên thuộc tính phân mảnh nằm hầu hết trong một khoảng nào đó

- Các loại phân mảnh ngang, phân mảnh dọc hoặc phân mảnh hỗn hợp đều có thể thực hiện bằng SQL nhƣ sau:

SELECT <Danh sách thuộc tính>

FROM <Tên quan hệ>

R= R1 R2, ., Rk

Ví dụ 2.1.3

Xét các phép toán đại số quan hệ sau:

DUAN3 = $1.$3DUAN DUAN4 = $1.$4DUAN

Trang 36

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Dễ thấy, các thỏa mãn tính tái thiết được và tính đầy đủ

DUAN3 DUAN ; DUAN4 DUAN; DUAN= DUAN3 DUAN4

2.1.4 Phân mảnh hỗn hợp

Là kết hợp cả phân mảnh ngang và phân mảnh dọc

Ví dụ 2.1.4

Xét các phép toán đại số quan hệ sau :

DUAN5 = NGANSACH 20000( $1.$3DUAN)

DUAN6 = NGANSACH > 20000( $1.$3DUAN)

Hàm COUNT: Đếm số bộ có trong một quan hệ

Hàm TOTAL: Tính tổng các giá trị trong một trường của một quan hệ Hàm MAX: Cho giá trị cực đại của một trường trong một quan hệ

Hàm MIN: Cho giá trị cực tiểu của một trường trong một quan hệ

Hàm AVERAGE: Cho giá trị trung bình cộng của một trường trong một quan hệ

Trang 37

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Câu lệnh SQL là một loại ngôn ngữ con dữ liệu quan hệ đƣợc xác nhận là rất mạnh Phép toán cơ bản trong SQL là phép ánh xạ, đƣợc mô tả về cú pháp nhƣ là khối SELECT - FROM - WHERE

Mệnh đề SELECT nghĩa là chọn các thuộc tính ra, hay còn gọi là thuộc tính kết quả, nếu không chỉ ra thuộc tính thì dùng dấu * có nghĩa là tất cả các thuộc tính của quan hệ đang đƣợc chỉ ra sau mệnh đề FROM Sau mệnh đề WHERE

là một biểu thức điều kiện lọc dữ liệu (hay còn gọi là biểu thức logic)

Ngoài ra, đễ mở rộng khả năng của ngôn ngữ, khối SELECT - FROM - WHERE còn đƣợc bổ sung thêm các mệnh đề GROUPE BY, having, order by Các hàm mẫu và một số phần mềm còn thêm cả mệnh đề contpute, for browse Trong các phần sau sè trình bầy chi tiết tiếng mệnh đề

Dạng tổng quát của khối SELECT đƣợc biểu diễn nhƣ sau:

SELECT <* | DISTINCT> | danh-sách-thuộc tính>

FROM <danh_sách_tên_bảng | tên_các_wiev>

Trong dó mệnh đề WHERE dƣợc biểu diễn dạng:

WHERE [NOT] BiểuThức PhépSoSánh BiểuThức

WHERE [NOT] tên_cột [ NOT] LlKE xâu_kí_tự

WHERE [NOT] biểu_thức [NOT] BETWEEN biểu_thức AND biểu_thức WHERE [NOT] BiểuThức [NOT] lN ({danhSách | CâuHỏiCon})

Ngày đăng: 22/11/2014, 21:17

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Đỗ Xuân Lôi, Cấu trúc dữ liệu và giải thuật, NXB Khoa học và Kỹ thuật, 1996 Sách, tạp chí
Tiêu đề: Cấu trúc dữ liệu và giải thuật
Nhà XB: NXB Khoa học và Kỹ thuật
[2] Đoàn Văn Ban, Nguyễn Mậu Hân, Xử lý song song và phân tán, NXB Khoa học và Kỹ thuật, 2006 Sách, tạp chí
Tiêu đề: Xử lý song song và phân tán
Nhà XB: NXB Khoa học và Kỹ thuật
[3] Lê Huy Thập, Cơ sở lý thuyết song song, NXB THÔNG TIN VÀ TRUYỀN THÔNG, 8-2010 Sách, tạp chí
Tiêu đề: Cơ sở lý thuyết song song
Nhà XB: NXB THÔNG TIN VÀ TRUYỀN THÔNG
[4] Lê Huy Thập, Phân mảnh trên giá trị lặp của các thuộc tính trong CSDL quan hệ, Tạp chí tin học và điều khiển học, Tập 23, Số 1, 86 – 98, 2007 Sách, tạp chí
Tiêu đề: Phân mảnh trên giá trị lặp của các thuộc tính trong CSDL quan hệ
[5] Robert Sedgewick, Cẩm nang thuật toán Vol.1 and vol.2. NXB Khoa học và Kỹ thuật, 2001 Sách, tạp chí
Tiêu đề: Cẩm nang thuật toán
Nhà XB: NXB Khoa học và Kỹ thuật
[6] M.Tamer Ozsu, Patrick Valduriez. “Nguyên lý các hệ cơ dữ liệu phân tán”. Trần Đức Quang biên dịch. NXB Thống kê, 1999 Sách, tạp chí
Tiêu đề: Nguyên lý các hệ cơ dữ liệu phân tán”
Nhà XB: NXB Thống kê
[7] Seyed H. Roo, “Parallel processing and Parallel Algorithms, Theory and Coputation”, Springer 1999 Sách, tạp chí
Tiêu đề: “Parallel processing and Parallel Algorithms, Theory and Coputation”

HÌNH ẢNH LIÊN QUAN

Bảng chân trị của các phép toán mệnh đề - các kỹ thuật phân mảnh, gộp nhóm trong csdl phân tán
Bảng ch ân trị của các phép toán mệnh đề (Trang 8)
Hình 1: Sơ đồ kết nối các quan hệ. - các kỹ thuật phân mảnh, gộp nhóm trong csdl phân tán
Hình 1 Sơ đồ kết nối các quan hệ (Trang 13)
Bảng 1. Mảnh ngang DuAn  H1 - các kỹ thuật phân mảnh, gộp nhóm trong csdl phân tán
Bảng 1. Mảnh ngang DuAn H1 (Trang 16)
Hình 3. Đồ thị nối giữa các mảnh - các kỹ thuật phân mảnh, gộp nhóm trong csdl phân tán
Hình 3. Đồ thị nối giữa các mảnh (Trang 19)
Hình 2.1.2.2b  Nhận xét . - các kỹ thuật phân mảnh, gộp nhóm trong csdl phân tán
Hình 2.1.2.2b Nhận xét (Trang 32)
Hình 3-1. Sơ đồ kết nối các quan hệ - các kỹ thuật phân mảnh, gộp nhóm trong csdl phân tán
Hình 3 1. Sơ đồ kết nối các quan hệ (Trang 63)
Hình 3-2:  Gộp nhóm theo thuật toán ReF - các kỹ thuật phân mảnh, gộp nhóm trong csdl phân tán
Hình 3 2: Gộp nhóm theo thuật toán ReF (Trang 71)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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