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

bài giảng hệ cơ sở dữ liệu phân tán chuong 6 nhân bản dữ liệu

56 742 14

Đ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 56
Dung lượng 1 MB

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

Nội dung

– Tính phức tạp của điều khiển tương tranh tăng lên: Cập nhật dữ liệu tương tranh với các nhân bản khác nhau có thể dẫn đến không nhất quán trừ phi thực hiện cơ chế vận hành tương tra

Trang 1

CHƯƠNG VI:

NHÂN BẢN DỮ LIỆU

1

Trang 2

CHƯƠNG VI.

NHÂN BẢN DỮ LIỆU

6.1 Tính nhất quán của cơ sở dữ liệu nhân bản

6.2 Các chiến lược quản trị cập nhật

6.3 Các giao thức nhân bản

Trang 3

6.1 Tính nhất quán của cơ sở dữ liệu nhân bản

6.1.1 Những vấn đề chung

6.1.2 Phân loại

Trang 4

• Đạt được các lợi ích bao gồm việc cải thiện hiệu năng khi tài nguyên tập trung quá tải, tăng cường độ tin cậy và tính sẵn sàng và hỗ trợ tính toán di động hoặc phân phối dữ liệu.

Trang 5

NHÂN BẢN (tiếp)

Trang 6

Các kịch bản nhân bản

– Cơ sở dữ liệu không nhân bản

• Lưu mỗi phân mảnh cơ sở dữ liệu ở một site đơn

• Không có phân mảnh cơ sở dữ liệu trùng nhau

– Cơ sở dữ liệu nhân bản bộ phận

• Lưu nhiều bản sao của một vài phân mảnh ở nhiều site

• Hầu hết các hệ quản trị cơ sở dữ liệu phân tán sử dụng

– Cơ sở dữ liệu nhân bản đầy đủ

• Lưu nhiều bản sao của mỗi phân mảnh cơ sở dữ liệu ở nhiều site

• Tổng phí lớn

Trang 7

Nhân bản dữ liệu

• Một quan hệ hay một phân mảnh quan hệ là

nhân bản nếu nó được lưu dư thừa trên 2 hay nhiều site khác.

• Nhân bản đầy đủ của một quan hệ là trường hợp ở đó quan hệ được lưu ở mọi site.

• CSDL dư thừa đầy đủ trong đó mọi site chứa một bản sao của toàn bộ csdl

Trang 8

Ưu và nhược điểm

• Ưu điểm của nhân bản

–Tính dành sẵn: Thất bại của site chứa

quan hệ r vẫn được dành sẵn do tồn tại bản sao của r.

–Song song: Các truy vấn của r có thể

được xử lý bởi một vài nút một cách song song.

–Giảm nhỏ việc truyền dữ liệu: Quan

hệ r được dành sẵn cục bộ ở mỗi site chứa nhân bản của r.

Trang 9

Ưu và nhược điểm (tiếp)

• Nhược điểm của nhân bản

– Tăng giá việc cập nhật: mỗi nhân bản của

quan hệ r đều phải được cập nhật.

– Tính phức tạp của điều khiển tương

tranh tăng lên: Cập nhật dữ liệu tương

tranh với các nhân bản khác nhau có thể dẫn đến không nhất quán trừ phi thực hiện cơ

chế vận hành tương tranh đặc biệt.

• Một giải pháp: chọn một bản sao như bản sao sơ cấp và áp dụng các thao tác điều khiển tương

tranh trên bản sao sơ cấp

Trang 10

Tại sao nhân bản dữ liệu ?

• Khoan dung lỗi

– Hot backup

– Tránh sự cố mang tính thảm họa

• Hiệu năng

– Cơ chế song song

– Sự tin cậy trên mạng giảm nhỏ

Trang 11

Nhân bản dữ liệu: nhân bản gì?

• Tiêu chuẩn đúng đắn : Nhân bản không nhìn thấy

– Các kết quả không phân biệt được với cơ sở

dữ liệu một bản

– Tính nối tiếp một bản (1SR)

• Tính luân phiên

– Ranh giới không nhất quán

– Việc chọn bản thực/bản sao của người dùng

Trang 12

Nhân bản dữ liệu: nhân bản như thế nào?

• Mục tiêu: đảm bảo tính nối tiếp hóa một bản

• Giải pháp viết tất cả(Write-all): Mọi bản sao là đồng nhất

– Việc viết thực hiện trên mọi site

– Việc đọc từ site bất kỳ

– Điều khiển tương tranh bản sao đơn

– Đảm bảo 1SR

