0
Tải bản đầy đủ (.docx) (34 trang)

Phân rã vấn tin

Một phần của tài liệu CƠ SỞ DỮ LIỆU PHÂN TÁN VÀ ỨNG DỤNG THIẾT KẾ WEB SERVICE (Trang 26 -26 )

Một lược đồ tổng quát để xử lý truy vấn dữ liệu phân tán gồm 4 tầng, trong đó 2 tầng đầu có chức năng phân rã câu truy vấn (Query Decomposition) và cục bộ hoá dữ liệu (Data Location). Các chức năng này được thực hiện liên tiếp, nhằm biến đổi câu truy vấn dạng phép tính quan hệ được đặc tả trên các quan hệ toàn cục thành câu truy vấn dưới dạng đại số quan hệ được định nghĩa trên các mảnh.

Tầng phân rã câu truy vấn có chức năng ánh xạ câu truy vấn phân tán ở dạng phép tính quan hệ thành câu truy vấn đại số trên quan hệ toàn cục. Thông tin cần thiết cho việc biến đổi phân rã truy vấn phân tán được tìm thấy trong mô tả lược đồ khái niệm toàn cục và trong mô tả các quan hệ toàn cục. Thông tin về phân tán các quan hệ không được sử dụng trong tầng này, nhưng sẽ được sử dụng trong các tầng kế tiếp. Vì vậy các kỹ thuật phân rã được áp dụng trong tầng này là những kỹ thuật của các hệ quản trị cơ sở dữ liệu quan hệ tập trung.

Phân rã câu truy vấn có thể thực hiện theo 4 bước liên tiếp nhau:

Bước chuẩn hoá: Các câu truy vấn bằng các phép tính quan hệ được viết lại dưới

dạng chuẩn tắc thích hợp cho những bước tiếp theọ Sự chuẩn hoá một câu truy vấn bao gồm đặt các lượng tử và lượng tử hoá truy vấn bằng cách áp dụng độ ưu tiên các toán tử logic.

Có 2 dạng chuẩn có thể cho việc dự đoán: đưa ra mức độ ưu tiên cho phép AND hoặc phép OR.

Dạng chuẩn hội: (p11 p12 p1n) … (pm1 pm2… pmm) Trong đó pij là một vị từ đơn giản

Dạng chuẩn tuyển: (p11 p12 p1n) … (pm1 pm2… pmm)

Bước phân tích: Câu truy vấn đã chuẩn hoá được phân tích về mặt ngữ nghĩa nhằm

loại bỏ các câu vấn tin sai càng sớm càng tốt. Tìm ra truy vấn sai chỉ tồn tại với một tập con các phép tính quan hệ. Thông thường sử dụng một loại đồ thị để nắm bắt ngữ nghĩa của câu truy vấn.

Ví dụ

SELECT E# FROM EMP

WHERE ENAME>200

Truy vấn trên sai kiểu vì E# không phải là thuộc tính của lược đồ quan hệ.

Bước loại bỏ dư thừa: Câu truy vấn đúng được đơn giản hoá bằng cách loại bỏ các

phụ thuộc dư thừạ Truy vấn dư thừa chỉ xuất hiện khi các một truy vấn là kết quả của việc biến đổi hệ thống được áp dụng cho truy vấn của người sử dụng.

Bước xây dựng lại câu truy vấn: Câu truy vấn phép tính quan hệ được xây dựng lại

dưới dạng truy vấn đại số quan hệ bằng các quy tắc biến đổi: tính giao hoán, tính kết hợp, tích lũy đẳng, phép hoán đổi, …

4. Cục bộ hóa dữ liệu

Tầng cục bộ hoá dữ liệu chịu trách nhiệm dịch câu truy vấn đại số quan hệ trên quan hệ toàn cục sang câu truy vấn đại số quan hệ trên các mảnh vật lý có sử dụng các thông tin được lưu trữ trong lược đồ phân mảnh. Nó xác định mảnh quan hệ nào sẽ được sử dụng trong truy vấn và chuyển đổi câu truy vấn phân tán thành một truy vấn trên mảnh cụ thể. Để tạo một truy vấn trên mảnh được thực hiện bởi hai bước:

Bước 1: Truy vấn phân tán được ánh xạ sang một truy vấn trên mảnh bằng việc thay

