Thông tin tài liệu
SƠ LƯC VỀ CƠ SỞ DỮ LIỆU PHÂN BỐ Trong những năm gần đây, cơ sở dữ liệu phân bố đã trở thành một lãnh vực quan trọng của xử lý thông tin. Các công ty hoặc cơ quan có hoạt động qui mô lớn cần phải có các hệ thống xử lý thông tin trên một mạng diện rộng. Điều này đòi hỏi một hệ quản trò cơ sở dữ liệu phân bố hiệu quả và có độ tin cậy cao. Cơ sở dữ liệu phân bố tránh được một số nhược điểm của các cơ sở dữ liệu tập trung và thích hợp với cách tổ chức không tập trung của các công ty hoặc cơ quan lớn. I. CÁC ĐẶC ĐIỂM CỦA CƠ SỞ DỮ LIỆU PHÂN BỐ Cơ sở dữ liệu phân bố không đơn giản là sự phân bố của các cơ sở dữ liệu tập trung, bởi vì cơ sở dữ liệu phân bố có nhiều đặc điểm khác biệt so với cơ sở dữ liệu tập trung, truyền thống. Phần này so sánh cơ sở dữ liệu phân bố với cơ sở dữ liệu tập trung ở một số đặc điểm: điều khiển tập trung, sự độc lập dữ liệu, sự giảm dư thừa dữ liệu, các cấu trúc vật lý phức tạp để truy xuất hiệu quả. I.1. Điểu khiển tập trung : Điều khiển tập trung (centralized control) là một đặc điểm của cơ sở dữ liệu, toàn bộ dữ liệu được tập trung lại nhằm để tránh sự dư thừa dữ liệu, và được quản lý bởi người quản trò cơ sở dữ liệu. Chức năng cơ bản của người quản trò cơ sở dữ liệu (DBA - database administrator) là bảo đảm sự an toàn của dữ liệu. Trong các cơ sở dữ liệu phân bố, vấn đề điều khiển tập trung không được nhấn mạnh. Nói chung, trong các cơ sở dữ liệu phân bố, sự điều khiển được thực hiện theo một cấu trúc điều khiển phân cấp bao gồm hai loại người quản trò cơ sở dữ liệu: (1) Người quản trò cơ sở dữ liệu toàn cục (global database administrator) là người có trách nhiệm chính về toàn bộ cơ sở dữ liệu phân bố. (2) Người quản trò cơ sở dữ liệu cục bộ (local database administrator) là người có trách nhiệm về cơ sở dữ liệu cục bộ của họ. Tuy nhiên, những người quản trò cơ sở dữ liệu cục bộ cần phải có những quyền độc lập riêng về cơ sở dữ liệu dữ liệu cục bộ của mình mà người quản trò cơ sở dữ liệu toàn cục hoàn toàn không có những quyền này và sự phối hợp giữa các vò trí được thực hiện bởi chính những người quản trò cục bộ. Đặc điểm này được gọi là sự độc lập vò trí. Các cơ sở dữ liệu phân bố có thể khác nhau rất nhiều về mức độ độc lập vò trí: từ sự độc lập vò trí hoàn toàn (không có người quản trò cơ sở dữ liệu tập trung) đến sự điều khiển tập trung hầu như hoàn toàn. I.2. Sự độc lập dữ liệu : Sự độc lập dữ liệu (data independence) cũng là một đặc điểm của cơ sở dữ liệu. Sự độc lập dữ liệu có nghóa là tổ chức hiện tại của dữ liệu là trong suốt đối với người lập trình ứng dụng. Ưu điểm chính của sự độc lập dữ liệu là các chương trình không bò ảnh hưởng bởi những thay đổi về tổ chức vật lý của dữ liệu. Trong các cơ sở dữ liệu phân bố, sự độc lập dữ liệu cũng quan trọng như trong các cơ sở dữ liệu tập trung. Tuy nhiên, một đặc điểm mới được đưa vào trong khái niệm thông thường của sự độc lập dữ liệu là sự trong suốt phân bố (distribution transparency). Nhờ sự trong suốt phân bố này mà các chương trình ứng dụng có thể được viết giống như trong cơ sở dữ liệu không được phân bố. Cho nên, tính đúng đắn của các chương trình ứng dụng không bò ảnh hưởng bởi sự di chuyển dữ liệu từ một vò trí này đến một vò trí khác. Tuy nhiên, tốc độ thực hiện của các chương trình ứng dụng thì bò ảnh hưởng. Sự độc lập dữ liệu trong cơ sở dữ liệu tập trung được thể hiện thông qua một kiến trúc nhiều mức, các mức này có những mô tả khác nhau về dữ liệu, và có những ánh xạ biến đổi giữa các mức này. Sự trong suốt phân bố trong cơ sở dữ liệu phân bố được thê hiện bằng cách bổ sung thêm các mức trong suốt vào kiến trúc nhiều mức của cơ sở dữ liệu tập trung. Xem “Chương 3. Các mức trong suốt của dữ liệu phân bố”. I.3. Sự giảm dư thừa dữ liệu Trong các cơ sở dữ liệu tập trung, sự dư thừa dữ liệu cần được giảm bớt càng nhiều càng tốt vì hai lý do: tránh sự không nhất quán giữa nhiều bản sao của cùng dữ liệu bằng cách chỉ có một bản sao, và tiết kiệm vùng nhớ lưu trữ. Khi đó, các ứng dụng cùng chia xẻ dữ liệu, cùng truy xuất đến các tập tin dữ liệu. Tuy nhiên, trong các cơ sở dữ liệu phân bố, sự dư thừa dữ liệu như là một đặc điểm cần thiết, vì các lý do sau: (1) Làm tăng tính cục bộ của các ứng dụng nếu dữ liệu được nhân bản tại tất cả các vò trí mà ứng dụng cần dữ liệu này. Khi đó, các ứng dụng cục bộ được thực hiện nhanh hơn vì không cần phải truy xuất dữ liệu từ xa. (2) Làm tăng tính sẵn sàng của hệ thống ứng dụng, bởi vì một vò trí bò hỏng sẽ không làm ngưng sự thực hiện của các ứng dụng ở những vò trí khác nếu dữ liệu tại vò trí bò hỏng được nhân bản tại các vò trí khác. Tuy nhiên, sự nhân bản dữ liệu cần phải xem xét kỹ lưỡng dựa vào hai loại ứng dụng cơ bản, đó là ứng dụng chỉ đọc và ứng dụng cập nhật. Sự nhân bản dữ liệu giúp cho các ứng dụng chỉ đọc được thực hiện nhanh hơn, nhưng nó làm cho các ứng dụng cập bò thực hiện lâu hơn vì phải cập nhật dữ liệu tại các vò trí được nhân bản. Như vậy, sự nhân bản dữ liệu sẽ là một ưu điểm nếu hệ thống có rất nhiều ứng dụng chỉ đọc và có rất ít ứng dụng cập nhật; trong trường hợp ngược lại thì sự nhân bản dữ liệu lại là một nhược điểm. II. KIẾN TRÚC THAM KHẢO DÙNG CHO CÁC CƠ SỞ DỮ LIỆU PHÂN BỐ Hình ở trang kế tiếp trình bày một kiến trúc tham khảo dùng cho một cơ sở dữ liệu phân bố. Kiến trúc tham khảo này không được thực hiện một cách tường minh trong tất cả cơ sở dữ liệu phân bố; tuy nhiên, các mức của nó thích hợp ở mức ý niệm để hiểu về tổ chức của một cơ sở dữ liệu phân bố bất kỳ. II.1. Lược đồ toàn cục Ở mức cao nhất của kiến trúc này là lược đồ toàn cục (global schema). Lược đồ toàn cục dùng để đònh nghóa tất cả các dữ liệu được chứa trong cơ sở dữ liệu phân bố và cũng giống như toàn bộ cơ sở dữ liệu không được phân bố. Do đó, lược đồ toàn cục có thể được đònh nghóa theo cách hoàn toàn giống với cách đònh nghóa trong một cơ sở dữ liệu không phân bố. Chúng ta dùng mô hình dữ liệu quan hệ để minh họa cho một lược đồ toàn cục và các ánh xạ giữa các mức khác nhau của cơ sở dữ liệu phân bố. Trong mô hình dữ liệu quan hệ này, lược đồ toàn cục bao gồm đònh nghóa một tập hợp các quan hệ toàn cục (global relation). Ví dụ: Một lược đồ toàn cục như sau sinhvien (masv, hoten, tuoi, malop) lop (malop, tenlop, malt, tenkhoa) hoc (masv, mamh, diem) monhoc (mamh, tenmh) trong đó: Sinhvien chứa thông tin về sinh viên gồm: mã sinh viên (masv), họ tên (hoten), tuổi (tuoi), thuộc lớp (malop). Khóa là masv. Lop chứa thông tin về lớp học gồm: mã lớp (malop), tên lớp (tenlop), mã lớp trưởng (malt), thuộc khoa (tenkhoa). Khóa là malop. Monhoc chứa thông tin về môn học gồm: mã môn học (mamh), tên môn học (tenmh) hoc chứa thông tin về sinh viên (masv) học môn học (mamh) có điểm thi cuối kỳ (diem). Khóa là masv và mamh. Lược đồ đònh vò (Allocation schema) Lược đồ toàn cục (Global Schema) Lược đồ phân mảnh (Fragmentation Schema) Hệ quản trò CSDL (DBMS) tại vò trí n Lược đồ ánh xạ cục bộ n (Local Mapping Schema) CSDL cục bộ n (Local Database) Hệ quản trò CSDL (DBMS) tại vò trí 1 Lược đồ ánh xạ cục bộ 1 (Local Mapping Schema) 1 CSDL cục bộ 1 (Local Database) Các lược đồ độc lập vò trí II.2. Lược đồ phân mảnh Mỗi quan hệ toàn cục có thể được phân chia thành nhiều phần không giao nhau và các phần này được gọi là các mảnh (fragment). Có nhiều cách khác nhau để thực hiện phép phân chia này. nh xạ giữa các quan hệ toàn cục và các mảnh được đònh nghóa trong lược đồ phân mảnh (fragmentation schema). nh xạ này là một - nhiều, nghóa là một quan hệ toàn cục có thể được phân chia thành nhiều mảnh, nhưng một mảnh chỉ tương ứng với một quan hệ toàn cục. Các mảnh được chỉ ra bởi một tên quan hệ toàn cục và một chỉ số mảnh; ví dụ R i chỉ ra mảnh thứ i của quan hệ toàn cục R. Ví dụ: Một lược đồ phân mảnh tương ứng với lược đồ toàn cục ở trên như sau, giả sử chỉ có hai khoa tên là ‘CNTT’ và ‘DIEN’. lop1 (malop, tenlop, malt, tenkhoa) lop2 (malop, tenlop, malt, tenkhoa) sinhvien1 (masv, hoten, tuoi, malop) sinhvien2 (masv, hoten, tuoi, malop) trong đó: lop1 mảnh chứa dữ liệu của các lớp thuộc khoa ‘CNTT’. lop2 mảnh chứa dữ liệu của các lớp thuộc khoa ‘DIEN’. sinhvien1 mảnh chứa dữ liệu của các sinh viên thuộc khoa ‘CNTT’. sinhvien2 mảnh chứa dữ liệu của các sinh viên thuộc khoa ‘DIEN’. và các ánh xạ phân mảnh là: lop1 = σ tenkhoa = ‘CNTT’ (lop) lop2 = σ tenkhoa = ‘DIEN’ (lop) sinhvien1 = sinhvien < malop = malop (lop1) sinhvien2 = sinhvien < malop = malop (lop2) II.3. Lược đồ đònh vò Các mảnh là những phần luận lý của các quan hệ toàn cục mà chúng được lưu trữ vật lý ở một hoặc nhiều vò trí khác nhau của mạng. Lược đồ đònh vò (allocation schema) xác đònh một mảnh được lưu ở những vò trí nào. Loại của ánh xạ được xác đònh trong lược đồ đònh vò sẽ xác đònh cơ sở dữ liệu phân bố là dư thừa hoặc không dư thừa. Nếu một mảnh chỉ được lưu trữ tại một vò trí thì ánh xạ là một – một (không dư thừa dữ liệu), nếu một mảnh được lưu trữ tại nhiều vò trí khác nhau thì ánh xạ là một – nhiều (có dư thừa dữ liệu). Tất cả các mảnh tương ứng với cùng một quan hệ toàn cục R và được lưu trữ ở cùng một vò trí j sẽ tạo thành một hình ảnh vật lý (physical image) của quan hệ toàn cục R tại vò trí j – quan hệ cục bộ (local relation) của R tại vò trí j. Vì thế có một ánh xạ một - một giữa một hình ảnh vật lý với một cặp (quan hệ toàn cục, vò trí); các hình ảnh vật lý có thể được chỉ ra bởi một tên quan hệ toàn cục và một chỉ số vò trí. Để phân biệt quan hệ cục bộ với các mảnh, chúng ta sẽ dùng chỉ số trên, ví dụ R j chỉ ra hình ảnh vật lý của quan hệ toàn cục R tại vò trí j. Một ví dụ về mối liên kết giữa các loại đối tượng được đònh nghóa ở trên sẽ được chỉ ra trong hình dưới đây. Một quan hệ toàn cục R được phân chia thành bốn mảnh R 1 , R 2 , R 3 và R 4 . Bốn mảnh này được lưu trữ một cách dư thừa ở ba vò trí của một mạng máy tính, tạo thành ba hình ảnh vật lý R 1 , R 2 và R 3 . R R 1 R 2 R 3 R 4 R 1 1 R 2 1 R 1 2 R 2 2 R 2 3 R 3 3 R 4 3 R 1 (vò trí1) R 2 (vò trí 2) R3 (vò trí 3) Quan hệ toàn cục Các mảnh Hình ảnh vật lý Chúng ta sẽ tham khảo đến một nhân bản (replica) của một mảnh ở một vò trí cho trước, và ký hiệu nó bằng cách dùng tên quan hệ toàn cục và hai chỉ số (một chỉ số mảnh và một chỉ số vò trí). Ví dụ: Ký hiệu R 2 3 chỉ ra nhân bản của mảnh R 2 được lưu trữ ở vò trí 3. Hai hình ảnh vật lý có thể giống nhau. Trong trường hợp này, chúng ta sẽ nói rằng một hình ảnh vật lý là một nhân bản của một hình ảnh vật lý khác. Ví dụ: R 1 là một nhân bản của R 2 . Trong kiến trúc tham khảo ở trên, chúng ta đã mô tả các mối liên kết giữa các đối tượng ở ba mức trên cùng của kiến trúc này. Ba mức này là độc lập vò trí (site independent) bởi vì chúng không phụ thuộc vào mô hình dữ liệu của các DBMS cục bộ. II.4. Lược đồ ánh xạ cục bộ Mức thấp hơn ba mức trên sẽ phụ thuộc vào mô hình dữ liệu của DBMS cục bộ nhằm để ánh xạ các hình ảnh vật lý vào các đối tượng mà chúng được thao tác bởi các DBMS cục bộ. nh xạ này được gọi là một lược đồ ánh xạ cục bộ (local mapping schema) và phụ thuộc vào loại DBMS cục bộ. Vì thế, trong một hệ thống không đồng nhất (heterogenous system), chúng ta có nhiều loại ánh xạ cục bộ khác nhau ở các vò trí khác nhau. III. CÁC MỨC TRONG SUỐT : • Mức 1 : Tính “trong suốt” phân mảnh : Ở mức này, các trình ứng dụng truy xuất và cập nhật dữ liệu theo phương thức như là CSDL không được phân bố, và hệ thống có nhiệm vụ thực thi tất cả các thao tác được yêu cầu rõ ràng trong các sơ đồ phân mảnh và đònh vò. Như vậy, các ứng dụng hoàn toàn không bò ảnh hưởng khi có bất kỳ sự thay đổi nào trong các sơ đồ nằm dưới sơ đồ toàn cục (global schema) trong kiến trúc tham khảo ở trên. • Mức 2 : Trính “trong suốt” vò trí : Ở mức này, người lập trình ứng dụng phải giao dòch rõ ràng với các fragment. Và các ứng dụng độc lập với các thay đổi ở sơ đồ đònh vò (allocation schema) nhưng lại phải thay đổi khi có sự thay đổi ở sơ đồ phân mảnh (fragmentation schema) vì các cấu trúc của sự phân mảnh được đưa vào ứng dụng. Tuy nhiên, chính bản thân của tính “trong suốt” vò trí cũng rất có ích vì nó cho phép các ứng dụng bỏ qua sự tồn tại nhiều bản sao của mỗi fragment, qua đó cho phép các bản sao được di chuyển từ site này đến site khác và cho phép tạo ra các bản sao mới mà không ảnh hưởng đến các ứng dụng. Ngoài ra, lợi dụng sự hiểu biết cấu trúc của sự phân mảnh, người lập trình có thể chọn ra được chiến lược tốt nhất để thực thi các thao tác trong các ứng dụng, công việc mà ở mức 1 hệ quản lý CSDL phải thực hiện tự động và nhiều khi chiến lược được chọn không phải là tốt nhất. • Mức 3 : Tính “trong suốt” ánh xạ cục bộ. Các ứng dụng buộc phải liên quan đến vò trí của các fragment và nếu có sự cập nhật dữ liệu thì phải lưu ý đến sự sao chép dữ liệu (replication). Các ứng dụng tuy v† n tham khảo đến các đối tượng thông qua các tên độc lập với các hệ cục bộ riêng lẻ nhưng phải chỉ đònh rõ site lưu giữ các đối tượng đó. Trong các ứng dụng, mỗi primitive truy xuất CSDL được hệ quản lý CSDL phân bố gửi đến các site riêng biệt và các primitive này sử dụng tên fragment không phụ thuộc site (site- independent fragment names). Nếu sự ánh xạ này không được hệ quản lý CSDL cung cấp thì ứng dụng sẽ phải đưa vào trực tiếp tên tập tin được các hệ cục bộ sử dụng. Tuy nhiên, khía cạnh quan trọng nhất của tính “trong suốt” ánh xạ cục bộ không phải là sự ánh xạ giữa tên fragment và tên cục bộ mà là sự ánh xạ giữa các primitive dùng trong trình ứng dụng và các primitive được các hệ CSDL cục bộ sử dụng. Vì vậy, tính “trong suốt” ánh xạ cục bộ là một đặc tính quan trọng trong một hệ CSDL phân bố không đồng nhất. • Mức 4 : Không có tính “trong suốt” : Người lập trình ứng dụng phải biết tất cả các thông tin về sự phân mảnh, sự đònh vò, sự sao chép cũng như tên của các bản sao của các fragment tại các site khác nhau để có thể tạo ra một ứng dụng thao tác trên các fragment đó. Ngoài ra, họ còn phải tạo các chương trình hỗ trợ để thực thi các chức năng cần thiết bằng ngôn ngữ thích hợp với hệ quản lý CSDL cục bộ và cài đặt các chương trình này tại các site tương ứng, đồng thời trong các ứng dụng phải có yêu cầu kích hoạt các chương trình hỗ trợ từ xa này để thực hiện các thao tác cần thiết. IV. CÁC LOẠI PHÂN MẢNH : IV.1. Quy luật phân mảnh : • Điều kiện hoàn toàn : Tất cả dữ liệu trong quan hệ toàn cục phải được ánh xạ vào phân mảnh. • Điều kiện có thể tạo lại được : phải luôn luôn có khả năng tạo lại quan hệ toàn cục. • Điều kiện không giao nhau : các phân mảnh phải không giao nhau. Điều kiện này chỉ áp dụng đối với phân mảnh ngang. IV.2. Các loại phân mảnh : • Phân mảnh ngang : Bao gồm các phân mảnh trong quan hệ toàn cục được phân thành những tập con dựa trên thuộc tính của quan hệ và toán hạng lựa chọn (selection) • Phân mảnh suy diễn ngang : Các phân mảnh không chia theo thuộc tính của chính quan hệ mà dựa trên sự phân mảnh của quan hệ khác. • Phân mảnh dọc : Các phân mảnh được chia theo những thuộc tính tạo thành nhóm. . ĐIỂM CỦA CƠ SỞ DỮ LIỆU PHÂN BỐ Cơ sở dữ liệu phân bố không đơn giản là sự phân bố của các cơ sở dữ liệu tập trung, bởi vì cơ sở dữ liệu phân bố có nhiều. nhiệm về cơ sở dữ liệu cục bộ của họ. Tuy nhiên, những người quản trò cơ sở dữ liệu cục bộ cần phải có những quyền độc lập riêng về cơ sở dữ liệu dữ liệu
Ngày đăng: 28/09/2013, 10:20
Xem thêm: Sơ lược về cơ sở dữ liệu phận bố, Sơ lược về cơ sở dữ liệu phận bố