Sơ lược về cơ sở dữ liệu phận bố

9 615 2
Sơ lược về cơ sở dữ liệu phận bố

Đang tải... (xem toàn văn)

Thông tin tài liệu

LƯC VỀSỞ DỮ LIỆU PHÂN BỐ Trong những năm gần đây, 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 quan hoạt động qui mô lớn cần phải 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ò sở dữ liệu phân bố hiệu quả và độ tin cậy cao. sở dữ liệu phân bố tránh được một số nhược điểm của 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 quan lớn. I. CÁC ĐẶC ĐIỂM CỦA SỞ DỮ LIỆU PHÂN BỐ sở dữ liệu phân bố không đơn giản là sự phân bố của các sở dữ liệu tập trung, bởi vì sở dữ liệu phân bố nhiều đặc điểm khác biệt so với sở dữ liệu tập trung, truyền thống. Phần này so sánh sở dữ liệu phân bố với 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 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 sở dữ liệu, toàn bộ dữ liệu được tập trung lại nhằm để tránh sự thừa dữ liệu, và được quản lý bởi người quản trò sở dữ liệu. Chức năng bản của người quản trò sở dữ liệu (DBA - database administrator) là bảo đảm sự an toàn của dữ liệu. Trong 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 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ò sở dữ liệu: (1) Người quản trò sở dữ liệu toàn cục (global database administrator) là người trách nhiệm chính về toàn bộ sở dữ liệu phân bố. (2) Người quản trò sở dữ liệu cục bộ (local database administrator) là người trách nhiệm về sở dữ liệu cục bộ của họ. Tuy nhiên, những người quản trò sở dữ liệu cục bộ cần phải những quyền độc lập riêng vềsở dữ liệu dữ liệu cục bộ của mình mà người quản trò sở dữ liệu toàn cục hoàn toàn không 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ố 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 người quản trò 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 sở dữ liệu. Sự độc lập dữ liệu 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 ả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 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 thể được viết giống như trong 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 ả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ì ảnh hưởng. Sự độc lập dữ liệu trong 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 những mô tả khác nhau về dữ liệu, và những ánh xạ biến đổi giữa các mức này. Sự trong suốt phân bố trong 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 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 thừa dữ liệu Trong các sở dữ liệu tập trung, sự 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ỉ 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 sở dữ liệu phân bố, sự 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í 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í 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 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 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 rất nhiều ứng dụng chỉ đọc và 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 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 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 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 sở dữ liệu phân bố và cũng giống như toàn bộ sở dữ liệu không được phân bố. Do đó, lược đồ toàn 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 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 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) đ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 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). 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 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ỉ 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 sở dữ liệu phân bố thừa hoặc không 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 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ó 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ế 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ý 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 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ý 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 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 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 đồ phân mảnh và đònh vò. Như vậy, các ứng dụng hoàn toàn không ảnh hưởng khi bất kỳ sự thay đổi nào trong các đồ nằm dưới đồ 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 ở đồ đònh vò (allocation schema) nhưng lại phải thay đổi khi sự thay đổi ở đồ 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 í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 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 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 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 để 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 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 thể tạo lại được : phải luôn luôn 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

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan