Các Thành Phần Của Một Hệ Quản Trị Csdl Phân Tán.


phân tán là CSDL được phân tán một cách vật lý nhưng được thống nhất tổ chức như một CSDL duy nhất.

Một hệ quản trị CSDL phân tán (DDBMS - Distributed DataBase Management System) hỗ trợ tạo lập và bảo trì các CSDL phân tán. Để phân tích các đặc điểm của các DDBMS, cần phải phân biệt các hệ thống có sẵn được thương mại hoá và các mẫu (prototype) nghiên cứu phát triển. Rò ràng, một số đặc trưng có được từ thực nghiệm hiện tại sẽ được kết hợp vào trong các hệ thống thương mại hoá trong tương lai.

Hình 1 23 Hệ quản trị CSDL phân tán Một hệ DBMS phân tán gồm 2 phần như trong 1

Hình 1.23. Hệ quản trị CSDL phân tán

Một hệ DBMS phân tán gồm 2 phần như trong hình 1.24.

Bộ xử lý phía người sử dụng (User Procesor), xử lý tất cả tương tác với người sử dụng và bộ phận thứ 2 của DBMS phân tán là bộ phận xử lý dữ liệu (Data Processor)

Bộ xử lý phía người sử dụng bao gồm:

- Bộ xử lý giao diện người sử dụng: Có trách nhiệm dịch các lệnh của người sử dụng khi họ gửi đến và định dạng dữ liệu kết quả để gửi nó lại cho người sử dụng.

- Bộ kiểm soát dữ liệu ngữ nghĩa: Sử dụng ràng buộc toàn vẹn và xác thực, được định nghĩa như là một phần của lược đồ khái niệm cục bộ, để kiểm tra xem truy vấn của người sử dụng có được xử lý hay không. Thành phần này cũng có trách nhiệm xác thực và một số chức năng khác.

Có thể bạn quan tâm!

Xem toàn bộ 312 trang tài liệu này.

- Bộ phân rã và bộ tối ưu hoá truy vấn toàn cục xác định chiến lược thực thi để giảm thiểu chức năng chi phí, và dịch các truy vấn toàn cục ra thành các truy vấn cục bộ bằng cách sử dụng các lược đồ khái niệm cục bộ, toàn cục và thư mục toàn cục. Bộ tối ưu hoá truy vấn có trách nhiệm tạo ra chiến lược thực thi các hoạt động kết nối phân tán.

- Bộ giám sát thực thi phân tán phối hợp thực thi phân tán yêu cầu của người sử dụng.


- Bộ giám sát thực thi cũng được gọi là bộ quản lý giao dịch phân tán. Việc thực thi truy vấn trong hệ phân tán, bộ giám sát thực thi tại một số trạm có thể, và thường, liên lạc với một bộ giám sát thực thi khác.

Hình 1 24 Các thành phần của một hệ quản trị CSDL phân tán Phần thứ hai 2

Hình 1.24. Các thành phần của một hệ quản trị CSDL phân tán.

Phần thứ hai của hệ quản trị CSDL phân tán là bộ xử lý dữ liệu gồm ba thành phần:

- Bộ tối ưu hoá truy vấn cục bộ hoạt động như là bộ chọn đường dẫn truy nhập. Chọn đường truy nhập tốt nhất vào bất kỳ mục dữ liệu nào.

- Bộ quản lý khôi phục cục bộ có trách nhiệm đảm bảo duy trì tính nhất quán trong CSDL cục bộ ngay cả khi có lỗi xảy ra.

- Bộ hỗ trợ thời gian thực thi truy nhập vào CSDL tùy vào các lệnh trong lịch biểu được tạo ra bởi bộ tối ưu hóa truy vấn. Bộ xử lý hỗ trợ thời gian thực thi là giao diện


với hệ điều hành và chứa bộ quản lý vùng đệm CSDL (buffer hoặc cache), có trách nhiệm quản lý vùng đệm của bộ nhớ chính và quản lý việc truy nhập dữ liệu.

Nhiều hệ thống CSDL phân tán trong thương mại hoá đã được phát triển bởi các nhà cung cấp các hệ quản trị CSDL tập trung. Các hệ thống này bao gồm các thành phần mới để mở rộng các khả năng của các hệ quản trị CSDL tập trung bằng cách hỗ trợ sự truyền thông và sự hợp tác giữa các hệ quản trị CSDL được cài đặt tại các nơi khác nhau của một mạng máy tính. Trong trường hợp này, các thành phần và phần mềm tiêu biểu cần thiết để xây dựng một CSDL phân tán là:

