CÁC HỆ THỐNG PHÂN TÁN VÀ ỨNG DỤNG
Chương 5: Nhân bản
và nhất quán dữ liệu
Vấn đề: Tại sao cần nhân bản?
3
Content Delivery Network
4
• Improve the performance of the system
• Reduce network load
• Provide better fault tolerance
Ví dụ: AKAMAI
Nội dung
6
1.
2.
3.
4.
5.
6.
Giới thiệu về nhân bản và nhất quán dữ liệu
Các mơ hình nhất qn hướng dữ liệu
Các mơ hình nhất quán hướng client
Quản lý các bản sao
Các giao thức nhân bản
Một số công cụ nhân bản
1. Giới thiệu
1.1. Vì sao phải nhân bản
1.2. Nhất quán dữ liệu
1.3. Ưu điểm, nhược điểm của nhân bản dữ liệu
7
1.1. Vỡ sao phi nhõn bn
8
ă
tin cy (tớnh sn sng)
Hiu nng
Kh nng co gión (?)
ă
Yờu cu v nht quỏn d liu
ă
ă
1.2. Nht quỏn d liu
9
ă
Cỏc bn sao cn cú mt d liu
Khụng th tc khc ng b
Ô Khi no, nh th no
Ô
ă
ă
ă
Tớnh nht quỏn mnh v tớnh nht quỏn yu
t được tính nhất quán mạnh=>tốn kém về hiệu năng
Ví dụ:Bộ nh m ca trỡnh duyt.
Ô
m bo tớnh nht quỏn:
Cm không cho dùng bộ nhớ đệmJ
n Server cập nhật bộ nh m khi cú ni dung thay iL
n
Ô
Gii phỏp=> nht quán hợp lý
1.3. u & nhc im
10
ă
ă
ă
ă
ă
Ci thin tc truy cp
Gim băng thơng
Có băng thơng phát sinh
Tăng mức độ phức tạp của hệ thống
Phụ thuộc nhiều vào nhu cầu
Ví dụ: số ln cp nht v s ln truy cp
Ô Thng nht cht: gim hiu nng
Ô Thng nht lng: lng n õu? Mc nht
quỏn<>chi phớ
Ô
2. Mơ hình nhất qn
hướng dữ liệu
2.1. Kho dữ liệu phân tán
2.2. Mơ hình nhất qn liên tục
2.3. Connit
2.4. Nhất quán về thứ tự thực hiện
11
Mơ hình nhất
qn hướng dữ
liệu
Các mơ hình
nhất qn
Thống nhất liên
tục
Thống nhất
theo thứ tự thao
tác
Đọc đơn điệu
Mơ hình nhất
qn hướng
người dùng
Ghi đơn điệu
Đọc kq đã ghi
Ghi kq đã đọc
12
nhất quán tuần
tự
nhất quán nhân
quả
2.1. Kho dữ liệu phân tán
13
Process
Process
Process
Local copy
Distributed data store
Mụ hỡnh nht quỏn
14
ă
ă
ă
ă
Cam kt gia cỏc tin trỡnh v kho dữ liệu
Muốn đọc giá trị cuối cùng (mới nhất)
Không có đồng hồ tồn cục à khó thực hiện
Khái niệm phạm vi của mơ hình nhất qn (độ
lệch, độ sai khác)
Mơ hình nhất
qn hướng dữ
liệu
Các mơ hình
nhất qn
Nhất qn liên
tục
Nhất qn theo
thứ tự thao tác
Đọc đơn điệu
Mơ hình nhất
qn hướng
người dùng
Ghi đơn điệu
Đọc kq đã ghi
Ghi kq đã đọc
15
nhất quán tuần
tự
nhất quán nhân
quả
2.2. Mụ hỡnh nht quỏn liờn tc
16
ă
Nhng yu t ỏnh giá sự bất đồng bộ:
Chênh lệch giá trị của các bin (nhit , giỏ c, ..)
Ô Chờnh lch thi gian cp nht
Ô Th t cỏc thao tỏc cp nht
Ô
ă
Khi lệch vượt quá một giá trị cho trước, MW sẽ
tiến hành các thao tác đồng bộ để đưa độ lệch về
giới hạn
2.3. Conit (consistency unit)
17
Replica A
Replica B
Conit
Conit
x = 6; y = 3
Operation
x = 2; y = 5
Result
Operation
Result
< 5, B> x := x + 2
[x=2]
< 5, B> x := x + 2
[x=2]
< 8, A> y := y + 2
[y=2]
<10, B> y := y + 5
[y=5]
<12, A> y := y + 1
[y=3]
<14, A> x := y * 2
[x=6]
Thời gian thực hiện:?
Vector clock A
= (15, 5)
Sai
lệch
về
thứ
tự
thực
Order deviation
= 3hiện:?
Sai
lệch về deviation
giá trị:? = (1, 5)
Numerical
Vector clock B
= (0, 11)
Order deviation
=2
Numerical deviation = (3, 6)
Kích thước nhỏ: nhất quán cao
18
Kích thước lớn: Các bản sao s sm b ri vo trng thỏi khụng nht
quỏn
ă Kích thước nhỏ: số lượng conit nhiều: quản lý phức tp
ă => Bi toỏn: cho trc mt (phn) tp d liệu, xác định kích thước
connit theo các tiêu chí tối u
ă
Mơ hình nhất
qn hướng dữ
liệu
Các mơ hình
nhất qn
Nhất qn liên
tục
Nhất qn theo
thứ tự thao tác
Đọc đơn điệu
Mơ hình nhất
qn hướng
người dùng
Ghi đơn điệu
Đọc kq đã ghi
Ghi kq đã đọc
19
nhất quán tuần
tự
nhất quán nhân
quả
20
2.4. Mụ hỡnh nht quỏn theo th t
thao tỏc
ă
ă
ă
ă
Truy cp tương tranh đến các tài nguyên chia sẻ
Tài nguyên chia sẻ là dữ liệu được nhân bản
Mạnh hơn mơ hình liên tục
Khi thực hiện cập nhật, thứ tự cập nhật được nhất
quán giữa các replicas
Mt vi ký hiu
21
ă
ă
Vi cỏc quỏ trỡnh thc hin khỏc nhau, tất cả các
tiến trình ln ln cho một kết qu
Cỏc thao tỏc trờn d liu
c (Ri(x)b)
Ô Ghi (Wi(x)a)
Ô Giỏ tr khi to ca cỏc d liu l NIL
Ô
Mơ hình nhất
qn hướng dữ
liệu
Các mơ hình
nhất qn
nhất qn liên
tục
nhất qn theo
thứ tự thao tác
Đọc đơn điệu
Mơ hình nhất
qn hướng
người dùng
Ghi đơn điệu
Đọc kq đã ghi
Ghi kq đã đọc
22
nhất quán tuần
tự
nhất quán nhân
quả
Nht quỏn tun t
23
ă
ă
ă
ă
Cỏc tin trỡnh u cú mt chui thao tác cục bộ
Các thao tác cục bộ của các tiến trình được tổng hợp
thành thứ tự thực hiện các thao tác trên kho dữ liệu
Có thể có các thứ tự thực hiện khác nhau trên kho dữ
liệu
Điều kiện của nht quỏn tun t
Ô
ă
Nu th t cỏc thao tỏc cc bộ của một tiến trình khơng
thay đổi trong thứ tự thực hiện chung trên kho dữ liệu
=>Kết quả luôn luôn như nhau.
Tất cả các tiến trình đều nhìn thấy một thứ tự của các
thao tác ghi
Ví dụ - 1
24
Mơ hình nhất
qn hướng dữ
liệu
Các mơ hình
nhất qn
Nhất qn liên
tục
Nhất qn theo
thứ tự thao tác
Đọc đơn điệu
Mơ hình nhất
qn hướng
người dùng
Ghi đơn điệu
Đọc kq đã ghi
Ghi kq đã đọc
25
Nhất quán tuần
tự
Nhất quán nhân
quả