Các loại mảnh và cách phân mảnh quan hệ

Một phần của tài liệu Loại bỏ các mẫu tin nhân bản thừa trong cơ sở dữ liệu quan hệ (Trang 43 - 51)

M Ở ĐẦU

2.2. Các loại mảnh và cách phân mảnh quan hệ

* Khái niệm

Với hệ quản trị cơ sở dữ liệu quan hệ phân tán, việc phân tán các ứng

dụng cần thực hiện hai việc: Phân mảnh – phân tán cơ sở dữ liệu và phân tán

các chương trình ứng dụng chạy trên hệ quản trị CSDL đó.

Như vậy, một cơ sở dữ liệu phân tán là tập hợp nhiều CSDL có liên đới lôgic và được phân bố trên các nút của một mạng máy tính.

Tuy nhiên trong đề tài này chỉ xét đến việc phân mảnh một bảng dữ liệu

hay nói cách khác phân mảnh một quan hệ. Việc phân mảnh một quan hệ làm nhiều mảnh, mỗi mảnh được xử lý như một đơn vị, sẽ cho phép thực hiện

nhiều truy cập đồng thời. Ngoài ra việc phân mảnh các quan hệ sẽ cho phép

thực hiện song song các truy vấn bằng cách chia nó thành một tập các câu vấn

tin hoạt động trên các mảnh. Việc phân mảnh cũng làm tăng khả năng hoạt động đồng thời trên các mảnh, điều đó làm tăng lưu lượng hoạt động của hệ

thống, tăng tốc độ xử lý.

Việc phân mảnh cũng có những nhược điểm của nó. Ví dụ có thể xảy ra xung đột khi có nhiều truy vấn xảy ra trên cũng một mảnh hoặc phải truy xuất

dữ liệu từ hơn một mảnh rồi nối hoặc hợp chúng lại, do đó làm tăng chi phí

truy xuất, … khắc phục điều này là một trong những mục tiêu của kĩ thuật phân

mảnh. Việc phân mảnh có liên quan đến việc kiểm soát dữ liệu ngữ nghĩa, đặc

biệt là kiểm tra tính toàn vẹn. Vì phân mảnh nên các thuộc tính tham gia vào một phụ thuộc nào đó có thể bị phân rã vào các mảnh khác nhau và được cấp phát đến các vị trí khác nhau. Trong trường hợp như vậy, việc kiểm tra các phụ

thuộc đó cũng phải được tìm dữ liệu trên nhiều vị trí khác nhau.

Thiết kế hệ thống máy tính phân tán bao gồm:

- Phân tán và chọn những vị trí đặt dữ liệu;

- Thiết kế tổ chức khai thác hệ thống đó trên mạng.

Ở đây ta quan tâm đến phương pháp phân tán dữ liệu và cấp phát dữ liệu.

Các quan hệ cũng làm cơ sở phân tán, việc phân tán các quan hệ là chia chúng làm nhiều quan hệ nhỏ hơn gọi là các mảnh và các mảnh này sẽ được phân

tán tiếp. Vì vậy hoạt động phân tán gồm có hai bước là phân mảnh và cấp

phát các mảnh cho các vị trí.

Vấn đề phân mảnh cũng đặt ra những câu hỏi đòi hỏi chúng ta phải giải

quyết như sau:

+ Tại sao phải phân mảnh?

+ Làm thế nào để thực hiện phân mảnh?

+ Phân mảnh nên thực hiện đến mức độ nào?

+ Có cách nào để kiểm tra tính đúng đắn của việc phân mảnh hay không?

+ Chúng ta sẽ cấp phát thế nào trên mạng khi phân thành các mảnh?

+ Những thông tin nào sẽ cần thiết cho việc phân mảnh và cấp phát?

* Thiết kế CSDL phân tán

Hai chiến lược chính đã được xác định trong thiết kế các CSDL phân tán là:

Thiết kế từ trên xuống (top-down approach)

Thiết kế từ dưới lên (bottom-up approach).