- Thành phần quản trị CSDL (DB - DataBase management component)

- Thành phần truyền thông dữ liệu (DC - Data communication component)

- Từ điển dữ liệu (DD - Data Dictionary) được mở rộng để biểu diễn thông tin về sự phân tán dữ liệu trong mạng.

- Thành phần CSDL phân tán (DDB - Distributed DataBase)

Các thành phần này được kết nối như trong hình 1.25 cho một mạng gồm hai nơi.

Hình 1 25 Các thành phần của DDBMS thương mại hóa Sử dụng thuật ngữ hệ 3

Hình 1.25. Các thành phần của DDBMS thương mại hóa

Sử dụng thuật ngữ “hệ quản trị CSDL phân tán” để nói đến một tập hợp bốn thành phần nói trên, trong khi đó DDB chỉ là một thành phần CSDL phân tán đặc biệt.

1.8.2. Các dịch vụ của hệ quản trị CSDL phân tán

Sử dụng thuật ngữ “hệ quản trị CSDL”để nói đến một tập hợp các thành phần phục vụ cho việc quản lý một CSDL không phân tán, tức là thành phần DB, DC và DD.

Các dịch vụ tiêu biểu được hỗ trợ bởi hệ thống nói trên là:

- Truy xuất CSDL từ xa bởi một chương trình ứng dụng: Đây là đặc điểm quan trọng nhất, và được cung cấp bởi cả các hệ thống có thành phần CSDL phân tán.


- Một số mục trong suốt phân tán: Đặc điểm này được hỗ trợ cho phần mở rộng khác nhau ở các hệ thống khác nhau, bởi vì cần phải có sự thoả thuận chặt chẽ giữa trong suốt phân tán và hiệu xuất.

- Hỗ trợ cho việc quản trị CSDL và điều khiển: Đặc điểm này bao gồm các công cụ để giám sát CSDL, thu thập thông tin về việc sử dụng CSDL và cung cấp cái nhìn toàn cục về các tập tin dữ liệu đang có tại các nơi khác nhau.

- Một số hỗ trợ cho việc điều khiển đồng thời và phục hồi các giao dịch phân tán.

1.8.3. Phương pháp truy xuất CSDL phân tán

Truy xuất CSDL từ xa bởi một ứng dụng có thể được thực hiện bằng cách thông qua các thao tác cơ bản DBMS hoặc một chương trình phụ trợ.

Truy xuất từ xa thông qua các thao tác cơ bản DBMS:

Hình 1 26 Truy xuất từ xa thông qua các thao tác cơ bản DBMS Hình 1 26 cho ta thấy 4

Hình 1.26. Truy xuất từ xa thông qua các thao tác cơ bản DBMS

Hình 1.26 cho ta thấy ứng dụng phát ra một truy xuất CSDL cần phải tham chiếu dữ liệu từ xa. Yêu cầu này được được gửi theo tuyến (routed) một cách tự động bởi DDBMS đến nơi đặt dữ liệu; sau đó được thực hiện bởi nơi đó và kết quả được trả về. Bằng cách này, các đơn vị cơ bản được gửi giữa các hệ thống thao tác cơ bản truy xuất CSDL (database access primitive) và kết quả có được bằng cách thực hiện thao tác cơ bản này. Nếu cách tiếp cận này được sử dụng để truy xuất từ xa, trong đó phân tán có thể được thực hiện bằng cách cung cấp các tệp tin toàn cục; sau đó các thao tác cơ bản có thể được gửi một cách tự động đến các nơi xa tương ứng.

Truy xuất từ xa thông qua một chương trình phụ trợ.


Hình 1 27 Truy xuất từ xa thông qua các thao tác cơ bản DBMS Hình 1 27 cho thấy 5

Hình 1.27. Truy xuất từ xa thông qua các thao tác cơ bản DBMS

Hình 1.27 cho thấy một cách tiếp cận khác mà trong đó ứng dụng yêu cầu thực hiện một chương trình phụ trợ (auxiliary program) tại nơi xa. Chương trình phụ trợ này, được viết bởi người lập trình ứng dụng, truy xuất CSDL từ xa và trả về kết quả cho chương trình yêu cầu (requesting program).

