1. Trang chủ
  2. » Công Nghệ Thông Tin

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

68 137 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 68
Dung lượng 565,46 KB

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

Nội dung

Nguyên tắc chung: Quyết định bố trí dữ liệu và chương trình trên các vị trí của mạng máy tính cũng như thiết kế bản thân mạng. „Trong HệQTCSDLPT,việc bốtríứng dụng bao gồm: ÆBốtríphần mềm HệQTCSDLPT;và ÆBốtrícác ứng dụng chạy trên CSDL. „Từtrên xuống (Topdown) ÆThiết kếhệthống từ đầu ÆCác hệthống đồng chất (homogeneoussystems) „Từ dưới lên (Bottomup) ÆKhi đã cóCSDL ởmột sốvịtrí

Trang 1

Thiết kế CSDL phân tán

Trường Đại học Công nghệ thông tin, ĐHQG-HCM

Trang 2

Bài toán thiết kế

„ Nguyên tắc chung:

Quyết định bố trí dữ liệuchương trình trên các vị trí của

„ Trong Hệ QTCSDLPT, việc bố trí ứng dụng bao gồm:

Trang 3

Các khía cạnh của bài toán

Level of sharing

Level of knowledge

Access pattern behavior

partialinformation

dynamicstatic

data

data +

Trang 5

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

User Input View Integration

User Input

Requirements Analysis Objectives

Conceptual

Access Information ES’s GCS

Distribution Design

Physical Design LCS’s

Trang 6

Các vấn đề của thiết kế phân tán

œ Tại sao phải phân mảnh dữ liệu?

 Cách phân mảnh?

ž Mức độ phân mảnh?

Ÿ Cách kiểm tra tính đúng đắn?

  Cách cấp phát?

Trang 7

Phân mảnh dữ liệu

„ Chỉ để phân tán các quan hệ?

„ Đơn vị phân tán nào là hợp lý?

‹ views là tập con của quan hệ -> cục bộ

‹ Cần truyền thông ( qua mạng) nhiều hơn- nếu quan hệ được lưu ở nới khác với vị trí khởi động truy vấn

‹ Thực hiện đồng thời một số giao tác nhằm truy cập các phần khác nhau của quan hệ

‹ Views không được định nghĩa trên một mảnh duy nhất sẽ yêu cầu nhiều xử lý

‹ Kiểm soát dữ liệu ngữ nghĩa (đặc biệt là ép thỏa toàn vẹn) là điều khó khăn

Trang 8

PROJ1 : các projects có kinh phí

budgets) nhỏ hơn $200,000 PROJ2 : các projects có kinh phí lớn

PROJ

PNO PNAME BUDGET LOC P1 Instrumentation 150000 Montreal P3 CAD/CAM 250000

P2 Database Develop 135000

P4 Maintenance 310000 Paris P5 CAD/CAM 500000 Boston

New York New York

Trang 9

Các kiểu phân mảnh– dọc

PROJ1: thông tin về kinh phí của

đề án PROJ2: thông tin về tên và vị trí

của đề án

PNO BUDGET P1 150000 P3 250000

P2 135000

P4 310000 P5 500000

PNO PNAME LOC P1 Instrumentation Montreal P3 CAD/CAM New York

P2 Database Develop New York

P4 Maintenance Paris P5 CAD/CAM Boston

New York New York

PROJ

PNO PNAME BUDGET LOC P1 Instrumentation 150000 Montreal P3 CAD/CAM 250000

P2 Database Develop 135000

P4 Maintenance 310000 Paris P5 CAD/CAM 500000 Boston

New York New York

Trang 10

Mức độ phân mảnh

Phân mảnh đếm mức độ nào là một quyết định đến

hiệu năng truy vấn

Tìm mức độ thích hợp để phân hoạch trong phạm vi

Bộ hay Thuộc tính

Phân mảnh (ngang, dọc)

Quan hệ (không phân mảnh)

Số hữu hạn các kiểu

Trang 11

„ Tính đầy đủ (completeness)

Æ Phân rã quan hệ R thành các mảnh R1, R2, , Rnđầy đủ nếu và

chỉ nếu mỗi mục dữ liệu trong R đều có thể tìm thấy trong quan hệ

Ri nào đó.

„ Tính tái tạo (reconstruction)

Æ Nếu quan hệ R được phân rã thành các mảnh R1, R2, , Rn, thì sẽ tồn tại một toán tử quan hệ ∇ sao cho:

R = 1≤i≤nRi

„ Tính rời nhau (disjointness)

Æ Nếu quan hệ R được phân rã thành các mảnh R1, R2, , Rn, và mục

dữ liệu di thuộc về Rj, thì di không thuộc về bất kỳ mảng nào khác

Rk (k ≠ j ).