• Điều khiển tương tranh bản sao đơn cho vận hành nối tiếp

• Tính tương đương vận hành nối tiếp ở đó mọi việc viết xảy

ra trên một giao dịch

Trang 13

Các chức năng nhân bản

• Chức năng cơ bản là sao chép dữ liệu từ một cơ sở

dữ liệu đến một cơ sở dữ liệu khác(dùng nhân bản đồng bộ hoặc không đồng bộ)

– Thực hiện cơ chế biểu quyết

– Thực hiện cơ chế khởi tạo

– Dễ quản trị

Trang 14

CÁC THÀNH PHẦN CƠ BẢN CỦA NHÂN BẢN

• Đối tượng nhân bản là đối tượng CSDL như quan

hệ, khung nhìn, thủ tục, các hàm có trong nhiều

server trong DDBS

• Trong môi trường nhân bản, bất kỳ cập nhật nào

làm trên 1 site được áp dụng cho mọi các bản sao trên các site khác

• Các đối tượng nhân bản được quản trị dùng các

nhóm nhân bản

• Một nhóm nhân bản là tập các đối tượng nhân bản

có quan hệ logic với nhau

• Một nhóm nhân bản có thể tồn tại trên nhiều site

nhân bản

Trang 15

CÁC THÀNH PHẦN CƠ BẢN

CỦA NHÂN BẢN (tiếp)

• Môi trường nhân bản hỗ trợ hai kiểu site nhân bản: các site master và slave

• Một nhóm nhân bản có thể được liên kết với nhiều site master và slave.

• Một site có thể vừa là site master cho nhóm nhân bản này lại là slave cho nhóm nhân bản khác Tuy nhiên một site không thể vừa là site master/slave cho cùng một nhóm nhân bản

Trang 16

CÁC THÀNH PHẦN CƠ BẢN

CỦA NHÂN BẢN (tiếp)

• Một site master điều khiển một nhóm nhân bản và các đối tượng trong nhóm đó

• Điều này đạt được nhờ một bản sao đầy đủ mọi đối tượng trong nhóm nhân bản và bởi việc lan truyền bất kỳ sự thay đổi nào đến bất kỳ site slave của nhóm nhân bản

• Một site slave có thể chứa toàn bộ hay một tập con các đối tượng từ một nhóm nhân bản Tuy nhiên các site slave chỉ chứa một snapshot của nhóm nhân bản

• Thông thường, một snapshot được làm tươi định kỳ để đồng

bộ với site master của nó

• Với một môi trường nhân bản nhiêu site master, mọi site đó truyền thông trực tiếp với nhau để lan truyền liên tiếp các sự thay đổi dữ liệu trong nhóm nhân bản

Trang 17

Tổng quan

• Nhất quán cua csdl nhân bản

– Vấn đề: nhất quán tương hỗ và trong suốt nhân bản (Nhất quán tương hỗ và nhất quán nhân bản)

– Nhất quán tương hỗ đòi hỏi một số tiêu

chuẩn/Nhất quán tương hỗ và giao dịch đòi hỏi

khác nhau

• Kết quả có thể giống nhau hay khác nhaunhân bản 1 bản sao là đảm bảo nhất quán nhân bản

Trang 18

Nối tiếp hóa phân tán

• Một dữ liệu nhân bản đầy đủ (RD) lịch biểu H qua T = {T 0, …,

T n} là thứ tự riêng phần với quan hệ thứ tự <, ở đây

– H = h(∪n

i=0 T i ) lịch biểu các chức năng h – Với mỗi T i và tất cả các thao tác p i , q i trong T i , nếu p i <i q i,

thì mọi thao tác trong h(p i) được quan hệ bởi dấu < đối với

mọi quan hệ trong h(q i)

– Với mọi r j [x A ], có ít nhất một w i [x A ] < r j [x A]

– Nếu w i [x] H và r j [x] H, thì w i [x] < r j [x] hay r j [x] < w i [x] – Nếu w i [x] < i r i [x] và h(r i [x]) = r i [x A ] thì w i [x A] ∈ h(w i [x])

• Định lý: Nếu quan hệ đọc-từ/đến xem như lịch biểu dữ liệu , thì RD là nối tiếp 1 bản

Trang 19

6.1 Tính nhất quán của cơ sở dữ liệu nhân bản

6.1.1 Những vấn đề chung

6.1.2 Phân loại

Trang 20

– Kỹ thuật nhân bản tập trung: có bản master và các slave

– Kỹ thuật nhân bản phân tán: cập nhật ở site gốc khởi sinh cập nhật,