Quá trình thiết kế theo hai cách tiếp cận này rất khác nhau. Nhưng như

chúng ta đã biết rất hiếm các ứng dụng đủ đơn giản để có thể sử dụng chỉ một

trong hai cách tiếp cận. Vì vậy thiết kế DDBM cần phải áp dụng cả hai quá

trình thiết kế trên để bổ sung cho nhau.

+Thiết kế từ trên xuống

Quá trình này được trình bày trong hình 2.1 sau:

Bắt đầu bằng việc phân tích yêu cầu nhằm định nghĩa môi trường hệ

người có sử dụng CSDL. Nghiên cứu các yêu cầu cũng cần xác định xem hệ

thống cuối cùng sẽ như thế nào so với các mục tiêu của một DDBM.

Phân tích thực thể có liên quan đến việc xác định các thực thể, các thuộc

tính và các mối liên hệ giữa chúng. Phân tích chức năng đề cập đến việc xác định các chức năng cơ bản có liên quan đến xí nghiệp cần được mô hình hoá. Kết quả của hai quá trình phân tích này cần được đối chiếu qua lại, giúp

chúng ta biết được chức năng nào sẽ hoạt tác trên những thực thể nào.

Có một sự liên hệ giữa thiết kế khái niệm và thiết kế khung nhìn, người

sử dụng cần phải đặc tả các thực thể và phải xác định các ứng dụng sẽ chạy trên cơ sở dữ liệu cũng như các thông tin thống kê về những ứng dụng này. Thông tin thống kê bao gồm cả tính toán các thông tin về tần số ứng dụng,

khối lượng các thông tin mà một câu truy vấn cần dùng trong quá trình thực

thi. Chú ý rằng từ bước thiết kế khái niệm sẽ cho ra định nghĩa lược đồ khái

niệm toàn cục GCS (Global Conception Schema). Ở đây, chúng ta vẫn chưa xem xét các đặc thù phân tán, nên quá trình thiết kế hoàn toàn giống với thiết

kế CSDL tập trung.

Lược đồ khái niệm toàn cục và thông tin về kiểu mẫu truy xuất thu được trong thiết kế khung nhìn sẽ là nguyên liệu vào cho bước thiết kế

phân tán. Thiết kế các lược đồ khái niệm cục bộ LCS (Local Conception

Schema) là cách phân tán các thực thể cho các vị trí của hệ thống phân tán, có thể xử lý mỗi thực thể như là một đơn vị phân tán. Với mô hình quan hệ được dùng làm cơ sở thảo luận trong cuốn sách này, các thực thể

sẽ tương ứng với các quan hệ.

Như đã biết, thiết kế phân tán gồm hai bước như sau:

Thay vì phân tán các quan hệ, chúng ta thường chia chúng thành nhiều

quan hệ nhỏ hơn gọi là các mảnh và chính các mảnh sẽ được phân tán đến các

vị trí khác nhau (ta hay gọi là cấp phát).

+ Thiết kế vật lý

Là bước ánh xạ lược đồ khái niệm cục bộ sang các thiết bị lưu trữ vật lý

có sẵn tại các vị trí tương ứng. Nguyên liệu cho quá trình này là lược đồ khái

niệm cục bộ và thông tin về kiểu mẫu truy xuất mảnh.

Chúng ta đã biết hoạt động phát triển và thiết kế luôn là một quá trình liên tục, đòi hỏi phải theo dõi, hiệu chỉnh thường xuyên. Vì thế chúng ta cũng đưa vấn đề quan sát và theo dõi như một hoạt động chính trong quá trình này. Cần chú ý rằng chúng ta không chỉ theo dõi vấn đề cài đặt CSDL mà còn phải

xem xét, theo dõi tính thích hợp của các khung nhìn của người sử dụng. Kết

quả này có tác dụng phản hồi, tạo tiền đề cho việc tái thiết kế về sau.

+ Quá trình thiết kế từ dưới lên

