Cơ sở dữ liệu phân tán nói riêng và các hệ phân tán nói chung là một lĩnhvực nghiên cứu không mới, nhưng gần đây, do sự phát triển nhanh chóng củacông nghệ truyền thông và sự bành trướng
Trang 1LỜI MỞ ĐẦU
Trong những năm gần đây, những thành tựu về Khoa học - Công nghệphát triển mạnh mẽ đã làm thay đổi bộ mặt của xã hội nước ta Đặc biệt là sựphát triển vượt bậc trong lĩnh vực Công nghệ thông tin
Cơ sở dữ liệu phân tán nói riêng và các hệ phân tán nói chung là một lĩnhvực nghiên cứu không mới, nhưng gần đây, do sự phát triển nhanh chóng củacông nghệ truyền thông và sự bành trướng mạnh mẽ của mạng Internet cùngvới xu thế toàn cầu hóa trong mọi lĩnh vực, đặc biệt là về thương mại, cơ sở
dữ liệu phân tán đã trở thành một lĩnh vực thu hút nhiều sự quan tâm của cácnhà nghiên cứu lý thuyết lẫn các nhà sản xuất phần mềm
Trên thực tế, một xu hướng kỹ thuật mới ra đời-xu hướng phân tán cácthành phần tạo nên hệ tin học theo hướng tiếp cận nơi sử dụng và sản xuấtthông tin Song để khai thác có hiệu quả toàn hệ, vấn đề quan trọng hàng đầucần phải tính đến là các tài nguyên nói chung, đặc biệt là tài nguyên thông tinnói riêng và chiến lược khai thác, sử dụng chúng một cách tối ưu nhất
Một ví dụ điển hình được đưa ra đối với hệ tin học phân tán đó là việcquản lý các tài khoản của một ngân hàng Mỗi một người mở tài khoản tạingân hàng sẽ được lưu trữ trong một bản ghi của CSDL Chủ tài khoản có thể
ở bất kì nơi nào trong cả nước cũng có thể truy cập vào tài khoản của mìnhthông qua mã số tài khoản Giả sử hai người cùng nhau mở một tài khoảntrong ngân hàng, lúc này đây hai người ở hai ngân hàng khác nhau cùng truycập vào tài khoản chung của họ Một người truy cập vào để rút tiền còn ngườikia truy cập vào để xem số tiền còn lại của mình Nếu 2 công việc này xảy rađồng thời cùng một lúc thì vấn đề gì sẽ xảy ra? Vấn đề sai lệch thông tin chongười muốn truy cập để xem số tiền còn lại là điều đương nhiên
Ngăn chặn khuyết điểm này người ta đưa ra hàng loạt các phương pháp,thuật toán để đảm bảo khi trao đổi thông tin vẫn đảm bảo tính gắn bó (nhấtquán) trong vấn đề cập nhập thông tin cũng như truy vấn thông tin, trong đóvấn đề về sự gắn bó thông tin trong cơ sở dữ liệu phân tán là một trong nhữngvấn đề cơ bản
Trang 2Vì vậy trong nội dung của tiểu luận này em xin trình bày hai vấn đề sau:
Trang 3CHƯƠNG I : TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN
I GIỚI THIỆU CƠ SỞ DỮ LIỆU PHÂN TÁN
I.1 Giới thiệu
Cô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 và công nghệ mạng máy tính Các hệ cơ sở dữ liệuchuyển từ mô thức xử lý dữ liệu, trong đó mỗi ứng dụng định nghĩa và duy trì
dữ liệu của riêng chúng sang mô thức quản lý và xử lý dữ liệu tập trung.Hướng đi này dẫn đến tính độc lập dữ liệu, nghĩa là các ứng dụng được “miễnnhiệm” đối với những thay đổi về tổ chức lôgíc hoặc vật lý của dữ liệu vàngược lại
Hình 1: Xử lý tập tin truyền thông
Một trong những động lực thúc đẩy việc sử dụng hệ cơ sở dữ liệu là nhucầu tích hợp các dữ liệu hoạt tác của một xí nghiệp và cho phép truy xuất tậptrung, nhờ vậy có thể điều khiển được các truy xuất đến dữ liệu, còn côngnghệ mạng đi ngược lại với mọi nổ lực tập trung hóa Nhìn thoáng qua, chúng
ta khó hình dung ra làm cách nào tiếp cận hai hướng trái ngược nhau để cho
ra một công nghệ mạnh mẽ và nhiều hứa hẹn hơn so với từng công nghệ riêng
lẻ Mấu chốt của vấn đề là cần phải hiểu rằng, mục tiêu quan trọng nhất của
CHƯƠNG TRÌNH 1
Mô tả dữ liệu CHƯƠNG TRÌNH 2
Mô tả dữ liệu CHƯƠNG TRÌNH 3
Mô tả dữ liệu
TẬP TIN 1
TẬP TIN 2
TẬP TIN 3
Trang 4công nghệ cơ sở dữ liệu là sự tích hợp không phải sự tập trung hóa, cũng cầnphải hiểu rằng hai thuật ngữ có được điều này không dẫn đến điều kia Và vẫn
có thể tích hợp mà không cần tập trung hóa Đây chính là mục tiêu của côngnghệ cơ sở dữ liệu phân tán
Hình 2: Xử lý cơ sở dữ liệu
I.2 Định nghĩa cơ sở dữ liệu phân tán
Chúng ta có thể định nghĩa một cơ sở dữ liệu phân tán là một tập nhiều
cơ sở dữ liệu có liên đới logíc và được phân bố trên một mạng máy tính Vậy
hệ quản trị cơ sở dữ liệu phân tán được định nghĩa là một hệ thống phần mềmcho phép quản trị các hệ cơ sở dữ liệu 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 Hai thuật ngữ quan trọng trong địnhnghĩa này là “liên đới lôgic’ và “phân bố trên một mạng máy tính”
Một hệ cơ sở dữ liệu phân tán (distributed database system, viết tắt làDDBS) không phải là một “tập các tập tin” lưu riêng lẻ tại mỗi nút của mộtmạng máy tính Để tạo ra một hệ cơ sở dữ liệu phân tán, các tập tin khôngnhững có liên đới lôgíc mà chúng còn phải có cấu trúc và được truy xuất quamột giao diện chung
Ngoài ra, một hệ cơ sở dữ liệu phân tán không phải là hệthống trong đó dù có sự hiện diện của một mạng máy tính, cơ
sở dữ liệu chỉ nằm tại một nút của mạng Trong trường hợpnày, vấn đề quản trị cơ sở dữ liệu không khác với việc quảntrị cơ sở dữ liệu trong hệ tập trung Cơ sở dữ liệu này đượcquản lý tập trung tại một hệ thống máy tính (trạm 2 tronghình dưới) và tất cả mọi yêu cầu đều chuyển đến vị trí đó.Điều cần xem xét là độ chậm trễ khi truyền dữ liệu Hiểnnhiên là sự tồn tại của một mạng máy tính hoặc một tập các
CHƯƠNG TRÌNH 1
CHƯƠNG TRÌNH 1
CHƯƠNG TRÌNH 1
Mô tả dữ liệu Thao tác dữ liệu
….
CƠ SỞ
DỮ LIỆU
Trang 5tập tin không đủ để tạo ra một hệ cơ sở dữ liệu phân tán Điềuchúng ta quan tâm là một môi trường trong đó dữ liệu đượcphân tán trên một số vị trí.
Hình 3: CSDL trung tâm trên một mạng
Hình 4: Môi trường của hệ CSDL phân tánTrong hệ thống cơ sở dữ liệu phân tán, cơ sở dữ liệu chứa trong vài máytính Các máy tính liên lạc với nhau qua nhiều phương tiện truyền thông, nhưbus tốc độ cao hay đường điện thoại Chúng không chia sẻ bộ nhớ chính, cũngkhông dùng chung đồng hồ
Các bộ xử lý trong hệ thống phân tán có kích cỡ và chức năng khác nhau.Chúng có thể gồm các bộ vi xử lý, trạm làm việc, máy tính mini, hay các máy
Trạm 1
Trạm 3
Trạm 4
Trạm 1
Trạm 3
Trạm 4
Trạm 5
Mạng truyền
dữ liệu
Trạm 2
Trang 6tính lớn vạn năng Những bộ xử lý này được gọi tên là các trạm, nút, máy tính
và cả những tên tùy theo ngữ cảnh riêng
Trong hệ thống cơ sở dữ liệu phân tán gồm nhiều trạm, mỗi trạm có thểkhai thác các giao thức truy nhập dữ liệu trên nhiều trạm khác Sự khác nhauchính giữa hệ thống cơ sở dữ liệu phân tán và tập trung là: trong hệ thống tậptrung, dữ liệu lưu trữ tại chỗ, còn phân tán thì không
I.3 Thành phần của hệ phân tán:
Hệ tin học phân tán bao gồm bốn thực thể như sau:
Hình 5: Bốn thực thể của hệ tin học phân tán
I.4 Đặc điểm cơ bản của hệ phân tán.
2 Liên lạc Khi hệ thống đã được mắc nối với nhau, các thực thể
của hệ có thể trao đổi thông tin cho nhau
3 Tin cậy Một trạm của hệ bị sự cố không làm cho toàn hệ bị ảnh
Các
hệ thống phần mềm
Tập hợp phần cứng
Hệ thống truyền thông
Hệ thống
dữ liệu
Trang 7hưởng, mà ngược lại, công việc của trạm đó được phâncho các trạm khác đảm nhiệm Ngoài ra, trạm bị sự cố
có thể được tự động phục hồi lại các trạng thái trướckhi bị sự cố hay trạng thái ban đầu của nó
Đây là khái niệm mới về phân tán tải Một tính toán lớnnào đó, nếu chỉ sử dụng một trạm, thì thời gian trả kếtquả sẽ rất lớn Tính toán này được chia nhỏ và thựchiện song song trên các trạm Điều này cũng rất cầnthiết đối với những trạm bị quá tải
II KIẾN TRÚC HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN
Kiến trúc của một hệ CSDL phân tán có dạng
Hình 6: Kiến trúc hệ CSDL phân tán
Hệ thống cơ sở dữ liệu phân tán gồm các trạm, mỗi trạm bảo trì một hệ
thống cơ sở dữ liệu cục bộ Mỗi trạm có thể xử lý các giao tác cục bộ, truy nhập các dữ liệu trên trạm ấy Hơn nữa, trạm có thể khai thác các giao tác
tổng thể, truy nhập dữ liệu trên vài trạm Việc khai thác các giao tác tổng thể
đòi hỏi cơ chế truyền thông giữa các trạm
H th ng vi n thôngệ ố ễ
CSDL CSDL CSDL CSDL
CSDL CSDL
CSDL
A
B
Trang 8CHƯƠNG II:
SỰ GẮN BÓ THÔNG TIN TRONG
CƠ SỞ DỮ LIỆU PHÂN TÁN
I CÁC ĐIỀU KIỆN GIẢ ĐỊNH VÀ THỰC TẾ
Ta có một tập thông tin nào đó có thể được truy cập bởimột tập các tiến trình Số lượng các thông tin có thể truy cậpđược và các tiến trình có nhu cầu thông tin là con số cố định
Hệ này phát triển rời rạc theo thời gian giữa các điểm quansát, ta có thể nhận biết được trạng thái thực của chúng, cónghĩa là các đối tượng và ngữ cảnh thực hiện các tiến trình,
hệ kiểu như vậy hoạt động với độ ổn định tuyệt vời
Các điều kiện giả định này so với hệ thực tế có những điểm khác nhau cơbản sau đây:
3 Hệ thống viễn thông và các tiến trình là các đối tượng có thể xảy ra
sự cố kỹ thuật
II TÁC ĐỘNG VÀ GIAO DỊCH
Các đối tượng khác nhau của hệ không phải là các đối tượng độc lậpnhau, chúng quan hệ với nhau bởi tập hợp các quan hệ gọi là các ràng buộctoàn vẹn Các ràng buộc này thể hiện sâu sắc các đặc tính riêng biệt của hệ
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 9Các nhà thiết kế và vận hành hệ mong muốn rằng việc thực hiện các tiếntrình phải duy trì cho được hệ trong trạng thái gắn bó Để chính xác hoá đặctí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átcho trước.
Ta quan tâm đến hai mức quan sát:
Tiến trình là một dãy thực hiện các giao dịch Giaodịch đó là chương trình duy nhất được thực hiện từ mộttrạng thái gắn bó dẫn hệ đến một trạng thái gắn bókhác
Mỗi giao dịch được cấu tạo từ nột dãy các tác độngđược thể hiện như sau Nếu hai tác động A và B thuộchai giao dịch khác nhau được thực hiện bởi hai tiếntrình thì hiệu ứng tổng quát của chúng sẽ là hiệu ứngcủa dãy (A;B) hoặc là (B;A)
Ở mức hệ thống, ta có thể nói rằng các tác động là phần tử nhỏ nhấtkhông thể chia cắt được nữa
Cho một tập hợp giao dịch M={T1,T2…,Tn} lần lượt được thực hiện bởicác tiến trình độc lập p1,p2…,pn việc thực hiện tuần tự có nghĩa là thực hiệntấ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, theo định nghĩa, bằng việc thực hiệnriêng biệt từng giao dịch Do vậy nó cũng được bảo toàn trong chế độ thựchiện tuần tự của M
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;
Một yêu cầu khác nữa rất quan trọng là 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
III 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={T1,T2…,Tn} Một trật tự hóa của tập hợpcác tác động thành phần sẽ tương ứng với việc thực hiện hoàn toàn các giao
Trang 10dị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ụngcá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ệncủ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, cơ chế để đảm bảo khi giao dịch vẫn có sự gắn bóthông tin toàn vẹn dữ liệu trên cơ sở dữ liệu phân tán là:
- Cơ chế then cài:
o Then cài loại trừ tương hỗ
o Then cài lựa chọn các đối tượng
o Giao dịch hai pha
Bây giờ ta tưởng tượng rằng các đối tượng được phân tántrên nhiều trạm khác nhau và được nối với nhau thông qua hệthống viễn thông và rằng các tiến trình diễn ra trên các trạmkhác nhau Hệ thống viễn thông cho phép các tiến trình trêncác trạm khác nhau có thể trao đổi các thông điệp với nhau
Ta giả định rằng các tiến trình và các phương tiện truyềnthông là các đối tượng có thể rơi vào sự cố
Các đối tượng thay đổi hay tham chiếu trong quá trìnhthực hiện cùng một giao dịch có thể nằm trên các trạm khácnhau
Một hệ quản lý tập hợp thông tin phân tán bao gồm:
cục bộ vào các đối tượng đảm bảo tôn trọng
Trang 11tính toàn vẹn của các đối tượng truy cập cục
bộ này
3
Cơ chế có khả năng xử lý các bế tắc và thiếuthốn vô hạn, hậu quả của việc hủy bỏ cácgiao dịch
xử lý các sự cố
trong môi trường phân tán có sự cố là:
2
Nếu một tiến trình bị sự cố trước khi diễn racác thay đổi của T, trạng thái của hệ là gắnbó
của T, trạng thái của hệ là không gắn bó
Trang 12IV QUẢN LÝ GẮN BÓ CÁC GIAO DỊCH
Bây giờ ta hãy xem xét một hệ, trong đó các đối tượng được phân tántrên nhiều trạm, không có các bản sao, mỗi đối tượng chỉ tồn tại có một bảnduy nhất Một giao dịch Tj có thể tham chiếu đến các đối tượng nằm trên cáctrạm khác nhau và do vậy gồm nhiều tác động thực hiện trên nhiều trạm Nhưvậy ta phải xác định trên một trạm Si một tiến trình Pji với nhiệm vụ thực hiệncác tác động giao dịch Tj trên Si , các tác động được thực hiện trên các trạmkhác nhau có thể tiến hành theo kiểu song song
Các phương pháp để quản lý gắn bó các giao dịch như: Phương pháp dựphòng để chống bế tắc, phương pháp dựa vào việc hạn chế các khả năng diễn
ra bằng cách phát hiện bế tắc có tính chất động, điều đó dẫn đến hủy bỏ cácgiao dịch
V 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:
o Khái quát: Thuật toán này được mô tả trong các ấn phẩm củaRozenkrantz Các phép toán then cài và mở then không được chỉ ratrong các giao dịch Một bộ điều khiển cục bộ trong từng trạm phântích tất cả các truy cập vào đối tượng và thực hiện tự động các phéptoán này khi cần thiết theo nguyên lý hai pha Các đối tượng xử lý bởicác giao dịch không cần phải biết từ trước
o Duy trì sự gắn bó: Nội dung cơ bản của phương pháp này dựa trên cácNguyên lý sau đây:
1 Then cài ngầm định
2 Phát hiện các xung đột
3 Khẳng định
o Hủy bỏ bế tắc và thiếu thốn vô hạn:
Ngay khi chặn các giao dịch tác nghiệp trên các đối tượng chunghoặc bằng then cài hay ngầm định, ta có thể làm phát sinh các rủi
ro về bế tắc
Trang 13 Một bế tắc được loại bằng cách hủy bỏ hoàn toàn một trong cácgia dịch gây nên xung đột, nhưng nếu ta chọn theo kiểu ngẫunhiên để hủy bỏ thì ta lại gặp một rắc rối về kỹ thuật đó là mộthay một số giao dịch nào đó rơi vào trạng thái chờ vô hạn.
Nhằm trành hiện tượng thiếu thốn vô hạn đó Tập hợp các giaodịch được hoàn toàn sắp xếp theo một trong các phương phápnghiên cứu như là các dấu chẳng hạn
Khi có xung đột diễn ra, ta chọn lựa giao dịch thích hợp mộtcách có hệ thống theo thuật toán dựa trên trật tự đó
Trong thiết kế hệ thống phân tán, người ta sử dụng hai chiến lượcchọn lựa giao dịch đó là: Wait-die system và Wound-wait system
- Thuật toán quản lý nhiều bản sao:
o Khái quát: Thuật toán này nghiên cứu các thuật toán khác nhau chophép sao lại các thay đổi của một đối tượng trên các bản sao khác nhau.Nếu ta có n bản sao e1, e2, en của các đối tượng e, một trong các ràng buộc toàn vẹn là:
Để tham chiếu đến e, cần phải thực hiện giao dịch:
Để thực hiện việc cập nhật vào các bản sao, ta cần phải cài then chúng một cách hợp thức theo kiều loại trừ
Để tránh bế tắc diễn ra, việc cài then các bản sao luôn luôn phải đượcthực hiện trong cùng một trật tự
e1 = e2 = = en
v_doc(ei)doc(ei)giai_phóng(ei)
Để cho i:=1 đến n thực hiện v_viêt(ei)
<Thực hiện các cập nhật
và chép lại chúng vào tất cả các bản>
Để cho i:=1 đến n thực hiện giai_phong(ei)
Trang 14o Thuật toán đảm bảo sự gắn bó yếu nhờ dấu: Tập hợp các yêu cầu cậpnhật được sắp xếp theo cùng một kiểu trên tất cả các trạm nhờ cơ chếdấu Theo đó mỗi một yêu cầu được phát đi cho tập hợp các trạm Trênmỗi trạm, tồn tại một tiến trình server đảm nhận nhiệm vụ tiếp nhận cácyêu cầu theo trật tự của dấu Điều đó cho phép có được một sự gắn bóyếu giữa các bản sao khác nhau.
o Thuật toán đảm bảo sự gắn bó yếu nhờ bộ tuần tự tuần hoàn: Trước khiphát một yêu cầu, một trạm nào đó cần phải kết hợp với nó một số thứ
tự được cấp từ bộ tuần tự tuần hoàn Các yêu cầu được tiếp nhận tạimỗi trạm theo cùng một trật tự thống nhất, điều đó giúp ta có được một
sự gắn bó yếu
o Thuật toán đảm bảo sự gắn bó mạnh: Tập hợp bao gồm các trạm được
tổ chức theo kiểu vòng tròn ảo Các cập nhật được thực hiện theo haithì:
1 Thống nhất giữa các trạm
2 Thực hiện cập nhật
Do vậy, thuật toán này đảm bảo một sự gắn bó mạnh Nếu có nhiều yêucầu cập nhật diễn ra đồng thời thì ta phải có quy tắc để có thể quyếtđịnh yêu cầu nào được tiếp nhận và thỏa mãn