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

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

68 476 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 1,89 MB

Nội dung

 Sử dụng quan hệ như đơn vị phân bổ:  Nếu quan hệ không được nhân bản, chúng ta có khối lương lớn dữ liệu phải được truy cập từ xa  Nếu quan hệ được nhân bản, có thể có những nhân bản

Trang 1

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

Trang 3

 Phân tán các ưng dụng chạy trên CSDL

 Chúng ta sẽ không quan tâm đến phân bố ứng dụng mà quan tâm đến phân bố

dữ liệu

Trang 4

Khung qui chiếu cho thiết kế

 Hệ trục qui chiếu quá trình thiết kế

 Mức độ chia sẽ : không chia sẽ, chia sẽ dữ liệu, ứng dụng + dữ liệu

 cách truy xuất dữ liệu : tĩnh, động

 Mức độ tri thức về cách truy xuất: không có thông tin , có một phần thông tin, có đầy

đủ thông tin

 Thiết kế phải được xem xét trong khung qui chiếu này

Trang 5

Chiến lược thiết kế

 Tiếp cận từ trên xuống (Top-down)

Trang 6

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

Trang 7

Thiết kế từ trên xuống (tt.)

 Thiết kế phân tán là công việc chính của quá trình thiết kế (các công việc khác tương đương trong CSDL tập trung)

 Mục tiêu : Thiết kế các lược đồ cục bộ bằng cách phân bổ lược đồ toàn cục lên các vị trí

 Hai yếu tố quan trọng

 Làm sao để kiểm tra tính đúng ?

 Làm sao định vị cho các phân mảnh ? Có cần nhân bản không ? Bao nhiêu bản ?

Trang 8

Thiết kế từ dưới lên (Bottom-up)

Trang 9

Phân mảnh

 Đơn vị hợp lý để phân bổ là gì ? Quan hệ hay mảnh của quan hệ ?

 Sử dụng quan hệ như đơn vị phân bổ:

 Nếu quan hệ không được nhân bản, chúng ta có khối lương lớn dữ liệu phải được truy cập từ xa

 Nếu quan hệ được nhân bản, có thể có những nhân bản không cần thiết và làm tăng chi

chí lưu trữ cũng như cập nhật

 Có thể là một giải pháp tốt, nếu các truy vấn cần tất cả dữ liệu của quan hệ và dữ liệu chỉ được truy xuất ở vị trí nó được lưu trữ

 S d ng m nh c a quan hử ụ ả ủ ệ:

 Khung nhìn cho ứng dụng thường là tập con của quan hệ

 Như vậy, tính cục bộ cuea các truy xuất được định nghĩa trên tập con của quan hệ

 Cho phép một số giao tác được xử lý đồng thời

 Cho phép xử lý song song cho cùng một câu truy vấn (intra-query concurrency)

 Tuy vậy quản trị ngữ nghĩa của dữ liệu sẽ phức tạp hơn (đặc biệt là kiểm tra RBTV)

 ⇒ Các mảnh của quan hệ thường là các đơn vị phân bổ

Trang 10

 Các thông tin sau cần thiết cho việc xác định phân mảnh:

 Thông tin định lượng: tần suất truy vấn, truy vấn được thực hiện ở đau, tính chọn lọc của truy vấn v.v.

 Thông tin định tính: loại truy xuất, đọc/viết v.v.

Trang 11

Các loại phân mảnh

 Phân mảnh ngang

 Phân mảnh dọc

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

Trang 12

Ví dụ

Trang 13

Ví dụ (tt)

 Phân mảnh ngang quan hệ PROJ thành 2 mảnh

 PROJ1 : các dự án có kinh phí ít hơn 200000

 PROJ2 : các dự án có kinh phí lơn hơn hay bằng 200000

Trang 14

Ví dụ (tt)

 Phân mảnh dọc quan hệ PROJ thành hai mảnh

 PROJ1 : chỉ chứa các thông tin PNO, BUDGET

 PROJ2 : chỉ chứa các thông tin PNO,PNAME,LOC

Trang 15