Các bước thiết kế từ dưới lên ngược với quá trình thiết kế từ trên xuống. Thiết kế từ trên xuống thích hợp với những cho việc thiết kế mới

từ đầu. Tuy nhiên, trong thực tế chúng ta hay gặp trường hợp, các cơ quan

xí nghiệp cần chúng ta thiết kế đã có sẵn một số DB hoặc DDB và nhiệm

vụ thiết kế là phải tích hợp chúng lại để có DDB theo mục đích - hoặc

mục đích mới – cho cơ quan xí nghiệp tiếp cận từ dưới lên sẽ thích hợp

cho tình huống này. Khởi điểm của thiết kế từ dưới lên là các lược đồ khái

niệm cục bộ. Qúa trình này sẽ bao gồm việc tích hợp các lược đồ khái

Hình 2.1. Quá trình thiết kế từ trên xuống

Phân tích yêu cầu

Thiết kế khái niệm Thiết kế khung nhìn

Yêu cầu hệ thống (Mục tiêu)

Tích hợp khung nhìn

Nguyên liệu người dùng

Thông tin truy xuất

Lược đồ khái niệm toàn cục Định nghĩa lược đồ ngoài

Thiết kế phân tán

L. đồ khái niệm cục bộ

Thiết kế vật lý

Lược đồ Vật lý

Theo dõi và bảo trì

Thông tin từ người dùng

+ Mức độ phân mảnh

Phân mảnh CSDL đến mức độ nào là một quyết định rất quan trọng, có ảnh đến hiệu năng thực hiện vấn tin. Mức độ phân mảnh có thể là từ thái

cực: cả quan hệ là một mảnh đến thái cực mỗi mảnh là một bản ghi, hoặc là một thuộc tính.

Chúng ta đã nói đến “các tác dụng phụ” của các đơn vị phân mảnh

qúa lớn và quá nhỏ. Vậy điều cần thiết ở đây là tìm ra được một mức độ

phân mảnh thích hợp. Một mức độ như thế chỉ được định nghĩa ứng với các ứng dụng sẽ chạy trên CSDL. Vấn đề là sự thực hiện như thế nào?. Nói chung, các ứng dụng cần được đặc trưng qua một số tham số. Theo giá trị

của những tham số này mà chúng ta có thể xác định được từng mảnh.

+ Các quy tắc kiểm tra kiểm tra tính đúng đắn việc phân mảnh

Khi xem xét quá trình chuẩn hoá chúng ta đã đề cập đến một số quy

tắc để đảm bảo được tính nhất quán của CSDL. Điều quan trọng cần nhận ra là điểm giống nhau giữa việc phân mảnh dữ liệu trong trường hợp phân

tán và việc chuẩn hoá các quan hệ. Do vậy chúng ta có thể định nghĩa các

quy tắc phân mảnh tương tự như các nguyên lý chuẩn hoá.

Ba quy tắc sau đây đảm bảo cho CSDL sẽ không có thay đổi ngữ nghĩa

khi phân mảnh:

(1)Quy tắc đầy đủ. Nếu một quan hệ R được phân rã thành các mảnh R1, R2, …., Rn, thì mỗi mức dữ liệu có trong R cũng phải có trong một hay

nhiều mảnh Ri. Đặc tính này, giống như tính chất phân rã nối không mất

trong khi chuẩn hoá dữ liệu. Quy tắc đầy đủ đảm bảo rằng dữ liệu trong

Chú ý: Trong trường hợp phân mảnh ngang, “mục dữ liệu” là bộ (bản

ghi), còn trong trường hợp phân mảnh dọc, “mục dữ liệu” là thuộc tính (trường hay cột).

(2)Quy tắc tái thiết được. Nếu một quan hệ R được phân rã thành các mảnh

R1, …, Rn, thì cần phải tìm ra toán tử quan hệ  sao cho. R = Ri, Ri

Toán tử  thay đổi tuỳ theo từng loại phân mảnh; tuy nhiên điều quan

trọng là phải xác định được nó. Khả năng tái thiết mối quan hệ từ các mảnh

