CH
ƯƠ
NG 7: SAO L
Ư
U
TH
T D
LI
U
TS. Tr
n H
i Anh
B i gi
ng
đượ
c x y d
ng d
a tr n b i gi
ng c
a PGS. TS. H Qu
c Trung
Problems
2
Content Delivery Network
AKAMAI
Nội dung
1. Giới thiệu về sao lưu v thống nhất dữ liệu
2. C c m h nh sao lưu hướng dữ liệu
3. C c m h nh sao lưu hướng client
4. Quản lý c c bản sao
5. C c giao thức sao lưu
6. Một số c ng cụ sao lưu
5
1.1
. V sao ph
i sao l
ư
u
1.2
. Th
ng nh
t d
li
u
1.3
.
Ư
u
đ
i
m, nh
ượ
c
đ
i
m c
a sao l
ư
u d
li
u
. Gi
1
i thi
u
6
1.1. V sao phải sao lưu
Độ tin cậy (t nh sẵn s ng)
Hiệu năng
Khả năng co gi n (?)
Y u cầu về thống nhất dữ liệu
1.2. Thống nhất dữ liu
C c bản sao cần c một dữ liệu
Kh ng thể tức khắc đồng bộ
Khi n o, như thế n o
7 8
T nh thống nhất mạnh v t nh thống nhất yếu
Đạt
được t nh thống nhất mạnh=>tốn k m về hiệu năng
V
dụ:Bộ nhớ đệm của tr nh duyệt.
Để đảm bảo t nh thống nhất:
Cấm kh ng cho d ng bộ nhớ
đệm
Server cập nhật bộ nhớ đệm khi c nội dung thay đổi
Giải ph p=> thống nhất hợp lý
1.3. Ưu & nhược điểm
Cải thiện tốc độ truy cập
Giảm 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
9
V dụ: số lần cập nhật v số lần truy cập
Thống nhất chặt: giảm hiệu năng
Thống nhất lỏng: lỏng đến đu? Mức độ thống
nhất<>chi ph
2.1
. Kho d
li
u phn tn
2.2
. M hnh th
ng nh
t lin t
c
. Connit
2.3
. Th
2.4
ng nh
t v
th
t
th
c hi
n
. M h nh th
2
ng nh
t h
ướ
ng d
li
u
10
2.1. Kho dữ liệu ph n t n
M h nh thống nhất
Cam kết giữa c c tiến tr nh v kho dữ liệu
11 12
Distributed data store
Process
Process
Process
Local copy
Muốn đọc gi trị cuối c ng (mới nhất)
Kh ng c đồng hồ to n cục kh thực hiện
Kh i niệm phạm vi của m h nh thống nhất (độ
lệch, độ sai kh c)
2.2. M h nh thống nhất li n tục
Những yếu tố đnh gi sự bất đồng bộ:
Ch nh lệch gi trị của c c biến (nhiệt độ, gi cả, ..)
Ch nh lệch thời gian cập nhật
Thứ tự c c thao t c cập nhật
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
13 14
2.3. Conit (consistency unit)
Replica A Replica B
Conit
x = 6; y =
3
Operation
< 5, B>
x := x + 2
Result
[ x = 2
]
< 8, A>
y := y + 2
<12, A>
y := y + 1
<14, A>
x := y * 2
[ y = 2
]
[ y = 3
]
[ x = 6
]
Conit
x = 2; y =
5
Operation
< 5, B>
x := x + 2
Result
[ x = 2
]
<10, B>
y := y + 5
[ y = 5
]
Thời gian thực hiện:? Vector
clock A = (15, 5)
Sai lOrder deviation ệch về thứ
tự thự=c hi 3 ện:? Sai l
Numerical
deviation = (1, 5)
ệch về gi trị:?
Vector clock B = (0, 11)
Order deviation = 2
Numerical deviation = (3,
6)
K ch thước nhỏ: thống nhất cao
K ch th
ước lớn: C c bản sao sẽ sớm bị rơi v o trạng th i kh ng
thống nhất
K ch thước nhỏ: số lượng conit nhiều: quản lý phức tạp
=> B i to n: cho trước một (phần) tập dữ liệu, x c định k ch thước
connit theo c c ti u ch tối ưu
API cho lập tr nh vi n
15
Đặc tả được c c y u cầu về t nh thống nhất với một
conit
AffectsConit(aMQ, 1,1);
aMQ.add(m)
Khai b o thao t c ảnh hưởng đến Conit
DependsConit(aMQ,4,0,60);
aMQ.read(m)
2.4. M h nh thống nhất theo thứ tự
thao t c
Truy cập tương tranh đến c c t i nguy n chia sẻ
T i nguy n chia sẻ l dữ liệu được sao lưu
Mạnh hơn m h nh li n tục
16 17
Khi thực hiện cập nhật, thứ tự cập nhật được thống
nhất giữa c c replicas
Một v i ký hiu
Với c c qu tr nh thực hiện kh c nhau, tất cả c c tiến
tr nh lu n lu n cho một kết quả
C c thao t c tr n dữ liệu
Đọc (Ri(x)b)
Ghi (Wi(x)a)
Gi trị khởi tạo của c c dữ liệu l NIL
Thống nhất tuần tự
18
C c tiến tr nh đều c một chuỗi 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 thống nhất tuần tự
Nếu thứ tự c c thao t c cục 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
19 20
Thống nhất nh n quả
C c sự kiện c quan hệ nh n quả đảm bảo thứ tự
Những sự kiện kh c kh ng cần
=> T nh thống nhất yếu
21
C c thao t c ghi c r ng buộc nh n quả cần được c c
tiến tr nh nh n thấy theo c ng một thứ tự
Thống nhất nh n quả (cont.)
22
C c thao t c nh m
Thống nhất tuần tự v nh n quả l sản phẩm của bộ nhớ
chia sẻ d ng chung
Ph hợp với c c quan hệ điểm điểm
Buộc lập tr nh vi n phải thiết kế c c giao thức=> phức
tạp
Trong một số trường hợp, dữ liệu cần được quảng b
một lần cho tất cả c c bản sao=> c c thao t c nh m
Một trong c c giao thức được sử dụng rộng r i l sử dụng
đoạn găng
ENTER_CS & LEAVE_CS
Nguy n tắc
23

Preview text:

CHƯƠNG 7: SAO LƯU V¸ TH ỐNG NHẤT DỮ LIỆU TS. Trần Hải Anh
B i gi ả ng đượ c x y d ự ng d ự a tr n b i gi ả ng c ủ a PGS. TS. H Qu ố c Trung Problems 2 Content Delivery Network AKAMAI Nội dung
1. Giới thiệu về sao lưu v thống nhất dữ liệu
2. C c m h nh sao lưu hướng dữ liệu 5
3. C c m h nh sao lưu hướng client 4. Quản lý c c bản sao 5. C c giao thức sao lưu
6. Một số c ng cụ sao lưu 6 . Gi 1 ới thiệu 1.1. V sao ph ải sao lưu
1.2. Thống nhất dữ liệu
1.3. Ưu điểm, nhược điểm của sao lưu dữ liệu 1.1. V sao phải sao lưu 7 8
 Độ tin cậy (t nh sẵn s ng)  Hiệu năng  Khả năng co gi n (?)
 Y u cầu về thống nhất dữ liệu
1.2. Thống nhất dữ liệu
 C c bản sao cần c một dữ liệu
 Kh ng thể tức khắc đồng bộ  Khi n o, như thế n o
 T nh thống nhất mạnh v t nh thống nhất yếu  Đạt
được t nh thống nhất mạnh=>tốn k m về hiệu năng  V
dụ:Bộ nhớ đệm của tr nh duyệt. 9
 Để đảm bảo t nh thống nhất: ◼ Cấm kh ng cho d ng bộ nhớ đệm☺
◼ Server cập nhật bộ nhớ đệm khi c nội dung thay đổi
 Giải ph p=> thống nhất hợp lý
