1. Trang chủ
  2. » Giáo án - Bài giảng

Bài 4 Phân mảnh dọc cơ sở dữ liệu phân tán-TS.Phạm Thế Quế

31 1,5K 4

Đ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 31
Dung lượng 774,81 KB

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

Nội dung

Phân mảnh dọcĐịnh nghĩa 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à khoá của nó.. Mục đích Phân chia qua

Trang 1

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

Trang 2

Phân mảnh dọc

Định nghĩa 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à khoá của nó

Mục đích Phân chia quan hệ R thành các mảnh nhỏ hơn là để

cho nhiều ứng dụng có thể thực hiện trên một mảnh tối

ưu, giảm thiểu thời gian thực hiện ứng dụng Nâng cao hiệu năng xử lý đồng thời.

Tối ưu ? Một phân mảnh tối ưu là phân mảnh sinh ra một lược

đồ phân mảnh cho phép giảm tối đa thời gian thực thi

Trang 5

Ví dụ ma trận giá trị sử dụng thuộc tính

Quan hệ: PROJ (PNO, PNAME, BUDGET, LOC)

Tập các ứng dụng:

q1: Kinh phí của dự án khi biết mã dự án

SELECT BUDGET FROM PROJ WHERE PNO = Value

q2: Tên và kinh phí của tất các dự án

q3: Tìm tên các dự án khi biết thành phố

SELECT PNAME FROM PROJ WHERE LOC = Value

q4:Tổng kinh phí của các dự án tại mỗi thành phố

SELECT SUM( BUDGET ) FROM PROJ WHERE LOC = Value

Trang 6

Ví dụ ma trận giá trị sử dụng thuộc tính

q2: SELECT A2, A3 FROM PROJ

q3: SELECT A2 FROM PROJ WHERE A4 = Value q4: SELECT SUM( A3 ) FROM PROJ WHERE A4 = Value

Ký hiệu: A1= PNO, A2=PNAME, A3=BUDGET, A4=LOC

A =

Trang 7

Ma trận lực hút AA(Attribute Affinity Matrix)

Trong đó:

) , ( ( [:

) (

) (

) ,

(

j k i

k A use q A l

q use

k l

k l

j

A aff

Trang 8

Ma trận lực hút AA(Attribute Affinity Matrix)

.

An

A n aff(A n ,A1) aff(A n ,A2) aff(A n ,A n )

AA =

Trang 9

Ví dụ ma trận lực hút AA

Site1 Site2 Site3

acc1(q1)=15 acc2­(q1)=20 acc3(q1)=10

acc1(q2)=5 acc2­(q2)=0 acc3(q2)=0acc1(q3)=25 acc2(q3)=25 acc3(q3)=25

acc1(q4)=3 acc2(q4)=0 acc3(q4)=0

Trang 10

Ví dụ ma trận lực hút AA

45 )

( )

( )

( )

( )

3

= =

q acc q

acc q

acc q

acc A

A aff

acc1(q2)=5 acc2­(q2)=0 acc3(q2)=0

acc1(q3)=25 acc2(q3)=25 acc3(q3)=25

acc1(q4)=3 acc2(q4)=0 acc3(q4)=0

Trang 11

Ví dụ ma trận lực hút AA

AA =

Trang 12

( )

, (

) ,

( [

2 )

, ,

( A i A k A j bond A i A k bond A k A j bond A i A j

Ak, Ai, Aj ; Ai, Ak, Aj ; Ai, Aj, Ak

của tích 2 phần tử cùng hàng của hai cột Vì ma trận

Trang 14

Thuật toán tụ nhóm BEA (Bond Energy Algorithm)

Nhóm các thuộc tính của quan hệ toàn cục bằng cách hoán vị các hàng và các cột của ma trận AA, sao cho số đo hấp dẫn

cont() là lớn nhất Kết quả sẽ là một ma trận tụ hấp dẫn CA

(Cluster Affinity) Thuật toán gồm 3 bước:

 Bước 1: Đặt cột 1 và 2 của AA vào cột 1&2 trong CA.

 Bước 2: Giả sử có i cột đã được đặt vào CA Lấy lần lượt

một trong (n­i) cột còn lại của AA, đặt vào cột thứ (i+1) của

CA, sao cho số đo AM tại vị trí đó là lớn nhất

 Bước 3: Sắp thứ tự hàng theo thứ tự cột

Trang 15

Thuật toán tụ nhóm BEA (Bond Energy Algorithm)

Trang 18

Ví dụ

AA =

CA =

Đặt A3 giữa A1 và

Trang 19

End – for

Điều kiện biên, thứ tự (3-4-5): cont(A2,A4,A0)= 23730

loc =4 thứ tự (1-3-2) có cont =10150 lớn nhất

Trang 20

AA =

CA =

Đặt A4 bên phải A2

Trang 21

CA = CA =

Trang 22

Thuật toán phân mảnh dọc

tích 2 phần tử cùng hàng của hai cột Vì ma trận AA đối xứng, có thể thực hiện tương tự theo hàng

trong CA, vì A2 có thể đặt ở bên trái hoặc phải của A1

 Nếu Aj là thuộc tính tận trái trong ma trận CA, kiểm tra

Trang 23

Thuật toán phân mảnh dọc

TA

Trang 24

Thuật toán phân mảnh dọc

AQ(qi) ={Aj| use(qi, Aj) =

Trang 25

Thuật toán phân mảnh dọc

Tổng chi phí truy xuất của tất cả các ứng dụng trên tất cả các vị trí

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

j q acc q ref

Trang 26

Thuật toán phân mảnh dọc

Bài toán tối ưu hóa phân mảnh chính là bài toán xác định định một điểm : sao cho :

Trang 27

Thuật toán phân mảnh dọc

acc1(q1)=15 acc2­(q1)=20 acc3(q1)=10 acc1(q2)=5 acc2­(q2)=0 acc3(q2)=0 acc1(q3)=25 acc2(q3)=25 acc3(q3)=25 acc1(q4)=3 acc2(q4)=0 acc3(q4)=0

Trang 28

Thuật toán phân mảnh dọc

acc1(q1)=15 acc2­(q1)=20 acc3(q1)=10 acc1(q2)=5 acc2­(q2)=0 acc3(q2)=0

Trang 29

Thuật toán phân mảnh dọc

COQ3 = acc1 (q3) + acc2 (q3) + acc3 (q3) + acc1 (q4) + acc2 (q4) + acc3 (q4) = 78

acc1(q1)=15 acc2­(q1)=20 acc3(q1)=10 acc1(q2)=5 acc2­(q2)=0 acc3(q2)=0 acc1(q3)=25 acc2(q3)=25 acc3(q3)=25

Trang 30

Thuật toán phân mảnh dọc

Vị trí 1: Z = ­ 2025

Vị trí 2: Z = 3311

Vị trí 3: Z = ­ 6084

Như vậy vị trí 2 có chi phí là lớn nhất

Quan hệ PROJ chia thành 2 mảnh:

PROJ1 {A1, A3} = PROJ1 {PNO, BUDGET}

PROJ2 {A1, A2, A4} = PROJ2 {PNO, PNAME, LOC}

Trang 31

Thuật toán phân mảnh dọc

PROJ

Ngày đăng: 26/11/2014, 11:48

TỪ KHÓA LIÊN QUAN

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