Tính đúng của phân mảnh

 Tính đầy đủ

 Một LDQH R được phân ră thành n lược đồ con R1, R2,…Rn là đầy đủ nếu và chỉ nếu mỗi yếu tố dữ liệu trên R đều có thể tìm thấy trong một vài Ri

 Tính tái thiết được

 Nếu một LDQH R được phân mảnh thành n lược đồ con R1,R2,…,Rn thì phải tồn tại một phép toán quan hệ ∆ sao cho

R = ∆ Ri ∀ Ri, i=1 n

 Tính tách biệt

 Nếu một LDQH R được phân ră thành n lược đồ con R1,,R2,…Rn và một mục dữ liệu

di trong Rj, thì nó sẽ không nằm trong Rk nào khác (k=1 n và k≠j)

Trang 16

Phân mảnh ngang

 Nguyên tắc của phân mảnh ngang

 Mỗi vị trí nên giữ tất cả dữ liệu mà nó cần truy xuất

 Thông tin tại một vị trí phải được phân mảnh sao cho truy vấn được thực hiện nhanh

hơn

 Phân mảnh ngang được định nghĩa như phép chọn

 Ví dụ :

Trang 17

Phân mảnh ngang (tt.)

 Tính toán phân mảnh ngang (lý tưởng)

 Tính tần suất của mỗi câu truy vấn trên vị trí q1,,,,qn

 Viết lại các câu truy vấn dưới dạng chuẩn kết (disjunction of conjunctions); các biểu thứ chuẩn kết được gọi là các minterms.

 Tính độ chọn của các minterms

Tìm tập đầy đủ và tối thiểu của các minterms (predicates)

 Tập vị từ là đầy đủ nếu và chỉ nếu hai bộ bất kỳ của cùng một mảnh phải có cùng xác suất được truy xuất từ bất kỳ ứng dụng nào

 Tập vì từ là tối thiểu nếu và chỉ nếu có ít nhất một truy vấn truy xuất đến phân mảnh

 Có một số giải thuật để xác định phân mảnh ngang như CON MIN và

PHORIZONTAL

Trang 18

Phân mảnh ngang

 Ví dụ : phân mảnh ngang quan hệ PROJ

 Xét câu truy vấn : liệt kê tên và kinh phí của dự án theo mã số dự án PNO

 Câu truy vấn này có thể được phát ra ở cả 3 vị trí

 Phân mảnh dựa trên LOC, sử dụng tập vị từ sau :

Trang 19

Phân mảnh ngang (tt)

 Nếu truy xuất chỉ theo vị trí, thì tập vị từ (phân mảnh) trên là đầy đủ

 Do các bộ của các phân mảnh có xác suất đuợc truy cập như sau là 1/6

 Nếu có thêm yêu cầu truy xuất chỉ những dự án có kinh phí nhỏ hơn $200.000, thì tập vì từ trên là không đầy đủ

 Do bộ P2 trong phân mảnh PROJ2 có xác suất được truy cập cao hơn bộ P3

 Thêm vào tập vị từ các vị từ BUDGET < 200000 và BUDGET >= 200000, sẽ bảo đảm tính đầy đủ

Trang 20

Phân mảnh ngang tiếp theo

 Tập vị từ dưới đây là đầy đủ

 tập minterms xây dựng tập vị từ này là

Trang 21

Phân mảnh ngang (tt.)

 Các phân mảnh ngang hình thành là

 Nhận xét : phân mảnh PROJ2 bị phân thành hai mảnh, các phân mảnh

PROJ1,PROJ3 cũng có thể được phân ra nếu có các dự án nhỏ hơn và lớn hơn 200000

Trang 22

Phân mảnh ngang (tt.)

 Phân mảnh ngang trên cũng là tốt thiểu

 Do các phân mảnh điều được truy xuất ít nhất bởi một yêu cầu truy xuất (ứng dụng)

 Giả sử chúng ta có thêm yêu cầu truy xuất chỉ những dự án về Intrusmentation (PNAME=“Intsrusmentation”), thì phân phân mảnh trên là không thối thiểu

 Do chỉ có phân mảnh PROJ1 được truy xuất, các phân mảnh khác không được truy xuất