của nó bảo đảm rằng các ràng buộc được định nghĩa trên dữ liệu dưới dạng

các phụ thuộc sẽ được đảm bảo.

(3)Quy tắc tách biệt. Nếu quan hệ R được phân rã ngang thành các mảnh

R1, R2, …, Rn, và mục dữ liệu di đã nằm trong mảnh Rj, thì nó sẽ không nằm

trong một mảnh Rk với k ≠ j. Quy tắc này bảo đảm rằng các mảnh ngang sẽ

rời nhau. Nếu quan hệ được phân rã dọc, tính tách biệt chỉ được định nghĩa trên các trường không phải là khoá chính của quan hệ.

+ Chuyển các mảnh đến các trạm trong hệ thống xử lý

Chuyển các mảnh đến các vị trí trên mạng (cấp phát các mảnh, gọn hơn:

cấp phát) là một trong những yêu cầu cần thiết và phức tạp. Khi dữ liệu được

cấp phát, nó có thể được nhân bản hoặc không.

Lý do nhân bản là nhằm bảo đảm được độ tin cậy và hiệu quả cho các

vấn tin. Vì nếu có nhiều bản sao của một mục dữ liệu thì chúng ta vẫn có cơ

hội truy xuất được dữ liệu đó ngay sau khi hệ thống có sự cố, vì nó tồn tại đồng thời trên các mảnh được nhân bản. Hơn nữa các câu truy vấn chỉ đọc

truy xuất đến cùng một mục dữ liệu có thể cho thực hiện song song bởi vì các bản sao có mặt tại nhiều vị trí. Khi có nhân bản câu vấn tin cập nhật có thể

các bản sao phải được cập nhật chính xác. Vì vậy, quyết định nhân bản cần

phải được cân nhắc và phụ thuộc vào tỷ lệ giữa các câu vấn tin chỉ đọc các

câu vấn tin cập nhật. Quyết định này hầu như đều có ảnh hưởng đến tất cả các

thuật toán của DDBM và các chức năng kiểm soát khác.

Không nhân bản: Các mảnh được cấp phát cho các vị trí, trong đó chỉ có

một mảnh duy nhất trên hệ thống. Không nhân bản còn được gọi là CSDL phân hoạch.

Nhân bản hoàn toàn: Toàn bộ CSDL đều được nhân bản và lưu tại mọi

vị trí của hệ thống xử lý.

Nhân bản một phần: Các mảnh được phân tán đến các vị trí, trong đó

một số hoặc tất cả các mảnh có thể có nhiều bản sao nằm tại nhiều vị trí. Số lượng các bản sao của một mảnh có thể tham gia làm đầu cho thuật toán cấp

phát, … Bảng 2.1 so sánh ba chọn lựa nhân bản ứng với các chức năng khác

nhau của DDBM.

+ Những thông tin cần cho phân mảnh và cấp phát

Một điều cần lưu ý trong việc thiết kế phân tán là qua nhiều yếu tố có ảnh hưởng đến một thiết kế tối ưu. Các thông tin cần cho phân mảnh và cấp

phát bao gồm: Cấu trúc của CSDL, vị trí các ứng dụng, đặc tính truy xuất của

Nhân bản hoàn toàn Nhân bản một phần Phân hoạch

Xử lý vấn tin Dễ Cùng mức độ khó

Quản lý thư mục Dễ hoặc không tồn tại Cùng mức độ khó

Điều khiển đồng thời Vừa phải Khó Dễ

Độ tin cậy Rất cao Cao Thấp

Tính thực tế Có thể áp dụng Thực tế Có thể áp dụng

các ứng dụng đến CSDL, và các đặc tính của hệ thống xử lý và đơn vị xử lý

tại mỗi vị trí đều ảnh hưởng các quyết định phân mảnh và phân tán.

Một phần của tài liệu Loại bỏ các mẫu tin nhân bản thừa trong cơ sở dữ liệu quan hệ (Trang 43 - 51)

Tải bản đầy đủ (PDF)

(79 trang)