thế mỗi quan hệ phân tán bằng chương trình xây dựng lại có chứa các phép toán đại số quan hệ thao tác trên mảnh, gọi là chương trình cục bộ hoá (Localization Program)

Bước 2: Truy vấn trên mảnh được đơn giản hoá và xây dựng lại để tạo ra một truy

vấn khác tốt hơn. Quá trình đơn giản hoá và xây dựng lại có thể được thực hiện dựa theo cùng một quy tắc được sử dụng trong tầng phân rã.

Rút gọn cho phân mảnh ngang nguyên thủy

Phân mảnh ngang phân tán một quan hệ dựa trên các vị từ chọn (Select Predicate). Như vậy, để giảm các thao tác truy vấn trên quan hệ đã được phân mảnh theo chiều ngang, trước hết phải xác định rõ cần thao tác trên mảnh nào và sau đó xây dựng lại cây con, xem

xét loại bỏ các quan hệ rỗng. Phân mảnh ngang sẽ được sử dụng để làm đơn giản hoá các phép chọn và phép kết nốị

Rút gọn cho phân mảnh dọc

Phân mảnh dọc phân tán một quan hệ dựa trên các thuộc tính chiếụ Vì vậy phép kết nối sẽ là phép toán tái xây dựng các phân mảnh dọc, Chương trình cục bộ hoá cho quan hệ phân mảnh dọc bao gồm các kết nối của các mảnh trên các thuộc tính chung.

IV. DEMO CHƯƠNG TRÌNH 1. Mô tả bài toán

Bài toán quản lý khách sạn trên website, với hai chi nhánh. Chi nhánh 1 ở Hà Nội và chi nhánh 2 ở TP Hồ Chí Minh. Người dùng sẽ truy cập để đăng kí phòng.

Giả định chúng ta phân mảnh ngang cơ sở dữ liệu tại 2 site đặt ở Hà Nội và ở Thành phố Hồ Chí Minh. Như vậy khi người dùng truy cập vào website, việc lựa chọn vị trí địa

lý sẽ cho ra kết quả tương ứng với dữ liệu phân mảnh. Quá trình này làm cho các câu truy vấn xử lý nhanh hơn.

Dưới đây là hình ảnh minh họa chức năng tìm kiếm theo các thông tin của khách sạn.

Hình 5: Mô tả một số chức năng trên web service

3. Demo chương trình

Giao diện đặt phòng:

Các reference phân bố trên site Hà Nội

Và trên site TP Hồ Chí Minh:

V. KẾT LUẬN

Trên thực tế, cơ sở dữ liệu phân tán chiếm vị trí, vai trò quan trọng trong việc thiết kế dữ liệu, phát triển các phần mềm quản lý trong phạm vi lớn, dữ liệu đa chiềụ

Trong phạm vi hạn hẹp của bài thu hoạch và do yếu tố thời gian có hạn, tôi chỉ mới trình bày những kiến thức tìm hiểu cơ bản nhất về cơ sở dữ liệu phân tán. Trang quản lý khách sạn cũng sơ sài, nhiều thiếu sót. Tôi rất mong nhận được ý kiến đóng góp của Thầy PGS. TS Đỗ Phúc và các anh chị em lớp học viên cao học khóa 6 để bổ sung thêm cho những hạn chế của bài tiểu luận này

TÀI LIỆU THAM KHẢO

1. Bài giảng “Cơ sở dữ liệu nâng cao”, PGS. TS Đỗ Phúc – 2012.

2. Nguyên lý các hệ cơ sở dữ liệu phân tán, M. Tamer Ozsu, Patrick Valdurier, biên dịch: Trần Đức Quang.

3. Date C.J., “ An introduction to data base systems”, Second editon 1977 4. Cold, EF, “Data models in data base managemet” ACM Sigmod (1981)

5. Abram Siberschatz, Henry F.Korth, S.Sudarshan “ Database Systems Concepts”, Published by McGaw-Hill /Irwin, New Yor.k, 2002.

Một phần của tài liệu CƠ SỞ DỮ LIỆU PHÂN TÁN VÀ ỨNG DỤNG THIẾT KẾ WEB SERVICE (Trang 26 -26 )

×