đến !!!

Trang 23

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

 Vị từ hội sơ cấp (minterm predicate) là hội (conjunction) của các vị từ đơn giản

định nghĩa M={m1,m2,…,mz} như sau :

Trang 24

Các thông tin cần thiết (tt.)

 Điều kiện của một câu truy vấn có thể được biểu diễn dưới dạng chuẩn hội (conjunctive normal form) của các vị từ hội sơ cấp

E= ∨ mi

⇒Không mất tính tổng quát chúng ta sẽ làm việc với các vị từ sơ cấp

⇒Vấn đề là làm sao xác định được một tập các vị từ đơn giản đầy đủ và tối thiểu

Trang 25

Các thông tin cần thiết (tt.)

Ví dụ : với Pr gồm 2 vị từ hội đơn giản

JNAME =« Maintenance »;BUDGET≤ 200000

chúng ta có các vị từ hội sơ cấp sau :

Trang 26

Các thông tin cần thiết (tt.)

 Thông tin về cơ sở dữ liệu

 Các mối liên hệ (relationships)

 L c lự ượng c a quan h card(R)ủ ệ

Trang 27

Vi dụ

Trang 28

Các thông tin cần thiết (tt.)

Trang 29

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

 Định nghĩa

Rj = R: Fj 1≤j≤m

ở đây Fj là một công thức chọn (là một vị từ hội sơ cấp mi)

 Như vậy một phân mảnh Rj là các bộ của R thỏa vị từ hội sơ cấp mi

 Cho trước một tập các vị từ hội sơ cấp M, số phân mảnh ngang bằng số lượng vị từ hội

sơ cấp => tập phân mảnh ngang này được gọi là tập các phân mảnh ngang sơ cấp

Trang 30

Thuật toán

 Input : một quan hệ R, tập các vị từ đơn giản Pr

 Output : Một tập phân mảnh của R={R1,R2,…Rn} thỏa hai tính chất

 Đầy đủ

 Tối thiểu

Trang 31

Thuật tóan COM_MIN

 Input : Một quan hệ R, và tập các vị từ đơn Pr

 Output : Một tập Pr’ đầy đủ và tối thiểu của Pr

 Qui tắc 1 : Một quan hệ hoặc một phân mảnh đựoc phân hoặch thành ít nhất hai phần được truy xuất khác nhau bởi một ứng dụng

Trang 32

Thuật toán COM_MIN

1 Khởi tạo

 Tìm một Pi ∈ Pr sao cho Pi phân hoặch R theo qui tắc 1

 Pr’=pi; Pr= Pr-pi; F = fi

2 Lặp và thêm vị từ vào Pr’ cho đến khi nó đầy đủ

1. Tìm một pj ∈ Pr sao cho pj phân hoặch một mảnh fk của Pr’ theo qui tắc 1

2. Pr’=Pr’ ∪ pj;Pr=Pr – pj; F=F ∪ Fj

3. Nếu ∃ pk ∈ Pr’, là mmột vị từ không liên quan thì Pr’ = Pr’ –pk; F = F – pk

Trang 33

Giải thuật phân mảnh ngang

 Sử dụng thuật tóan COM_MIN để phân rã

 Input : một quan hệ R, một tập các vị từ đơn giản Pr

 Output : Một tập các vị từ sơ cấp M theo đó quan hệ R được phân rã

1. Pr’ nhận đựoc từ thuật tóan COM_MIN

2. Xác định tập M của các vị từ cơ sở

3. Xác định tập I các suy diễn giữa các pk ∈ Pr

4. Lọai bỏ các vị từ cơ sở mâu thuẩn trong M

Trang 34

Ví dụ

 Hai quan hệ cần phân mảnh : S và J

 Phân mảnh quan hệ S

 Ứng dụng : kiểm tra mức lương và tăng lương

 Các mẩu tin về nhân viên đựoc lưu trử ở hai vị trí => ứng dụng sẽ được thực thi ở hai nơi

 Các vị từ đơn giản

 Pr={p1,p2} là đầy đủ và tối thiểu : Pr’=Pr

 Các vị từ cơ sở