Tính đúng đắn trong phân mảnh

Trang 12

Các cách cấp phát

Æ Phân hoạch: mỗi mảnh nằm trên một vị trí (partition), tồn tại bản sao duy nhất của một mảnh trên mạng

read - only queriesupdate queries ≥ 1

Trang 13

CONTROL Moderate Difficult Easy

RELIABILITY Very high High Low

REALITY Possible

application Realistic

Possible application

Trang 14

„ Có 4 nhóm:

Trang 15

„ Phân mảnh ngang (HF)

„ Phân mảnh dọc (VF)

„ Phân mảnh hỗn hợp (HF)

Phân mảnh

Trang 16

„ Thông tin về CDSL

TITLE, SAL SKILL

ENO, ENAME, TITLE PNO, PNAME, BUDGET, LOC

ENO, PNO, RESP, DUR

đuôi của link là owner và qhệ nằm tại đầu (có mũi tên) của link là member

Trang 19

„ Thông tin ứng dụng

Æ Độ tuyển hội sơ cấp: minterm selectivities : sel(mi)

‹ Số các bộ của quan hệ được câu truy vấn truy cập, câu truy vấn

được chỉ định bằng minterm predicate m i

Æ Tần số truy cập: access frequencies : acc(qi)

‹ Tần số truy cập dữ liệu của ứng dụng qi.

‹ Cũng có thể xác định tần số truy cập cho minterm predicate

Trang 20

Tập các phân mảng ngang cũng được gọi là minterm fragments

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

Trang 21

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) xem slide tiếp theo

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

Trang 22

„ Tập các simple predicates Pr được gọi là đầy đủ nếu

và chỉ nếu các truy cập đến các bộ của các mảnh hội

tối thiểu (minterm fragments) được định nghĩa theo Pr

yêu cầu hai bộ của cùng một minterm fragment phải

có cùng xác suất truy cập của một ứng dụng bất kỳ.

Trang 23

Theo (hình 5.8 trang 124 sách GK),

Pr={LOC=“Montreal”,LOC=“New York”,LOC=“Paris”}

Là không đầy đủ vì truy vấn (2) Xác suất truy vấn P2,P3

là khác nhau trong mảnh PROJ2

Trang 24