Các DDBMS đều cung cấp cả hai loại truy xuất từ xa, bởi vì mỗi loại truy xuất có các ưu điểm và nhược điểm riêng. Giải pháp của hình 1.26 cung cấp trong suốt chương trình phân tán, trong khi đó giải pháp của hình 1.27 có hiệu quả hơn nếu truy cập nhiều CSDL được yêu cầu, bởi vì chương trình phụ trợ có thể thực hiện tất cả các truy xuất được yêu cầu và chỉ gửi kết quả trả về.

Nếu khả năng của chương trình phụ trợ trong hình 1.26 nhiều hơn khả năng của các thao tác cơ bản truy xuất CSDL của hình 1.27 thì giải pháp thứ hai có thể hiệu quả hơn. Do đó, các thao tác cơ bản mạnh có khả năng một lần thao tác các tập mẩu tin là một đặc điểm rất có ích của DBMS cục bộ trong việc xây dụng một hệ thống CSDL. Tuy nhiên, hầu hết các DBMS có sẵn được thương mại hoá là các hệ thống một-lần- một-mẩu-tin (one-record-at-a-time-system) và do đó các chương trình phụ trợ là cần thiết.

1.8.4. Phân loại các hệ quản trị CSDL phân tán

Một đặc tính quan trọng của các DDBMS là đồng nhất (homogeneous) hoặc không đồng nhất (heterogeneous). Tính đồng nhất (homogeneity) và tính không đồng nhất (heterogeneity) có thể được xem xét ở các mức khác nhau trong CSDL phân tán: phần cứng, hệ điều hành và các DBMS cục bộ. Tuy nhiên, sự khác biệt quan trọng đối với chúng ta là ở mức của các DBMS cục bộ, bởi vì ở các mức thấp hơn được quản lý bởi phần mềm truyền thông.

1) Hệ quản trị CSDL phân tán đồng nhất

Hệ quản trị CSDL phân tán đồng nhất là một DDBMS có các DBMS tại mỗi nơi giống nhau.


Hình 1 28 Kiến trúc mô hình hệ quản trị CSDL đồng nhất CSDL phân tán có 6

Hình 1.28. Kiến trúc mô hình hệ quản trị CSDL đồng nhất

CSDL phân tán có đồng nhất hay không được phụ thuộc bởi các yếu tố phần cứng, hệ điều hành và các hệ quản trị CSDL cục bộ. Bởi vì cùng một nhà cung cấp thông thường cung cấp cùng DBMS trên nhiều máy tính khác nhau và các hãng phần mềm cung cấp các DBMS chạy trên các máy tính khác nhau của các nhà cung cấp máy tính khác nhau.

Tuy nhiên, hạn chế quan trọng tại hệ quản trị CSDL cục bộ, bởi vì nó phụ thuộc vào sự quản lý hệ điều hành mạng truyền thông.

2) Hệ quản trị CSDL phân tán không đồng nhất

Một DDBMS không đồng nhất phải sử dụng ít nhất hai DBMS khác nhau. Các DDBMS không đồng nhất có thêm vấn đề chuyển đổi giữa các mô hình dữ liệu khác nhau của các DBMS cục bộ khác nhau; nó phức tạp hơn so với các DDBMS đồng nhất. Với lý do này, nếu việc phát triển một CSDL phân tán được thực hiện từ trên xuống dưới (top-down) mà không có một hệ thống đã tồn tại trước đó thì sẽ thuận lợi cho việc phát triển một hệ thống đồng nhất. Tuy nhiên, như đã nói trong phần trước, trong một số trường hợp, động cơ thúc đẩy cho việc tạo lập một CSDL phân tán là sự tích hợp các CSDL đã có trước; trong trường hợp này, cần phải phát triển một DDBMS không đồng nhất và có khả năng xây dựng cái nhìn toàn cục về CSDL.

Hình 1 29 Kiến trúc mô hình hệ quản trị CSDL không đồng nhất Mặc dù các 7

Hình 1.29. Kiến trúc mô hình hệ quản trị CSDL không đồng nhất