Trang 36

 Phân mảnh quan hệ J

 Ứng dụng :

 Tìm tên và BUDGET của một dự án theo mă số (JNO) : ứng dụng được thực thi trên 3 vị trí

 Truy xuất thông tin dự án thông qua BUDGET : mmọt vị trí lưu giữ các dự án có BUDGET≤ 200000 và một vị

trí khác lưu giữ các dự án có BUDGET>200000

 Các vị từ đơn giản

 Cho ứng dụng 1

 Cho ứng dụng 2

 Pr’=Pr={p1,p2,p3,p4,p5}

Trang 37

 Phân mảnh quan hệ J (tiếp theo)

Phân mảnh cơ sở sau khi loại bỏ các mâu thuẩn

Trang 39

Phân mảnh dọc

Trang 41

Phân mảnh dọc (tt.)

 Gom nhóm các thuộc tính

⇒ Các phân mảnh giao nhau

• Tách thuộc tính

• Các phân mảnh không giao nhau

• Phù hợp với thiết kế từ trên xuống

• Chúng ta không xem việc các mảnh có chứa khóa của quan hệ ban đầu là giao nhau

Trang 42

Các thông tin cần thiết

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

 Độ tương đồng của thuộc tính (attribute affinities) :

 Đo độ « giống nhau » của một thuộc tính với các thuộc tính khác

 Giá trị sử dụng của thuộc tính (attribute usage value)

 Cho một tập các câu truy vấn Q={Q1,Q2,…,Qm} thực hiện trên một quan hệ R(A1,A2,…,An), chúng ta định nghĩa

 Chúng ta cũng định nghĩa vector use(qi, • ) cho mỗi câu truy vấn qi

Trang 43

Độ tương đồng của thuộc tính

 Độ tương đồng giữa hai thuộc tính Ai, Aj của quan hệ R(A1,A2,…,An) với một tập hợp các câu truy vấn Q(Q1,Q2,…,Qm) được định nghĩa như sau

Trang 44

Định nghĩa use(qi,Aj)

 Cho 4 quan hệ sau :

Cho A1=JNO, A2=JNAME, A3=BUDGET, A4=LOC

Trang 45

Ví dụ

 Giả sử chi phí của mọi truy vấn là 1

 Giả sử tần xuất truy xuất như sau:

Thì ma trận độ đo tương đồng

Trang 46

Giải thuật phân nhóm

 Từ ma trận độ đo tương đồng thuộc tính AA, tìm giải pháp sắp xếp lại các thuộc tính để nhận được các nhóm thuộc tính có độ đo liên kết cao hơn độ liên kết với các thuộc tính của nhóm khác

 Thuật tóan năng lượng liên kết BEA (Bond energy algorithm) được sử dụng

để phân nhóm các thực thể sao cho độ đo liên kết tổng thể

là cao nhất

Trang 47

Thuật toán BEA

 Input : ma trận liên kết thuộc tính AA

 Output : một ma trận liên kết CA đã phân nhóm

1. Khởi tạo : đặt và cố định một cột của AA vào ma trận CA

2. Lặp: đặt n-i cột còn lại vào i+1 vị trí còn lại của CA, sao cho nó đóng góp lớn

nhất vào độ đo ái lực toàn cục

3. Thứ tự của dòng : theo thứ tự cột

Trang 48

Thế nào là vị trí tốt nhất ?

 Vị trí nào là tốt nhất ? Định nghĩa sự đóng góp của một vị trí

ở đây

Trang 50

Ví dụ

 Bởi vậy, vị trí được chọn là

Trang 51

Ví dụ

 Sau khi A4 được đặt, chúng ta có CA như sau

Trang 52

Thuật tóan phân mảnh dọc

 Làm thế nào chúng ta có thể chia một tập thuộc tính đã gom nhóm A1,A2,

…,An thành hai (hay nhiều) tập {A1,…,Ai} và {Ai, ,An} sao cho không có (hoặc ít nhất) các ứng dụng truy xuất cả hai tập này