„ Để một vị tự phát sinh phân mảnh, (vd, biến mảnh f

„ Nếu tất cả các predicates của tập Pr đều có liên đới

thì Pr is tối tiểu (minimal).

acc(m ) acc(m )

acc(mi): tần số truy cập của ứng

Trang 25

Ví dụ :

Pr ={LOC=“Montreal”,LOC=“New York”, LOC=“Paris”,

BUDGET≤200000,BUDGET>200000}

Là tối tiểu (ngoài ra nó còn đầy đủ).

Tuy vậy, nếu thêm

PNAME = “Instrumentation”

Thì Pr không cực tiểu vì vị từ này không có liên đới với Pr (không

có ứng dụng nào truy cập khác nhau trên các mảnh được tạo ra).

Đầy đủ: xác suất truy cập các bộ giống nhau

Tối tiểu: các vị từ đều có liên đới.

Liên đới: có ứng dụng truy cập khác nhau trên các mảnh tạo ra.

Trang 26

Cho: quan hệ R và tập các vị từ Pr

Kết quả: Tập đầy đủ và tối tiểu các vị từ đơn Pr' cho Pr

Quy tắc 1: Quan hệ hay mảnh được phân thành ít

nhất là hai phần khác nhau và được ít nhất một ứng dụng truy cập các bộ với xác suất khác

nhau.

Thuật toán COM_MIN

Trang 27

z Tìm pj ∈ Pr sao cho pj phân hoạch fk được định nghĩa theo

minterm predicate trên Pr' theo quy tắc 1

Trang 28

ž Xác định tập I các phép kéo theo giữa các pi ∈ Pr

Ÿ Khử các minterms mâu thuẫn khỏi M

Thuật toán PHORIZONTAL

Trang 29

„ Cho các quan hệ ứng viên: PAY và PROJ.

„ Phân mảnh quan hệ PAY

2 vị trí mỗi nơi xử lý các mẫu tin có lương thấp hơn hay bằng

30000 và một nơi khác xử lý các mẫu tin có lương cao hơn 30000.

p1 : SAL ≤ 30000

p2 : SAL > 30000

Thuật toán COM-MIT Pr={p1, p2}

Với i = 1 , ta tìm được p1 thỏa quy tắc 1: phân quan hệ PAY thành 2 phần

là phần thỏa SAL ≤ 30000 và phần không thỏa SAL ≤ 30000, hai phần này được truy cập khác nhau bởi ứng dụng

Trang 30

PHF – Ví dụ (2/2)

Pr‘ <- p1

Pr = {p2}

F ={f 1 } , f 1 mảnh hội sơ cấp theo p1

Trong Pr còn p2 , nhưng p 2 không thể phân hoạch mảnh f1 do đó

Pr‘ = { p1 } là đầy đủ và tối thiểu

m1 : (SAL ≤ 30000)

m2 : NOT(SAL ≤ 30000) = (SAL > 30000)

Trang 31

PHF – Ví dụ: phân mảnh ngang

TITLEMech Eng

Programmer

SAL2700024000

TITLEElect Eng

Syst Anal

SAL4000034000

Trang 33

„ D ùng thuật toán COM-MIN ta có

„ Pr = Pr' = {p1,p2,p3,p4,p5}

„ Phân mảnh quan hệ PROJ tiếp theo

Æ Minterm fragments còn lại sau khi khử

m1 : (LOC = “Montreal”) ∧ (BUDGET ≤ 200000)

m2 : (LOC = “Montreal”) ∧ (BUDGET > 200000)

m3 : (LOC = “New York”) ∧ (BUDGET ≤ 200000)

m4 : (LOC = “New York”) ∧ (BUDGET > 200000)

m5 : (LOC = “Paris”) ∧ (BUDGET ≤ 200000)

m6 : (LOC = “Paris”) ∧ (BUDGET > 200000)

Trang 34

PNO PNAME BUDGET LOC

P3 CAD/CAM 250000 New York

PNO PNAME BUDGET LOC

Maintenance P4 310000 Paris

Trang 36

„ Được xác định theo quan hệ member của link dựa trên

phép chọn được chỉ định trên owner của nó

Æ Mỗi link là một equijoin.

Derived Horizontal Fragmentation

TITLE, SAL SKILL

ENO, ENAME, TITLE PNO, PNAME, BUDGET, LOC

L1

Quan hệ nằm tại đuôi của link là owner và qhệ nằm tại đầu (có mũi tên) của link

là member

Member(L1)=

Trang 37

Chon link L với owner(L)=Smember(L)=R, các mảnh

ngang suy dẫn củ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

Si = σFi (S) , Si là các phân mảnh ngang của owner

Với Fi là công thức theo đó xác định phân mảnh ngang

nguyên thủy Si.

Trang 38

Given link L1 where owner(L1)=SKILL and member(L1)=EMP

EMP1 = EMP SKILL1EMP2 = EMP SKILL2

where

SKILL1 = σ SAL≤30000 (SKILL)SKILL2 = σSAL>30000 (SKILL)

ENO ENAME TITLE

E3 A Lee Mech Eng.

ENO, ENAME, TITLE EMP

L1

Trang 39

„ Tính đầy đủ

được phân mảnh thành FS = {S1, S2, , Sn} Ngoài ra gọi A là thuộc tí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 S sao cho

Trang 40

Phân mảnh dọc

Vertical Fragmentation

Trang 41

„ Đã được nghiên cứu trong ngữ cảnh tập trung

Trang 42

„ Các mảnh chồng nhau Overlapping fragments

Vertical Fragmentation

Trang 43

„ Thông tin ứng dụng

Æ Các ái lực thuộc tính (Attribute affinities)

‹ Độ đo phản ánh các thuộc tính quan 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)

‹ Cho tập các truy vấn Q = {q1, q2,…, q q } chạy trên quan hệ R[A1,

A2,…, A n],

use(q i ,•) được định nghĩa tương ứng

Trang 44

Xét 4 truy vấn cho quan hệ PROJ

Gọi A1= PNO, A2= PNAME, A3= BUDGET, A4= LOC

Trang 45

Độ đo ái lực thuộc tính giữa 2 thuộc tính AiAj 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:

Trang 46

Giả sử từng truy vấn trong ví dụ trước truy cập trong

Trang 47

„ Lấy ma trận ái lực AA và tổ chức lại các thứ tự của

thuộc tí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ác

„ Thuật toán năng lượng liên kết - Bond Energy

Algorithm (BEA) được dùng để gom cụm các thực thể BEA tìm thứ tự các thực thể ( trong trường hợp này là các thuộc tính) sao cho độ đó ái lực toàn cục sau

là cực đại.

AM = (affinity of A i and A j with their neighbors)

j

i

Trang 48

 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 Đối vớ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àn cục.

ž Sắp thứ tự dòng: Sắp xếp các dòng theo thứ tự cột.

Thuật toán năng lượng liên kết

Bond Energy Algorithm

Trang 49

Vị trí “tốt nhất”? Xác định mức đóng góp của bố trí:

cont(Ai, Ak, Aj) = 2bond(Ai, Ak)+2bond(Ak, Al) –2bond(Ai, Aj)

Với

Thuật toán năng lượng liên kết

Bond Energy Algorithm