1.3. Ưu & nhược điểm
 Cải thiện tốc độ truy cập  Giảm 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ố lần cập nhật v số lần truy cập
 Thống nhất chặt: giảm hiệu năng
 Thống nhất lỏng: lỏng đến đu? Mức độ thống nhất<>chi ph 2. M h nh ống nhất hướng dữ th 10 liệu 2.1. Kho dữ liệu phn tn
2.2. M hnh th ống nhất lin t ục . Connit 2.3 . 2.4
ống nhất về thứ tự thực hiện Th 2.1. Kho dữ liệu ph n t n 11 12 Process Process Process Local copy Distributed data store M h nh thống nhất
 Cam kết giữa c c tiến 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ồ to n cục → kh thực hiện 13 14
 Kh i niệm phạm vi của m h nh thống nhất (độ lệch, độ sai kh c)
2.2. M h nh thống nhất li n tục
 Những yếu tố đnh gi sự bất đồng bộ:
 Ch nh lệch gi trị của c c biến (nhiệt độ, gi cả, ..)
 Ch nh lệch thời gian cập nhật
 Thứ tự c c thao t c cập nhật
 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) Replica A Replica B Conit Conit x = 6; y = x = 2; y = 3 5 Operation Result Operation Result < 5, B> x := x + 2 [ x = 2 < 5, B> x := x + 2 [ x = 2 ] ] [ y = 2 [ y = 5 < 8, A> ] ] y := y + 2 <10, B> y := y + 5 [ y = 3 ] <12, A> y := y + 1 [ x = 6 ] <14, A> x := y * 2
Thời gian thực hiện:? Vector Vector clock B = (0, 11) clock A = (15, 5) Order deviation = 2
Sai lOrder deviation ệch về thứ Numerical deviation = (3,
tự thự=c hi 3 ện:? Sai lNumerical 6)
deviation = (1, 5)ệch về gi trị:?
K ch thước nhỏ: thống nhất cao 15
 K ch th ước lớn: C c bản sao sẽ sớm bị rơi v o trạng th i kh ng thống nhất
 K ch thước nhỏ: số lượng conit nhiều: quản lý phức tạp
 => B i to n: cho trước một (phần) tập dữ liệu, x c định k ch thước
connit theo c c ti u ch tối ưu API cho lập tr nh vi n
 Đặc tả được c c y u cầu về t nh thống nhất với một conit  AffectsConit(aMQ, 1,1); 16 17  aMQ.add(m)
 Khai b o thao t c ảnh hưởng đến Conit  DependsConit(aMQ,4,0,60);  aMQ.read(m)
2.4. M h nh thống nhất theo thứ tự thao t c
 Truy cập tương tranh đến c c t i nguy n chia sẻ
 T i nguy n chia sẻ l dữ liệu được sao lưu
 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 thống
nhất giữa c c replicas 18 Một v i ký hiệu
 Với c c qu tr nh thực hiện kh c nhau, tất cả c c tiến
tr nh lu n lu n cho một kết quả
 C c thao t c tr n dữ liệu
 Đọc (Ri(x)b)  Ghi (Wi(x)a)
 Gi trị khởi tạo của c c dữ liệu l NIL Thống nhất tuần tự
 C c tiến tr nh đều c một chuỗi 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 19 20
 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 thống nhất tuần tự
 Nếu thứ tự c c thao t c cục 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 21 Thống nhất nh n quả
 C c sự kiện c quan hệ nh n quả đảm bảo thứ tự
 Những sự kiện kh c kh ng cần
 => T nh thống nhất yếu
 C c thao t c ghi c r ng buộc nh n quả cần được c c
tiến tr nh nh n thấy theo c ng một thứ tự 22
Thống nhất nh n quả (cont.) C c thao t c nh m 23
Thống nhất tuần tự v nh n quả l sản phẩm của bộ nhớ chia sẻ d ng chung
 Ph hợp với c c quan hệ điểm điểm
 Buộc lập tr nh vi n phải thiết kế c c giao thức=> phức tạp
 Trong một số trường hợp, dữ liệu cần được quảng b
một lần cho tất cả c c bản sao=> c c thao t c nh m
 Một trong c c giao thức được sử dụng rộng r i l sử dụng đoạn găng
ENTER_CS & LEAVE_CS Nguy n tắc