- Vô hình nhân bản: Phân bố dữ liệu theo lối nhân dữ liệu thành nhiều bản sao nằm rải rác trên mạng Tăng hiệu năng, độ tin cậy, tính sẵn sàng -Vô hình phân mảnh fragmentation transpare
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA
“ SỰ GẮN BÓ THÔNG TIN TRONG HỆ QUẢN TRỊ
CƠ SỞ DỮ LIỆU PHÂN TÁN “
TIỂU LUẬN
MÔN HỌC: HỆ TIN HỌC PHÂN TÁN
HVTH : TRỊNH SỬ TRƯỜNG THI GVHD: PGS.TS LÊ VĂN SƠN
ĐỀ 2:
Trang 2PHẦN I:
LÝ THUYẾT
1. Kh ái quát về CSDL phân tán
2 Triển vọng và các yếu tố phức tạp của
CSDL phân tán
3 Sự gắn bó thông tin trong CSDL phân
tán
Trang 3I KHÁI QUÁT VỀ CSDL PHÂN TÁN
Giới thiệu
Xử lý dữ liệu phân tán
Hệ CSDL Phân tán là gì?
Trang 4Công nghệ về các hệ cơ sở dữ liệu phân tán (distributed database system, DDBS) là sự hợp nhất của hai hướng tiếp cận đối với quá trình xử lý dữ liệu:
Công nghệ cơ sở dữ liệu
1 Giới thiệu:
CHƯƠNG TRÌNH 1 CHƯƠNG TRÌNH 2
Mô tả dữ liệu Thao tác dữ liệu
TẬP TIN 2 TẬP TIN 3
DỮ LIỆU THỪA
Hình 1: Xử lý tập tin truyền thống
Trang 5Do nhu cầu tích hợp CSDL của các công ty, xí nghiệp để khai thác tập trung.
Công nghệ mạng máy tính: đi ngược lại với mọi nỗ lực tập trung hóa (phân tán)
Tổng hợp hai hướng tiếp cận trái ngược nhau cho ra một công nghệ mạnh mẽ, nhiều hứa hẹn Mục tiêu quan trọng
nhất của CSDL là tích hợp (integratior) chứ không phải tập trung hoá (centralization)
1 Giới thiệu (tt)
Trang 6Định nghĩa:
CSDL phân tán: là một tập nhiều cơ sở dữ liệu có
liên đới logic và được phân bố trên một mạng máy tính
Hệ quản trị CSDL phân tán (distributed database
management system): là một hệ thống phần mềm
cho phép quản trị các CSDL phân tán và làm cho việc phân tán trở nên “vô hình” đối với người sử dụng
2 Hệ CSDL phân tán là gì?:
Trang 7Trạm 1
Trạm 1
Trạm 3 Trạm 4
Trang 8II TRIỂN VỌNG & CÁC YẾU TỐ PHỨC
TẠP CỦA CÁC HỆ CSDL PHÂN TÁN
1. Triển vọng của các hệ CSDL phân tán
2. Các yếu tố phức tạp
Trang 91 Tri ển vọng của các h ệ CSDL phân tán
1.1 Quản lý dữ liệu phân tán và nhân bản một cách
vô hình
-Vô hình đối với người sử dụng: Che khuất các chi tiết về cài đặt,
tạo thuận lợi tối đa cho người sử dụng DBMS vô hình hoàn toàn là mức độ hỗ trợ cao mà nó cung cấp cho việc phát triển các ứng dụng phức tạp
- Độc lập dữ liệu: về logic và vật lý
Logic: Miễn nhiễm của các ứng dụng đối với những thay đổi
trong cấu trúc logic của CSDL
Vật lý: Không quan tâm đến chi tiết tổ chức dữ liệu vật lý
- Vô hình kết mạng (network transparency): Người sử dụng được
tách ra khỏi chi tiết hoạt động của mạng
Trang 10- Vô hình nhân bản: Phân bố dữ liệu theo lối nhân dữ liệu thành
nhiều bản sao nằm rải rác trên mạng Tăng hiệu năng, độ tin cậy, tính sẵn sàng
-Vô hình phân mảnh (fragmentation transparency): Nhu cầu tách
mỗi quan hệ thành các mảnh dữ liệu nhỏ hơn và xử lý các mảnh này như 1 đối tượng CSDL độc lập
1.2 Độ tin cậy qua các giao dịch phân tán :
-Do có các thành phần được nhân bản loại bỏ được các tình
huống sự cố tại các điểm riêng lẻ
-Dữ liệu tại các điểm sự cố sẽ được phục hồi sau khi khắc phục
1 Triển vọng của các hệ CSDL phân tán
Trang 111 Triển vọng của các hệ CSDL phân tán
1.3 Cải thiện hiệu năng:
Hiệu năng của DBMS phân tán được cải thiện dựa vào 2 điểm:
- Có khả năng phân mảnh CSDL khái niệm Ở đây có 2 ưu điểm nổi bật:
Mỗi trạm chỉ xử lý 1 phần CSDL, tranh chấp về CPU và dịch vụ xuất nhập không nghiêm trọng như các CSDL tập trung
Cục bộ hoá dữ liệu, làm giảm thiểu các chậm trễ do truy xuất ở xa
- Tính chất song hành của hệ phân tán, dùng để thực hiện các các tính toán song song
1.4 Tính dễ mở rộng: Mở rộng hệ thống về lưu trữ và xử lý
dễ dàng và kinh tế
Trang 122 Các yếu tố phức tạp
- Đảm bảo rằng việc cập nhật được phản ảnh trên tất
cả các bản sao của mục dữ liệu đó.
- Nếu một vài vị trí gặp sự cố do phần cứng, phần
mềm hoặc đường truyền trong lúc một thao tác cập
nhật đang tiến hành thì hệ thống phải đảm bảo rằng tác dụng cập nhật phải có trên những vị trí bị sự cố khi hệ thống khôi phục.
- Đồng bộ hoá các giao dịch trên nhiều vị trí sẽ khó
khăn so với hệ tập trung.
Trang 132 Các yếu tố phức tạp
Những khó khăn này chỉ ra một số vấn đề cần giải quyết:
- Tính phức tạp: Phải giải quyết không những vấn đề môi
trường tập trung mà còn hàng loạt các vấn đề khác về phân tán
- Chi phí: về thiết bị, con người.
- Phân tán quyền điều khiển: Sự phân tán gây ra vấn đề khó
khăn cho đồng bộ hoá và hiệp đồng Việc điều khiển phân tán
gây ra những gánh nặng nếu không có những chiến lược phù hợp
để giải quyết
- Tính an ninh (security): So với CSDL tập trung, bảo mật của
CSDL phân tán khó khăn hơn nhiều
Trang 14III GẮN BÓ THÔNG TIN TRONG HỆ
Trang 151 Giới thiệu vấn đề:
Việc truy cập thông tin trong hệ tin học phân tán
không thể tiến hành theo một trình tự ngẫu nhiên.
Nguyên do cơ bản của vấn đề trên chính là vấn đề
bế tắc và gắn bó dữ liệu.
Hai hiện tượng trên có thể diễn ra bất cứ lúc nào và
bất cứ ở đâu trong hệ và gây nên những hậu quả có
tính chất kỹ thuật không thể lường trước được.
Trạng thái của hệ thoã mãn một tập các ràng buộc
toàn vẹn gọi là trạng thái gắn bó
Trang 162 Sự gắn bó thông tin
GIẢ ĐỊNH THỰC TẾ
Số lượng các đối tượng thông tin
có thể truy cập được và số lượng
các tiến trình có nhu cầu thông tin:
cố định
Các đối tượng và các tiến trình được tạo lập và huỷ bỏ có tính chất động trong suốt quá trình tồn tại của hệ.
Hệ phát triển rời rạc theo thời
gian Giữa các điểm quan sát có
thể nhận biết được trạng thái thực
của chúng
Các đối tượng và các tiến trình được phân tán trên các trạm khác nhau qua hệ thống viễn thông nên không thể xác định được trạng thái chính xác của hệ
Hệ có độ ổn định cao Xảy ra sự cố kỹ thuật bất kỳ lúc nào
2.1 Giả định và thực tế:
Trang 172.2 Tác động và giao dịch
Các đối tượng khác nhau của hệ quan hệ với nhau
bởi tập hợp các quan hệ gọi là các ràng buộc toàn
vẹn
Mong muốn thực hiện các tiến trình phải duy trì cho được hệ trong trạng thái gắn bó Để chính xác hoá đặc tính này, cần phải lưu ý là trạng thái của hệ chỉ được xác định ở mức quan sát cho trước
2 Sự gắn bó thông tin (tt)
Trang 18Trạng thái của hệ được xác định ở hai mức quan sát :
• Người sử dụng: Tiến trình là thực hiện một dãy các giao
dịch Giao dịch đó là chương trình duy nhất được thực hiện
từ một trạng thái gắn bó dẫn hệ đến một trạng thái gắn bó
khác
• Hệ thống: Mỗi giao dịch được cấu tạo từ một dãy các tác
động được thể hiện như sau
•Nếu hai tác động A và B thuộc hai giao dịch khác nhau được thực hiện bởi hai tiến trình thì hiệu ứng tổng quát của chúng sẽ là hoặc hiệu ứng của dãy (A;B) hoặc là
2 Sự gắn bó thông tin (tt)
Trang 19 Ở mức hệ thống, các tác động là phần tử nhỏ nhất không thể
chia cắt được nữa Trong quá trình thực hiện hệ phải đảm bảo
cho các tác động không bị ngắt quãng
Cho một tập hợp giao dịch M={T 1 ,T 2 …,T n } lần lượt được thực
hiện bởi các tiến trình độc lập p 1 ,p 2 …,p n việc thực hiện tuần tự
có nghĩa là thực hiện tất cả các giao dịch của M theo kiểu nối
đuôi nhau và tuân thủ một trật tự nào đó Sự gắn bó của hệ được bảo toàn
Nếu vì lý do hiệu quả, nhiều giao dịch được thực hiện song
song thì sự gắn bó không còn đảm bảo được nữa
2 Sự gắn bó thông tin (tt)
Trang 202.3 Trật tự hoá các tác động
Cho một tập hợp giao dịch M = {T 1 ,T 2 …,T n }.
Toàn bộ việc thực hiện các giao dịch M bởi 1 tập hợp các tiến trình tương tranh là tương đương với việc thực hiện 1 dãy S các tác động thuộc các giao dịch này chẳng hạn: S= (a 1 , a 2 a n ).
Tuân thủ trật tự nội tại từng giao dịch.
Gồm tất cả các tác động tạo nên các giao dịch M.
Mỗi tác động chỉ xuất hiện 1 và chỉ 1 lần
⇒ S gọi là trật tự hoá của tập hợp các giao dịch M
2 Sự gắn bó thông tin (tt)
Trang 213 Triển khai giao dịch tôn trọng sự gắn bó
Cho một tập hợp giao dịch M={T 1 ,T 2 …,T n }.
Một trật tự hóa của tập hợp các tác động thành phần thực hiện hoàn toàn các giao dịch
Việc thu được một trật tự hóa gắn bó chỉ có thể thành công khi
áp dụng các ràng buộc trên trật tự thực hiện các tác động
Nguyên lý của phương pháp là ở chỗ làm chậm một tác động nào đó cho đến thời điểm mà sự thực hiện của nó không còn có nguy cơ phá hủy sự gắn bó của trật tự hóa
Để đảm bảo các giao dịch trên tôn trọng sự gắn bó thông tin thì người ta đưa ra các phương pháp trên cơ sở dữ liệu phân tán:
Trang 22Cơ chế then cài.
Then cài loại trừ tương hỗ
Toàn bộ giao dịch được đạt trong cặp hàm nguyên thuỷ:
mo_giaodich và dong_giaodich
Then cài lựa chọn đối tượng
Một giao dịch thay đổi các giá trị của đối tượng phải loại trừ tất
cả các đối tượng khác muốn truy cập, ngược lại thì việc truy cập được tiến hành theo kiểu tương tranh
Giao dịch hai pha: kiểm tra giao dịch theo 2 điều kiện
Toàn bộ đối tượng bị cài then cho đến cuối giao dịch.
Không có 1 then cài nào có thể diễn ra tiếp theo 1 then cài khác
3 Triển khai giao dịch tôn trọng sự gắn bó (tt)
Trang 231 Giao dịch T bắt buộc phải thực hiện một cách trọn vẹn
2 Nếu có sự cố xảy ra thì phải quay lại điểm xuất phát.
Xử lý các sự cố:
Từ việc xác định các đối tượng dữ liệu phân bổ trên nhiều trạm
khác nhau ở trên, để duy trì sự gắn bó trong môi trường phân tán phải thực hiện:
Và đòi hỏi giao dịch phải có các đặc tính toàn vẹn:
1 Nếu một tiến trình bị sự cố trước khi kết thúc T nhưng lại sau các thao tác thay đổi cần thiết của T, trạng thái của hệ là gắn bó.
2 Nếu một tiến trình bị sự cố trước khi diễn ra các thay đổi của T, trạng thái của hệ là gắn bó.
3 Nếu một tiến trình bị sự cố giữa các thay đổi của T, trạng thái của hệ là không gắn bó.
3 Triển khai giao dịch tôn trọng sự gắn bó (tt)
Trang 24Quản lý gắn bó các giao dịch
Xét hệ có các đối tượng được phân tán trên nhiều trạm, nhưng không có bản sao
tiến hành theo kiểu song song.
vô hạn Nhưng thực tế khả năng bế tắc là không đáng kể vì mỗi giao dịch chỉ xử lý tập hợp nhỏ của các đối tượng.
⇒ Đưa ra các phương pháp để quản lý gắn bó các giao dịch:
Phương pháp dự phòng (đòi hỏi phải có kiến thức cần thiết
về các đối tượng xử lý)
3 Triển khai giao dịch tôn trọng sự gắn bó (tt)
Trang 254 Các thuật toán đảm bảo sự gắn bó thông tin trong
cơ sở dữ liệu phân tán.
Thuật toán duy trì sự gắn bó tránh bế tắc và thiếu thốn
Nguyên lý:
Thuật toán quản lý nhiều bản sao
1. Thuật toán đảm bảo sự gắn bó yếu nhờ dấu
2. Thuật toán đảm bảo sự gắn bó yếu nhờ bộ tuần tự tuần
hoàn
3. Thuật toán đảm bảo sự gắn bó mạnh
Trang 26PHẦN II:
BÀI TẬP
Trang 27BÀI TẬP: Sơ đồ CSDL gồm 5 files
t 0 -USER 1
Trạm 3
Trạm 2 Trạm 1
Trạm 4 Trạm 5
Confirm
Mạng truyền số liệu
CSDL 4
CSDL
5
CSDL 1
CSDL 2
CSDL 3
Acknowledge
t 1 -USER 4
Trang 28Như vậy, ở một thời điểm to nào đó có một thao tác nào xảy ra tại phía người dùng thứ nhất tại vị trí 1 để đọc, ghi dữ liệu tại một trạm bất kỳ nào đó thì trạm đó sẽ gửi một acknowledge đến một trạm kế tiếp nếu các giao dịch thành công thì trạm này sẽ gửi trả lời một confirm xác
hẹn giao dịch này để đảm bảo gắn bó thông tin trong cơ
sở dữ liệu phân tán, và các trạm còn lại cũng sẽ có các giao dịch tương tự như vậy trong mạng lưới Nếu có một
sự cố nào đó xảy ra thì tính nhất quán về mặt dữ liệu sẽ không còn và như vậy vấn đề gắn bó dữ liệu trong hệ sẽ không còn.
Mô tả
Trang 29Thuật toán điều khiển đồng thời bằng khóa chốt
Chúng ta dùng hai loại khóa chốt đó là khóa đọc
(read lock) và khóa ghi (write lock).
Một giao dịch Ti đang muốn đọc một mục dữ liệu được chứa trong đơn vị x sẽ nhận được một khóa
đọc trên x [ký hiệu là rli(x)] và tương tự với thao tác ghi là wli(x)
Nếu chúng truy cập đến cùng một mục dữ liệu có thể nhận được khóa trên mục dữ liệu đó cùng lúc
được thể hiện như hình dưới đây:
Trang 30rl i (x) wl i (x)
Các khoá đọc tương thích với nhau, còn các khoá đọc-ghi hoặc ghi-ghi
thì không tương thích => hai giao dịch có thể đọc đồng thời một mục
Trong các hoạt động dùng khóa chốt, bộ xếp lịch chính là Bộ Quản lý
khóa Bộ quản lý giao dịch sẽ chuyển cho Bộ Quản lý khóa các thao tác
CSDL (đọc hoặc ghi) và các thông tin kèm theo (như dữ liệu cần truy xuất, định danh của giao dịch đưa ra yêu cầu) Sau đó bộ quản lý khóa sẽ
kiểm tra xem đơn vị khóa có chứa mục dữ liệu đó đã bị khóa hay chưa,
Thuật toán điều khiển đồng thời bằng khóa chốt
Trang 31 Ngược lại, khóa sẽ đặt đúng với thể thức mong muốn và thao tác này sẽ được chuyển bộ xử lý dữ liệu để truy xuất cơ sở dữ liệu thực
sự Sau đó bộ quản lý giao dịch sẽ thông tin về các kết quả thực hiện Việc kết thúc giao dịch sẽ giải phóng các khóa của nó và khởi hoạt một giao dịch khác đang đợi truy xuất dữ liệu này.
Quy tắc khóa hai pha chỉ đơn giản khẳng định rằng không có giao dịch nào yêu cầu khóa sau khi nó đã giải phóng một trong các khóa của nó Nó không giải phóng khóa cho đến khi nó bảo đảm rằng không yêu cầu thêm khóa nữa
Thuật toán 2PL thực hiện các giao dịch hai pha, mỗi giao dịch có
một pha tăng trưởng, trong pha này nó nhận khóa và truy xuất các mục dữ liệu và có một pha thu hồi là giai đoạn giải phóng các khóa.
Thuật toán điều khiển đồng thời bằng khóa chốt
Trang 32Nhận khóa Giải phóng khóa
Số
khoá
Biểu đồ khóa 2PL
Trang 33 Điểm khóa là thời điểm giao dịch đã nhận được tất cả các khóa nhưng chưa bắt đầu giải phóng bất kỳ khóa nào Vì thế điểm khóa xác định cuối pha tăng trưởng và khởi điểm pha thu hồi của một giao dịch Hình trên chỉ ra việc hoàn tất khóa sau khi hoàn tất việc truy xuất Điều này cho phép các giao dịch chưa nhận khóa tiếp tục tiến hành nhận khóa dẫn đến làm tăng hoạt động đồng thời Nhưng việc cài đặt gặp khó khăn vì bộ quản
lý khóa phải biết rằng giao dịch đã nhận đủ tất cả mọi khóa và
sẽ không còn cần một khóa mục nào nữa Bộ quản lý khóa cũng cần phải biết giao dịch không cần truy xuất dữ liệu nữa dẫn đến khóa có thể được giải phóng
Biểu đồ khóa 2PL
Trang 34Định nghĩa dùng trong giải thuật:
Declare-type
Operation: Một trong những thao tác Begin_Transaction, Read, Write,
Abort, hoặc Commit
DataItem: Một khoản mục dữ liệu trong CSDL phân tán
TransactionId: Một giá trị duy nhất được gán cho mỗi giao dịch
DataVal: Một giá trị có kiểu dữ liệu cơ bản (integer, real, )
SiteId: Định danh duy nhất cho vị trí
Dbop {một phép toán trên CSDL của ứng dụng}
Opn: Operation Data: DataItem Tid: transactionId Dbmsg {một thông báo về bộ xử lý dữ liệu}
Opn: Operation
Trang 35Scmsg {một thông báo từ bộ xếp lịch}
Opn: Operation Tid: transactionId Result: DataVal Transaction <- một bộ hai gồm
Tid: transactionId Body: thân giao dịch Message <- một chuỗi ký tự cần được truyền đi
OpSet: một tập các Dbop SiteSet: một tập các SiteId
Trang 37begin
Trả res về cho ứng dụng của người sử dụng (giao dịch)
end Write:
begin
Thông tin cho ứng dụng về việc hoàn tất hành động
ghi trả res về cho ứng dụng
end Commit :
begin Huỷ vùng làm việc của T
Thông tin cho ứng dụng biết về việc hoàn tất giao dịch T
end case
until forever
end {2PL-TM}.
Giải thuật (tt):
Trang 38Giải thuật duy trì sự gắn bó thông tin đối với hệ trên theo phương pháp tránh bế tắc và thiếu thốn dựa trên nguyên lý sau:
Bước 1: Then cài ngầm định.
Bộ điều khiển cục bộ trên mỗi trạm Si áp đặt cho các tác động khác nhau trên trạm và diễn biến theo một trật tự hoá hợp thức
Để làm được việc đó cần phải ngăn chặn giao dịch Tj hay nói cách khác là tiến trình Pji mà tiến trình này đang thực hiện trên
Si Tất cả diễn ra trên một đối tượng được cài then bởi một giao dịch sử dụng theo kiểu chia sẻ trước khi đọc, loại trừ trước khi ghi Tất cả các mở then chỉ diễn ra sau khi xong một
Giải thuật (tt):