bond(A x ,A y) = aff(A z ,A x )aff(A z ,A y)

z = 1 n

Trang 50

Xét ma trận AA và ma trận tương ứng CA sau đây với A1 và A2 đã được đặt

A A A

1 2 3 4

Trang 51

Do vật ma trận CA có dạng

A1 A3 A2

450450

455533

080575

Trang 52

Sau khi đặt A4, dạng cuối cùng của ma trận CA (sau khi tổ chức dòng) là

A1 A3 A2 A4A

A

A

1

2 3

45450

45535

0580

0375

Trang 53

Cách chia tập các thuộc tính gom cụm {A1, A2, …, An}

thành hai (hay nhiều hơn) các tập {A1, A2, …, Ai} và {Ai,

…, An} sao cho không có (hay có tối thiể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.

Trang 54

Định nghĩa

TQ=tập các ứng dụng chỉ truy cập TA BQ=tập các ứng dụng chỉ truy cập BA

TABA

Sau đó tìm điểm dọc theo đường chéo làm cực đại

Trang 55

Có hai vấn đề:

Æ Dịch lên một dòng và dịch trái một cột, áp dụng thuật toán tìmđiểm phân hoạch tốt nhất

Æ Làm điều này cho tất cả các dịch chuyển khả dĩ

Æ Chi phí O(m2)

 Nhiều hơn 2 clusters

Æ Phân hoạch theo m-cách

Æ Thử với 1, 2, …, m–1 điểm tách dọc theo đường chéo và tìm điểm

tốt nhất cho từng điểm

Æ Chi phí O(2 m)

Trang 56

A relation R, defined over attribute set A and key K, generates the vertical

Trang 57

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

Hybrid Fragmentation

R

HF HF

R1

VF VF

zz

z

Trang 58

‹ Truyền thông + bộ nhớ + xử lý ( đọc & cập nhật)

‹ Chi phí theo thời gian (thông thường)

Æ Công năng

Thời gian đáp ứng và/hay kết quả

Æ Ràng buộc

Trang 59

Yêu cầu thông tin

Æ Đơn giá lưu trữ dữ liệu tại vị trí

Æ Đơn giá xử lý tại một vị trí

Æ Băng thông

Æ latency

Æ Tổn phí truyền thông

Trang 60

Cấp phát tập tin(FAP) so với cấp phát CSDL (DAP):

‹ Cần duy trì các mối quan hệ

‹ Không thể áp dụng mô hình truy cập tập tin từ xa

‹ Mối quan hệ giữa cấp phát và xử lý truy vấn

Cấp phát

Trang 61

Yêu cầu thông tin

Æ Sựa lựa chọn các bộ truy vấn của các mảnh

Æ Kích thước của mảnh

Æ Số các truy cập đọc của truy vấn đến một mảnh

Æ Số các truy cập cập nhật của truy vấn đến một mảnh

Æ Ma trận biểu thị các truy vấn cập nhật mảnh

Æ Ma trận tương tự để đọc

Æ Vị trí nguyên thủy của từng truy vấn

„ Thông tin vị trí

Æ Đơn giá lưu trữ dữ liệu tại vị trí

Æ Đơn giá xử lý tại vị trí

Æ Chi phí truyền thông/khung sườn (frame) giữa 2 vị trí

Æ Kich thước khung sườn

Trang 62

Dạng tổng quát

min(Total Cost) thỏa mãn

ràng buộc về thời gian đáp ứng ràng buộc về bộ nhớ

ràng buộc xử lý

Biến quyết định

Mô hình cấp phát

Trang 63

„ Tổng chi phí

„ Chi phí bộ nhớ (của Fj tại vị trí Sk)

„ Chi phí xử lý truy vấn (cho một truy vấn)

processing component + transmission component

Mô hình cấp phát

(unit storage cost at S k) ∗ (size of F j) ∗xjk

query processing cost +all queries

Trang 64

„ Chi phí xử lý truy vấn

Processing component

access cost + integrity enforcement cost + concurrency control cost

Æ Integrity enforcement and concurrency control costs

‹ Can be similarly calculated

Trang 65

all sites

(min all sitesall fragments

∑ cost of retrieval command +

cost of sending back the result)

Trang 66

„ Ràng buộc

execution time of query ≤ max allowable response time for that query

Æ Ràng buộc xử lý (for a site)

Trang 67

„ Các phương pháp giải

„ Các Heuristics dựa trên

Mô hình cấp phát

Trang 68

„ Cố gắng giảm không gian lời giải

Æ Giá đình tất các các phân hoạch ứng viên đều đã biết; chọn phân hoạch “tốt nhất”

Mô hình cấp phát

Ngày đăng: 02/04/2019, 19:19

TỪ KHÓA LIÊN QUAN

w