Trang 53

 CTQ : tổng số truy xuất đến các thuộc tính của các ưng dụng chỉ truy xuất TA

 CBQ : tổng số truy xuất đến các thuộc tính của các ứng dụng chỉ truy xuất BA

 COQ : tổng số truy xuất đến các thuộc tính của các ứng dụng truy xuẩt cả hai TA và BA

Vấn đề : Tìm một điểm trên đường chéo sao cho biểu thức sau lơn nhất

Trang 54

Thuật tóan

Hai vấn đề

1 Phân nhóm tiến hành từ giửa ma trận CA

1. Dời một dòng lên và một cột sang trái và áp dụng thuật toán tìm điểm phân

Trang 56

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

Trang 57

Ví dụ

Trang 58

Nhân bản và cấp phát

Trang 59

Định nghĩa

 Nhân bản (Replication) : phân mảnh nào sẽ được nhân ra nhiều bản ?

 Nhân bản toàn bộ : sao chép toàn bộ CSDL cho nhiều vị trí khác nhau

 Nhân bản chọn lọc : chọn các phân mảnh để nhân lên nhiều bản đặt ở nhiều vị trí

 Cấp phát/định vị (Allocation): Các mảnh sẽ được đặt tại vị trí nào ?

 Tập trung: một CSDL được quản lý bởi một DBMS tại một vị trí tập trung

 Phân hoạch : các phân mảnh được đặt ở các vị trí khác nhau

Trang 60

Nhân bản (Replication)

 So sánh các giải pháp nhân bản

Trang 61

Cấp phát phân mảnh

 Vấn đề

Cho F={F1, ,Fm} các phân mảnh

S={S1,…,Sn} các vị trí (node) Q={q1,…,qs} các ứng dụng Tìm một phân bổ tối ưu các Fi trên các Sj

 Yếu tố tối ưu

 Chi phí thấp nhất

 Truyền thông + lưu trữ + xử ký

 Chi phí về thời gian đáp ứng

Trang 62

Các giải pháp cấp phát

 Cấp phát tập tin (File Allocation) vs Cấp phát cơ sở dữ liệu (Database Allocation)

 Các phân mảnh không phải là các tập tin riêng rẽ : các mối liên hệ phải được quan tâm

 Truy cập cơ sở dữ liệu thì phức tạp hơn

 Chi phí bảo đảm ràng buộc tòan vẹn phải được tính đến

 Chi phí quản lý truy xuất đồng thời

Trang 63

Các thông tin cần thiết

 Thông tin về cơ sở dữ liệu

 Tần suất chọn các phân mảnh

 Kích thước của phân mảnh

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

 Số truy xuất chỉ đọc của một câu truy vấn đến một phân mảnh

 Số truy xuất cập nhật của một câu truy vấn đến một phân mảnh

 Một ma trận chỉ ra câu truy vấn nào sẽ thao tác trên mảnh nào

 Vị trí kích họat của các câu truy vấn

 Thông tin về vị trí

 Đơn giá xử lý

 Đơn giá lưu trữ

 Thông tin về mạng

 Chí phí truyền giữa hai vị trí

 Kích thước của một đơn vị truyền

Trang 66

Mô hình cấp phát (tt)

 Chi phí xử lý là tổng của 3 yếu tố

 Chi phí truy xuất

 Chi phí bảo đảm ràng buộc toàn vẹn

 Chi phí kiểm soát đồng thời

Trang 67

Mô hình cấp phát (tt)

 Chi phí truyền bao gồm 2 thành phần

 Chí phí cập nhật

 Chi phí truy hồi

 Mô hình hóa các ràng buộc

 Thời gian đáp ứng

 Không gian lưu trữ

 Khả năng xử lý

Trang 68

Mô hình cấp phát (tt)

 Nhận xét

 Độ phức tạp của mô hình cấp phát này là NP-đầy đủ

 Sử dụng heuristic để giảm không gian tìm kiếm lời giải

Ngày đăng: 31/01/2015, 11:20

TỪ KHÓA LIÊN QUAN

w