sau đó lan truyền cập nhật đến các site khác.

• Chiến lược: Eager replication và Lazy replication

– Lazy replication(nóng vội): lan truyền không đồng bộ các cập nhật nhân bản

đến các nút khác sau khi nhân bản các dẫn giải giao dịch

– Eager replication(trễ nải): Mọi nhân bản được giữ đồng bộ bằng cách cập

nhật mọi nhân bản trong giao dịch đơn.

Trang 22

Quyền sở hữu dữ liệu

• Quyền sở hữu liên quan đến việc site nào có đặc quyền cập nhật dữ liệu.

Trang 23

Quyền sở hữu Master/Slave

• Dữ liệu được nhân bản là sở hữu bởi một site

(master) và có thể được cập nhật chỉ bởi site đó.

• Sử dụng metaphor ‘publish-and-subscribe’; site

master tạo dữ liệu dành sẵn.

• Các site khác ‘thuê’ từ dữ liệu master sở hữu , nhận các bản sao chỉ đọc

• Về khả năng, mỗi site có thể là site master cho tập các dữ liệu không chồng lấn, nhưng việc đụng độ cập nhật không được xuất hiện

Trang 24

Quyền sở hữu Master/Slave – Dữ liệu phân bổ

Trang 25

Quyền sở hữu Master/Slave – Dữ liệu hợp nhất

Trang 26

Quyền sở hữu Workflow

• Tránh các đụng độ cập nhật trong khi cung cấp mô hình sở hữu động hơn

• Cho phép quyền cập nhật các dữ liệu nhân bản để chuyển từ site này đến site khác

• Tuy nhiên tại một thời điểm bất kỳ chỉ có một site có thể cập nhật đến tập dữ liệu riêng

• Điển hình là hệ thống xử lý thứ tự, đi theo chuỗi các bước như thứ tự lối vào, đệ trình tín dụng, báo giá, chuyển hàng…

Trang 27

Quyền sở hữu Workflow

Trang 28

Quyền sở hữu Update-Anywhere

• Tạo môi trường ngang hàng ở đó nhiều site có quyền tương đương để câp nhật dữ liệu nhân bản

• Cho phép các site thực hiện chức năng tự trị ngay khi các site khác chưa sẵn sàng

• Các sở hữu có thể dẫn đến kịch bản đụng độ và phải sử dụng phương pháp phát hiện và phân giải đụng độ

Trang 29

Quyền sở hữu Update-Anywhere

Trang 30

CHƯƠNG VI.

NHÂN BẢN DỮ LIỆU

6.1 Tính nhất quán của cơ sở dữ liệu nhân bản

6.2 Các chiến lược quản trị cập nhật

6.3 Các giao thức nhân bản

30

Trang 31

Các chiến lược quản trị nhân bản

• Nhân bản nóng vội: có thể đồng bộ hay trì hoãn

– Ưu điểm:

• Không mất nhất quán giao dịch

• dữ liệu chăc chắn được cập nhật

• Cập nhật tự động

– Nhược điểm là sự cố sẽ dẫn tới sự khác biệt giữa các site

• Nhân bản trễ nải: được dùng khi yêu cầu nhất quán

nhân bản không cao Việc cập nhật sẽ làm sau(làm tươi lại ở các site không quan trọng sau)

– ưu điểm: không yêu cầu thời gian đáp ứng cao

– Nhược điểm: đòi hỏi nhất quán dữ liệu như thế nào

Trang 32

Các kỹ thuật nhân bản

– Kỹ thuật nhân bản tập trung: có bản master và

các slave

• Ưu điểm: có ít nhất 1 bản tin cậy

• Nhược điểm: tải tại master cao+ đó là điểm yếu

– Kỹ thuật nhân bản phân tán: cập nhật ở site gốc

khởi sinh cập nhật, sau đó lan truyền cập nhật

đến các site khác.

• Ưu điểm: thực hiện được ở nhiều vị trí

• Nhược điểm: tính phức tạp tăng lên, cần có thỏa thuận

Trang 34

Tập trung nóng vội:

Master đơn, trong suốt nhân bản hạn chế

1/ Ghi được chuyển đến Master

2/Lan truyền đến các slave

3/ Thông báo chuyển giao

4/Đọc có thể ở site bất kỳ

Trang 35

Tập trung nóng vội:

Master đơn, trong suốt nhân bản đầy đủ(TM)

Trang 36

Tập trung nóng vội:

Trang 37

Tập trung nóng vội:

Bản sao sơ cấp, trong suốt nhân bản đầy đủ

