Tải bản đầy đủ (.ppt) (56 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (758.12 KB, 56 trang )

CHƯƠNG VI:
NHÂN BẢN DỮ LIỆU

1


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


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.


NHÂN BẢN
Quá trình tạo và lặp lại nhiều bản sao của dữ
liệu ở một hay nhiều site.
• Cung cấp cho người sử dụng vị trí và thời
điểm truy nhập dữ liệu tương tranh khi họ
cần.
• Đạ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.



NHÂN BẢN (tiếp)


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


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


Ư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.


Ư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.


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ỏ


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


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.



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ộ)
• Các chức năng khác bao gồm:
– Đáp ứng quy mô
– Ánh xạ và chuyển đổi
– Nhân bản đối tượng
– Đặc tả lược đồ nhân bản
– Thực hiện cơ chế biểu quyết
– Thực hiện cơ chế khởi tạo
– Dễ quản trị


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



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


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


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


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 = {T0, …,
Tn} là thứ tự riêng phần với quan hệ thứ tự <, ở đây
– H = h(∪ni=0 Ti) lịch biểu các chức năng h
– Với mỗi Ti và tất cả các thao tác pi, qi trong Ti, nếu pi thì mọi thao tác trong h(pi) được quan hệ bởi dấu < đối với
mọi quan hệ trong h(qi)
– Với mọi rj[xA], có ít nhất một wi[xA] < rj[xA]
– Nếu wi[x] ∈ H và rj[x] ∈ H, thì wi[x] < rj[x] hay rj[x] < wi[x]
– Nếu wi[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 .


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.



PHÂN LOẠI
• Quyền sở hữu: master/slave, workflow, update
anywhere
• Thời điểm cập nhật nhân bản: Đồng bộ và không
đồng bộ
• Kỹ thuật
– 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.


NHÂN BẢN ĐỒNG BỘ
VÀ KHÔNG ĐỒNG BỘ
ĐỒNG BỘ: Cập nhật các dữ liệu nhân bản như một
phần của giao dịch trọn vẹn
- Nếu một hay nhiều site giữ các nhân bản chưa sẵn
sàng, giao dịch không thể hoàn tất
- Một số lượng lớn các thông điệp được yêu cầu để
phối hợp đồng bộ.
KHÔNG ĐỒNG BỘ: cơ sở dữ liệu đích được câp
nhật sau khi cơ sở dữ liệu nguồn đã thay đổi
- Giữ trễ trong khi đảm bảo nhất quán trong một
khoảng thời gian nhất định



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.
• Các kiểu sở hữu chính là:
– Master/slave ( nhân bản bất đối xứng)
– Workflow,
– Update-anywhere ( nhân bản ngang hàng hay
nhân bản đối xứng ).


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


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


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