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

Sao lặp và tính nhất quán hệ phân tán (NW605)

31 617 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 31
Dung lượng 672,5 KB

Nội dung

Tài liệu này dành cho sinh viên, giáo viên khối ngành công nghệ thông tin tham khảo và có những bài học bổ ích hơn, bổ trợ cho việc tìm kiếm tài liệu, giáo án, giáo trình, bài giảng các môn học khối ngành công nghệ thông tin

Trang 1

III Sao lặp và tính nhất quán

Trang 2

– Tính mở rộng được (giảm tập trung)

• Ngăn chặn quá tải tại một server đơn (mở rộng về kích thước)

Trang 3

Sao lặp dữ liệu

Trang 4

Sao lặp điều khiển

Trang 5

Sao lặp cả dữ liệu và điều khiển

Trang 7

Distributed data store

Kho dữ liệu lưu trữ các phần tử dữ liệu

Nhìn từ phía

client

Trang 8

Distributed data store

Kho dữ liệu lưu trữ các phần tử dữ liệu

Nhìn từ phía

kho dữ liệu

Trang 9

Distributed data store – Các thao tác

Các thao tác cho data store:

Read Ri(x)b

Client i đọc giá trị của phần tử dữ liệu x, được kết quả trả về là b

Write Wi(x)a

Client i thực hiện thao tác gán giá trị x:=a

– Các thao tác không có tính chất tức thời:

– Sự hợp tác giữa các bản sao (replica)

Trang 10

Distributed data store – Các thao tác

Ví dụ: hai client truy nhập hai replica khác nhau của một data store

Read: luôn được thực thi tại chỗ

Write: thực thi tại chỗ, sau đó phát tán sang các bản sao khác

Thời điểm thực thi thao tác

thời gian

Trang 11

Tính nhất quán

• Khi một bản sao được cập nhật, tất cả các bản sao

khác phải được cập nhật theo.

• Tùy theo thứ tự và cách thức cập nhật → không

Trang 12

Tính nhất quán

Dữ liệu không phân tán:

– Thứ tự thực hiện các thao tác của mỗi client được giữ

– Tính gắn kết của dữ liệu được tôn trọng

Các thao tác đọc và ghi xảy ra đồng thời có thể dẫn đến xung đột Các thao tác xung đột

Trang 13

Tính nhất quán

Ví dụ về các thao tác xung đột và thứ tự thực thi:

Client A: x = 1; x = 0;

Client B: print (x); print (x);

Các kết quả có thể thu được tại B: , 11, 10, 00

Thế còn 01 ?

Trang 14

Các mô hình nhất quán

Hai loại mô hình nhất quán:

• Data-centric (lấy dữ liệu làm trung tâm)

– Một mô hình áp dụng cho toàn bộ data-store

– Mọi client đều thấy các thao tác được sắp thứ tự cùng kiểu

• Client-centric (lấy client làm trung tâm)

– Mỗi client có thể yêu cầu một mô hình nhất quán cụ thể

– Các client khác nhau thấy các thao tác được sắp thứ tự khác nhau.

Trang 15

Data-centric consistency models

Strong ordering – sắp thứ tự mạnh

• Ví dụ: tất cả các client đều thấy W(x)a W(x)b W(x)c

Weak ordering – sắp thứ tự yếu

ghi

• Ví dụ {W(x)a W(x)b W(x)c} == {W(x)b W(x)a W(x)c}

Trang 16

Strict consistency

Thao tác read đối với một phần tử dữ liệu x trả về giá trị tương ứng với kết quả của lần write gần đây nhất đối với x

Thứ tự theo thời gian tuyệt đối của tất cả các lần truy nhập đến dữ liệu dùng chung

Cái gì là gần đây nhất trong một hệ phân tán?

• Đòi hỏi thời gian chung toàn cục

• Đòi hỏi liên lạc tức thời atomic operation

• Bình thường đối với một máy đơn xử lý

• Bất khả thi đối với một data-store phân tán

Trang 17

Sequential consistency

Tất cả các thao tác được thực hiện theo một chuỗi nào đó

Trang 18

Client-centric consistency models

Đảm bảo về thứ tự thao tác cho một client

– Client di chuyển và truy nhập data-store tại các

replica khác nhau (có sửa dữ liệu)

– Các client không dùng chung dữ liệu

– Các client khác nhau có thể thấy các kiểu sắp thứ tự khác nhau cho các thao tác

Nói cách khác:

– Kết quả của một thao tác tùy theo client thực hiện nó – Kết quả còn phụ thuộc vào lịch sử của các thao tác mà client đó thực hiện

Trang 19

Client-centric consistency models

Mô hình data-store cho client-centric consistency

Trang 20

Monotonic reads

Nếu một client đã thấy một giá trị của x tại thời điểm t, từ đó nó sẽ không bao giờ nhìn thấy một phiên bản cổ hơn của x

Kí hiệu:

•xi[t]: phiên bản của x tại replica i tại thời điểm t

•WS(xi[t]): tập hợp các thao tác ghi tại replica i mà kết quả dẫn đến xi[t]

•WS(xi[t1]; xj[t2]): WS(xj[t2]) chứa các hoạt động giống như WS(xi[t1])

Trang 21

Monotonic writes

Một thao tác ghi lên phần tử dữ liệu x được hoàn thành trước tất cả các thao tác ghi tiếp theo đối với x bởi cùng một client.

Trang 22

Read your writes

Thao tác đọc x thấy hiệu ứng của thao tác ghi x trước đó do cùng một client thực hiện.

Trang 23

Write follows reads

Một thao tác ghi đối với x được thực hiện trên một bản sao của x với giá trị đã được cập nhật theo lần đọc gần nhất của cùng client.

Trang 24

Các giao thức nhất quán

Giao thức nhất quán: cài đặt một mô hình nhất quán

• Primary-based protocols – các giao thức ghi tại

bản chính của dữ liệu

– Remote-write protocols –ghi từ xa

– Local-write protocols – ghi tại chỗ

• Replicated-Write protocols – các giao thức ghi tại

bản sao

– Active replication – chủ động sao chép

– Quorum-Based protocols – bỏ phiếu

Trang 25

Remote-Write Protocols

• Tất cả các lệnh ghi được thực hiện tại duy nhất 1 server

• Các cập nhật bị block cho đến khi đã được thực hiện tại

Trang 26

Local-Write Protocols

Primary được chuyển chuyển đến replica mà client tại đó muốn thực hiện cập nhật.

Trang 28

3 Thông báo rằng bản dữ liệu của các replica khác đã cũ

Trang 29

Push & pull

Pull (client-based):

•Các cập nhật được lan truyền chỉ khi

được yêu cầu

•Thích hợp: Ghi nhiều đọc ít

•Có thể có polling delay (replica phải

kiểm tra xem đâu là phiên bản mới nhất

trước khi thực hiện thao tác đọc)

Push (server-based):

•Các cập nhật được lan truyền ngay

•Thích hợp: Ghi ít đọc nhiều; yêu cầu

cao về mức độ tươi mới của dữ liệu đọc

•Nơi ghi phải biết về tất cả các replica

→ tính mở rộng được

Trang 30

Hệ thống replica

Trang 31

Hệ thống replica

Replica cố định:

– Tập các replica khởi đầu

– Do chủ của data-store tạo và bảo trì

– Cho phép ghi

Replica server (server-initiated replica)

– Tăng hiệu năng

– Không do chủ data-store bảo trì

Ngày đăng: 23/10/2014, 12:43

TỪ KHÓA LIÊN QUAN

w