1/ Các thao tác (R hay W) cho từng hạng mục dữ liệu được dẫn đường đén hạng mục dữ liệu của master và 1 thao tác ghi được áp dụng ở master

2/ Write được lan truyền đến các nhân bản khác

3/ Cập nhật được chuyển giao

Trang 38

Phân tán nóng vội

– Phân tán nóng vội:

• Thực hiện ở một site/lan truyền đến các site khac (nếu không có hạng mục dữ liệu thì lan truyền đi và cộng tác làm việc)

• Chỉ xong sau khi đã chuyển giao  phải đảm bảo thứ tự thực hiện và tương tranh( do bộ quản trị

tương tranh đảm nhận)

Trang 39

Phân tán nóng vội:

Master đơn, trong suốt nhân bản đầy đủ

1/ 2 thao tác Write được áp dụng trên 2 nhân bản cùng một hạng mục dữ liệu

2/ Thao tác Write lan truyền độc lập đến các nhân bản khác

3/ Cập nhật được chuyển giao (chỉ cho giao dịch 1)

Trang 40

Tập trung trễ nải:

– có thể dữ liệu “ôi” do nó không được cập nhật khi chuyển giao ở site master

Trang 41

Tập trung trễ nải:

Master đơn, trong suốt nhân bản hạn chế

1/ Việc cập nhật được áp dụng trên nhân bản cục bộ

2/ Giao dịch được chuyển giao trên master

3/ Cập nhật được lan truyền đến các nhân bản khác để làm tươi giao dịch 4/ Giao dịch 2 đoc từ bản sao cục bộ

Trang 42

1/ Lịch biểu 1SR tổng thể không đảm bảo

2/ giao dịch có thể không nhìn thấy việc cập nhật của nó

1/ Lịch biểu 1SR tổng thể không đảm bảo

M giữ bản sao master của x và y; B giữ bản sao slave Xét 2 giao dịch: T1 ở site B, T2 ở site M:

T1: Read(x) T2: Write(x)

Write(y) Write(y)

Commit Commit

Trang 43

Hoạt động của các giao dịch

Trang 44

Phân tán trễ nải

1/ 2 cập nhật áp dụng trên 2 nhân bản cục bộ

2/ Chuyển giao giao dịch được cập nhật

3/ Các cập nhật được lan truyền độc lập đến các nhân bản

Trang 45

CHƯƠNG VI.

NHÂN BẢN DỮ LIỆU

6.1 Tính nhất quán của cơ sở dữ liệu nhân bản

6.2 Các chiến lược quản trị cập nhật

6.3 Các giao thức nhân bản

45

Trang 46

Mô hình và kiến trúc hệ thống

1 Xem xét tập các client CSDL là tập S = {s1,s2,….,sn}

2 CSDL được nhân bản đầy đủ trên mọi site si

3 Client kết nối đến 1 trong các server để vận hành giao dịch

4 Trong trường hợp giao dịch tương tác (giao dịch đệ trình thao tác nhờ nsd), sau khi đệ trình một thao tác, client chờ một trả lời từ server, sau đó mới gửi thao tác kế tiêp Việc gửi giao dịch như một thông điệp đơn được gọi là yêu cầu dịch vụ- gọi thủ tục được lưu trên server csdl

5 Ngay sau khi giao dịch hoàn tất, server si gửi kết quả giao dịch đến

client và kết nối giữa client và si bị đóng.

6 Nếu giao dịch là thao tác được đệ trình, kết quả được chuyển giao hay thoát

7 Nếu si sự cố trong khi vận hành giao dịch, giao dịch sẽ thoat.

8 Trong trường hợp này, chính client cố gắng vận hành, hoặc bằng cách kết nối với server sj csdl khác hoặc đến chính server si sau đó( sau khi si phục hồi)

Trang 47

CÁC YÊU CẦU

• Tiêu chuẩn đúng đắn:

Nối tiếp hóa 1 bản : Đảm bảo rằng bất kỳ vận hành xen kẽ

nào của các giao dịch tương đương với vận hành nối tiếp các giao dịch này trên một bản sao đơn của csdl

• Quảng bá tin cậy

Đảm bảo rằng thông điệp được gửi bằng một server csdl đúng, hay trao đổi bằng một server csdl đúng được trao đổi đến mọi server csdl đúng

• Quảng bá tin cậy đồng nhất

Đảm bảo rằng 1 thông điệp được trao đổi bởi server bất kỳ ( có thể đúng hay sai sau khi trao đổi thông điệp) cuối cùng được trao đổi đến mọi server csdl đúng

47

Trang 48

Mô hình cho nhân bản dữ liệu

• Bộ quản trị giao dịch và dữ liệu ở mỗi site

– Quản trị dữ liệu : Điều khiển tương tranh cục bộ

để đảm bảo tính nối tiếp cục bộ.

– Quản trị giao dịch: Các hoạt động phân tán

• Trả về đọc/ghi thành đọc/ghi nhiều site

• Thực hiện giao thức chuyển giao

• Thư mục để nhận các site cho mỗi bản sao.

Trang 49

• Ghi được giữ trễ

– Ghi không cục bộ được giữ trễ cho tới khi chuyển giao – tối thiểu hóa lưu lượng

Trang 50

Kết thúc giao dịch

Bầu cử : 2 khả năng

– Dựa trên 2PC

– Dựa trên một thông điệp xác nhận được server ủy nhiêm hay

bản sao sơ cấp gửi để thông báo giao dịch được chuyển giao hay phải thoát

Thông điệp xác nhận chỉ cần dùng khi server được ủy nhiệm (hay

bản sao sơ cấp) giao dịch có thể quyết định đơn phương với kết quả của giao dịch

Không bầu cử

– Đòi hỏi nhiều yêu cầu xác định hơn các kỹ thuật bầu cử

– Mỗi server phải đảm bảo sự nối tiếp như nhau một cách độc

lập ; được thực hiện dùng chính sách thứ tự tổng thể

Trang 51

Thất bại ghi tất cả

Trang 52

Các giải pháp

• Kiểm tra tính sẵn sàng khi chuyển giao

– Kiểm tra liệu có thao tác ghi nào thất bại lúc này hay không.– Kiểm tra mọi site đọc hay ghi có sẵn sàng hay không

– Buộc nối tiếp với các thất bại site

Không làm việc với thất bại truyền thông!

Trang 53

Các thất bại truyền thông

• Bản sao dành sẵn thất bại trong phân chia mạng

– Mỗi site hoàn tất nhờ kiểm tra hợp lệ

• Ghi mọi khối

• Ghi n-k, đọc k+1

– Phát sinh cách tiếp cận “ghi tất cả”

– Điều khiển để tối thiểu hóa thất bại : min(n-k, k+1)

– Cân nhắc hiệu năng đọc và ghi

– ảnh hưởng phân chia dựa trên kích thước phân chia:

• <k+1: phần nhỏ hoạt động như thể mọi site thất bại, phần lớn thì

tiếp tục.

• Nếu khác đi, toàn bộ hệ thống trở nên chỉ đọc

Trang 54

Các cách tiếp cận khác:

Không buộc phải nối tiếp hóa!

• Bản sao sơ cấp (Master)

– Các thao tác ghi phải cập nhật bản sao sơ cấp

– Các thao tác đọc có thể nhất quán hoặc không nhất quán

• Giới hạn không nhất quán

– Thời gian giới hạn việc cập nhật các bản sao

– Ràng buộc giá trị: Ghi tất cả nếu sự khác nhau quá lớn

• Dồn tính nhất quán lên ứng dụng

– Phức tạp thêm

– Hiệu năng tốt hơn

Trang 55

– Tổng phí truyền thông lớn: n nhân bản; m thông điệp; tốc độ k giao dịch/sm*n*k (nếu multicast m*k)=> giải pháp truyền thông nhóm cùng xử lý giao dịch không truyền thống Có 2 khả năng:

dùng 2PC không chuyển giao và trì hoãn lan

truyền (không thực hiện đồng bộ)

– Sự cố với nhân bản trễ nải/ Sự cố với nhân bản nóng vội

Trang 56

KẾT LUẬN

• Những thách thức

Đưa ra nhân bản không

ảnh hưởng đến hiệu năng

quá nhiều

• Kỹ thuật được dùng

hiện tại

– Nhân bản trễ nải

• Ưu điểm: Hiệu quả

• Nhược điểm: Thỏa hiệp tính nhất

quán

– Nhân bản nóng vội

• Ưu điểm: Đảm bảo tính nhất quán

• Nhược điểm: Hầu hết các giao

thức hiện có đều có một giá

 Nhân bản trễ nải được dùng phổ biến nhưng không đảm bảo đủ tính nhất quán

 Tính nhất quán có thể được nhờ nhân bản nóng vội, nhưng hiên nay vẫn đang gặp khó khăn về thiết kế giao thức

Ngày đăng: 15/01/2016, 22:28

TỪ KHÓA LIÊN QUAN

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