Mặc dù các vấn đề của DDBMS không đồng nhất là rất khó, do đó các DDBMS thực sự chỉ tồn tại trong các mẫu nghiên cứu, các DDBMS thương mại hoá chỉ cung cấp một số mức độ hỗ trợ cho tính không đồng nhất. Trong khi đó không có một hệ thống nào trong các hệ thống này thực hiện sự chuyển đổi giữa các mô hình dữ liệu khác nhau, mà đó là một vấn đề thật sự khó, một số hệ thống có hỗ trợ truyền thông giữa các thành phần truyền thông dữ liệu (DC) khác nhau. Loại truyền thông này đã không được phát triển đặc biệt cho việc xây dựng CSDL phân tán, nhưng đã được phát triển vì các lý do tương thích bên trong một hệ thống tập trung. Các ví dụ tiêu biểu của trường hợp này là nhiều DBMS đã được các hãng phần mềm sản xuất để chạy trên các máy tính IBM. Các DBMS này có một cặp thành phần tích hợp DB/DC, thành phần DC này có thể được thay thế bởi bộ kiểm tra xử lý từ xa chuẩn (standard teleprocessing monitor) CICS của IBM . CICS có một phương tiện truyền thông giữa các hệ thống (ISC –InterSystem Communication) cho phép truyền thông giữa các chương trình chạy trên các máy tính khác nhau. Vì các chương trình này có thể truy xuất CSDL cục bộ bằng cách sử dụng các thành phần DB cục bộ, điều này cho phép thực hiện các ứng dụng truy xuất dữ liệu từ một CSDL không đồng nhất, phân tán. Tuy nhiên, nhiệm vụ của những người lập trình là giải quyết các mô hình khác nhau.


Chương 2

CÁC MỨC TRONG SUỐT PHÂN TÁN


Tính trong suốt phân tán (distibution transparency) đã được định nghĩa một cách không chính quy ở trong chương 1 là tính độc lập của chương trình ứng dụng đối với việc phân tán dữ liệu và đã được xem tương đương về mặt logic với tính độc lập dữ liệu trong các CSDL tập trung.

Chương này giải quyết các mức khác nhau mà người lập trình ứng dụng có thể nhìn thấy CSDL phân tán, điều này phụ thuộc vào DDBMS cung cấp bao nhiêu mức trong suốt phân tán. Sử dụng mô hình quan hệ và đại số quan hệ để định nghĩa ánh xạ giữa các mức trong suốt phân tán khác nhau. Dùng ngôn ngữ tựa PASCAL (Pascal-like language) với các lệnh SQL nhúng (embedde SQL statement) để viết các chương trình ứng dụng ở các mức khác nhau được định nghĩa trong kiến trúc tham chiếu và giải quyết các ứng dụng chỉ đọc (read-only application) và các ứng dụng cập nhật (update application). Các câu lệnh SQL biểu diễn các thao tác truy xuất CSDL phân tán; SQL đã được lựa chọn là một ngôn ngữ thao tác dữ liệu (data manipuplation language) bởi vì nó diễn giải các truy xuất đến một CSDL theo một cách thức thuận tiện cho người sử dụng, phi thủ tục (nonprocedural), hướng tập hợp (set-oriented). Cả ứng dụng chỉ đọc và ứng dụng cập nhật đều dựa trên các ứng dụng truy xuất CSDL để lấy ra hoặc cập nhật chỉ một bộ; theo cách này, chúng ta có thể xem xét về tính trong suốt phân tán mà không liên quan đến các vấn đề truy xuất tập các bộ.

Điều nhấn mạnh trong chương trình này là các ứng dụng nhìn CSDL như thế nào, nghĩa là các thao tác cơ bản SQL tham chiếu đến các đối tượng tạo nên CSDL, và việc phân tán dữ liệu sẽ ảnh hưởng như thế nào đến chương trình ứng dụng. Ở đây, chúng ta không quan tâm đến tính hiệu quả của chiến lược truy xuất CSDL của các ứng dụng. Vấn đề xác định, đánh giá chọn lựa giữa các chiến lược truy xuất khác nhau sẽ được giải quyết trong các chương tiếp theo. Tuy nhiên, chúng ta sẽ cho thấy rằng cùng một ứng dụng có thể viết theo nhiều cách khác nhau, và cách mà theo đó một ứng dụng được viết ra có thể ảnh hưởng đến các chiến lược truy xuất có thể có.

Ngoài ra, chương này tìm hiểu các thao tác cơ bản truy xuất CSDL phân tán và giải quyết các ràng buộc toàn vẹn (integrity constraint) và việc thực hiện chúng trong các CSDL phân tán.

2.1. Các loại phân mảnh dữ liệu

Phân rã các quan hệ toàn cục thành các mảnh có thể được thực hiện bằng cách áp dụng hai loại phân mảnh khác nhau:

- Phân mảnh ngang (horyzontal fragmentation)

- Phân mảnh dọc (vertycal fragmentation)

Xem tất cả 312 trang.

Ngày đăng: 28/06/2022
Trang chủ Tài liệu miễn phí