1. Trang chủ
  2. » Giáo Dục - Đào Tạo

nghiên cứu một số vấn đề về truy vấn và tối ưu hóa truy vấn cơ sở dữ liệu phân tán trong hệ thống thông tin

59 25 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 59
Dung lượng 437,02 KB

Nội dung

Tác giả Lin Zhou đã mô tả ngắn gọn các khái niệm tương ứng và đặc điểm của hệthống cơ sở dữ liệu phân tán, tóm tắt những mục tiêu tối ưu hóa truy vấn cơ sở dữ liệuphân tán và phân tích c

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC THƯƠNG MẠI

ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CẤP TRƯỜNG

NGHIÊN CỨU MỘT SỐ VẤN ĐỀ VỀ TRUY VẤN

VÀ TỐI ƯU HÓA TRUY VẤN CƠ SỞ DỮ LIỆU PHÂN TÁN TRONG HỆ THỐNG THÔNG TIN

Trang 2

MỤC LỤC

DANH MỤC HÌNH VẼ

DANH MỤC TỪ VIẾT TẮT

CHƯƠNG 1 TỔNG QUAN NGHIÊN CỨU ĐỀ TÀI

1.Tính cấp thiết nghiên cứu của đề tài

2.Tổng quan về đề tài nghiên cứu

3.Mục tiêu nghiên cứu

4.Đối tượng và phạm vi nghiên cứu

5.Phương pháp nghiên cứu

6.Kết cấu báo cáo nghiên cứu

CHƯƠNG 2: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN

1.Khái niệm về hệ cơ sở dữ liệu phân tán

1.1 Cơ sở dữ liệu phân tán .

1.2 Hệ quản trị cơ sở dữ liệu phân tán 2.Các đặc trưng của cơ sở dữ liệu phân tán

2.1 Điều khiển tập trung .

2.2 Độc lập dữ liệu .

2.3 Giảm dư thừa dữ liệu .

2.4 Độ tin cậy qua các giao dịch phân tán 2.5 Cải tiến hiệu năng .

2.6 Dễ dàng mở rộng hệ thống .

3.Kiến trúc cơ bản của cơ sở dữ liệu phân tán

3.1 Sơ đồ tổng thể .

3.2 Sơ đồ phân đoạn .

3.3 Sơ đồ định vị .

3.4 Sơ đồ ánh xạ địa phương .

4.Các mô hình xử lý phân tán

4.1 Mô hình xử lý Master - Slave .

4.2 Các hệ phân tán ngang hàng .

4.3 Môi trường đa tầng .

CHƯƠNG 3: CÁC NGUYÊN LÝ CHUNG CỦA TỐI ƯU HÓA TRUY VẤN CƠ SỞ DỮ LIỆU PHÂN TÁN

1.Mục tiêu chung của bài toán toán truy vấn trong CSDLPT

2.Giới thiệu về xử lý truy vấn

3.Các giai đoạn trong xử lý truy vấn CSDLPT

4.Các đặc trưng về xử lý truy vấn trong CSDLPT:

4.1 Ngôn ngữ (language) 4.2 Các dạng tối ưu hóa (types of optimization)

4.3 Thời gian tối ưu hóa (optimization timing)

Trang 3

4.4 Thống kê (statistics) 28

4.5 Tối ưu hóa tập trung & tối ưu hóa phân tán (Decision sites) 28

4.6 Sử dụng kiến trúc mạng (Exploitation of the network topology) 28

4.7 Sử dụng bản sao phân đoạn (Exploitation of Replicated Fragments) 29

4.8 Sử dụng toán tử bán kết nối (Use of Semijoins) 29

5 Các kỹ thuật tối ưu hóa tập trung 30

5.1 Thuật toán INGRES 30

5.2 Thuật toán SYSTEM R 30

CHƯƠNG 4: TỐI ƯU HÓA TRUY VẤN PHÂN TÁN 22

1 Phân rã câu truy vấn 32

1.1 Chuẩn hóa 32

1.2 Phân tích 33

1.3 Loại bỏ dư thừa 35

1.4 Viết lại 36

2 Định vị dữ liệu phân tán 37

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

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

2.3 Rút gọn phân mảnh dẫn xuất 42

2.4 Rút gọn phân mảnh hỗn hợp 43

3 Tối ưu hóa các truy vấn phân tán 44

3.1 Đầu vào bộ tối ưu hóa câu truy vấn 45

3.2 Thứ tự kết nối trên các truy vấn đoạn 47

4 Tối ưu hóa các truy vấn phân tán 48

4.1 Thuật toán tối ưu hóa truy vấn phân tán SDD-1 48

4.2 Thuật toán System R* 50

4.3 Thuật toán INGRES phân tán 52

5 Kết luận và hướng phát triển của đề tài 54

5.1 Kết luận 54

5.2 Hướng phát triển của đề tài 54

TÀI LIỆU THAM KHẢO 56

3

Trang 4

DANH MỤC HÌNH VẼ

Hình 1: Sơ đồ tổng thể 16

Hình 2: Sơ đồ định vị 18

Hình 3: Kiến trúc khách/chủ 19

Hình 4: Các hệ phân tán ngang hàng 20

Hình 5: Môi trường đa tầng 20

Hình 6: Mô tả bộ xử lý truy vấn 23

Hình 7: Mô tả các giai đoạn trong xử lý truy vấn 24

Hình 8: Mô hình tối ưu hóa truy vấn 25

Hình 9: Đồ thị kết nối tương ứng 34

Hình 10: Đồ thị truy vấn không liên thông 35

Hình 11: Ví dụ về cây đại số quan hệ 37

Hình 12: Rút gọn phân mảnh ngang với phép chọn 39

Hình 13: Cây đại số quan hệ truy vấn gốc 40

Hình 14: Rút gọn phân mảnh ngang với phép kết nối 40

Hình 15: Rút gọn phân mảnh dọc 41

Hình 16: Rút gọn phân mảnh dẫn xuất 43

Hình 17: Rút gọn phân mảnh hỗn hợp 44

Hình 18: Truyền các toán hạng trong phép toán hai ngôi 47

Trang 6

CHƯƠNG 1 TỔNG QUAN NGHIÊN CỨU ĐỀ TÀI

1 Tính cấp thiết nghiên cứu của đề tài

Xã hội ngày càng phát triển kèm theo yêu cầu khối lượng thông tin cần xử lý, lưutrữ trong các hệ thống thông tin (HTTT) tăng lên nhanh chóng Dữ liệu lớn, cực lớnlên tới hàng triệu bản ghi lại phải cập nhật chỉnh lý thường xuyên nên với mô hình cơ

sở dữ liệu tập trung (CSDLTT) sẽ gặp rất nhiều khó khăn về vấn đề tốc độ xử lý tạimáy chủ, băng thông đường truyền, ảnh hưởng đến tính sẵn sàng của hệ thống

Bên cạnh đó, trên thực tế, các doanh nghiệp, các đơn vị và các tổ chức phải phân

bố trên một vùng rộng lớn về mặt địa lý, có thể dàn trải trên phạm vi nhiều thành phố,toàn bộ quốc gia hay một vài quốc gia, thậm chí trên toàn cầu, nên việc lưu trữ, xử lý

dữ liệu tập trung không khả thi Dữ liệu không thể lưu trữ tập trung ở một địa điểmnhất định mà rải khắp các địa điểm mà cơ quan, tổ chức hay doanh nghiệp đó hoạtđộng

Khi dữ liệu không còn lưu trữ tập trung thì vấn đề làm thế nào để quản lý truyxuất, tốc độ truy xuất dữ liệu phục vụ cho công tác chuyên môn không bị ảnh hưởng,không bị gián đoạn là một vấn đề quan trọng được đặt ra Đây chính là tiền đề để cơ sở

dữ liệu phân tán (CSDLPT) ra đời Trong các hệ thống sử dụng CSDLPT dữ liệu thực

sự được lưu trữ trên nhiều trạm riêng biệt, tuy nhiên, việc quản lý khai thác lại đượcxây dựng sao cho người sử dụng có thể truy vấn dữ liệu như một CSDLTT

Khi khối lượng thông tin phải xử lý ngày càng lớn, phong phú và đa dạng thì vấn

đề đặt ra là cần xử lý thông tin như thế nào để giảm chi phí đến mức tối thiểu Mộttrong các giải pháp có tính khả thi là phải tối ưu hoá các câu lệnh khi truy vấn dữ liệu.Tối ưu hóa câu lệnh truy vấn trên CSDLPT đòi hỏi nhiều kỹ thuật phức tạp hơn khi tối

ưu hóa truy vấn trên CSDL thông thường, do cơ sở dữ liệu được lưu trữ rời rạc

Từ tình hình thực tế và nhu cầu đó, việc nghiên cứu về truy vấn và tối ưu hóatruy vấn trong CSDLPT là một điều vô cùng cần thiết, có tính ứng dụng cao trong các

doanh nghiệp Vì vậy tôi chọn đề tài “Nghiên cứu một số vấn đề về truy vấn và tối ưu hóa truy vấn cơ sở dữ liệu phân tán trong hệ thống thông tin” để nghiên cứu Đề tài

hướng đến việc hệ thống hóa các vấn đề trong xây dựng câu truy vấn và tối ưu hóa cáccâu truy vấn trong môi trường đặc trưng của CSDLPT

2 Tổng quan về đề tài nghiên cứu

Hiện nay, quản lý, xử lý và khai thác thông tin, dữ liệu là một lĩnh vực thu hút sựquan tâm, đầu tư nghiên cứu và triển khai mạnh mẽ ở các nước tiên tiến về CNTT,nhất là khi ngành công nghiệp nội dung số đang nổi lên như một lĩnh vực kinh doanh

có lợi nhuận cao Các công nghệ liên quan đến công nghệ dữ liệu (data engineering),tìm kiếm thông tin (information retrieval), xử lý dữ liệu (data procesing), CSDL lưới(Grid Database)… được nghiên cứu rộng rãi tại các chuyên ngành liên quan đếnCNTT tại các trường đại học lớn trên thế giới Các chương trình này đã và đang được

hỗ trợ bởi một ngành công nghiệp khổng lồ để đưa các thành tựu mới về công nghệtrong các lĩnh vực này vào ứng dụng một cách nhanh chóng Các chính phủ của các

Trang 7

nước tiên tiến coi việc phát triển, nắm bắt và ứng dụng các thành tựu mới trong cácngành công nghệ này là công tác sống còn trong việc phát triển các hạ tầng thông tin

và phục vụ lợi ích quốc gia và phát triển kinh tế

Do đó, một số hiệp hội của các nhà nghiên cứu và phát triển các công nghệ, ứngdụng quản lý thông tin và dữ liệu đã ra đời và có ảnh hưởng lớn trên thế giới Nổi tiếngnhất là SIGMOD thuộc ACM và Data Engineering của IEEE, cả hai đều thuộc Mỹnhưng được công nhận rộng rãi trên toàn thế giới Tại một số nước tiên tiến khác cũng

tổ chức các phân hội địa phương của các hiệp hội này Ðiều này chứng tỏ tầm ảnhhưởng của các tổ chức này trong ngành xử lý dữ liệu trên thế giới Ngoài ra các nướccũng có các tổ chức quốc gia riêng về công nghệ xử lý dữ liệu Ví dụ, tại Nhật Bản cóSIGMOD-Japan và Tổ chức xử lý thông tin Japan (Japan InformationProcessingSociety) Các tổ chức này hiện nay đều hỗ trợ mạnh các công nghệ xử lý dữ liệu lớn(big data) trong đó có vấn đề nghiên cứu về CSDLPT

Theo [1], trong hệ thống cơ sở dữ liệu phân tán, sự lưu trữ và dư thừa dữ liệuphân tán có tiện ích là để phục hồi lỗi, nhưng cũng vì thế nó làm cho quá trình xử lýtruy vấn phân tán phức tạp hơn tại cùng một thời điểm Vì vậy, trong các nhánh nghiêncứu về CSDLPT, nghiên cứu về tối ưu hóa và xử lý truy vấn là một trong những côngnghệ quan trọng nhất Trong nghiên cứu này, tác giả sử dụng toán tử bán kết hợp nhằmcải thiện hiệu suất của các truy vấn và giảm thời gian tìm kiếm

Tác giả Lin Zhou đã mô tả ngắn gọn các khái niệm tương ứng và đặc điểm của hệthống cơ sở dữ liệu phân tán, tóm tắt những mục tiêu tối ưu hóa truy vấn cơ sở dữ liệuphân tán và phân tích các quá trình tối ưu hóa truy vấn dựa trên toán tử bán kết hợp vớicác ứng dụng thực tế cùng với thuật toán cổ điển SDD-1 nhằm thực hiện tối ưu hóatruy vấn trong cơ sở dữ liệu phân tán

Theo Pawandeep Kaur [2] thì tối ưu hóa truy vấn là quá trình sử dụng phương ántốt nhất cho truy vấn để cải thiện hiệu suất của các truy vấn Tối ưu hóa truy vấn trong

cơ sở dữ liệu phân tán khó khăn hơn rất nhiều so với cơ sở dữ liệu tập trung Truy vấntrong cơ sở dữ liệu phân tán bị ảnh hưởng bởi các yếu tố như phương pháp chèn dữliệu vào máy chủ từ xa và cách thời gian phản hồi giữa các máy chủ Thời gian trả lờicủa các truy vấn phụ thuộc vào thời gian truyền và tốc độ xử lý của các máy cục bộ.Trong đó, vai trò của việc xây dựng một mô hình ước lượng chi phí của truy vấn phùhợp là rất quan trọng Mô hình phù hợp sẽ tạo nên tảng để ước lượng chi phí cho cácphương thức tối ưu hóa truy vấn khác nhau và lựa chọn phương án tốt nhất

Trong [3], Shyam Padia đã chứng minh tường minh răng vấn đề tối ưu hóa truyvấn trong cơ sở dữ liệu phân tán quy mô lớn là bài toán NP - khó trong tự nhiên và rấtkhó để giải quyết Các bài toán thuộc lớp NP-khó, ví dụ như bài toán tối ưu hó truyvấn, sự phức tạp của bộ tối ưu hóa tăng phi tuyến khi số lượng các quan hệ và số lượngcác mối ràng buộc trong một truy vấn tăng lên Nghiên cứu đã tìm hiểu và giới thiệumột số các các chiến lược tối ưu hóa khác nhau và các nghiên cứu cho thấy rằng hiệusuất tối ưu hóa truy vấn phân tán được cải thiện khi sử dụng thuât toán đàn kiến đượctích hợp trong các thuật toán tối ưu hóa

7

Trang 8

Tại Việt nam, trong một thời gian dài, tầm quan trọng của các HTTT có mức tựđộng hóa cao không được đánh giá đúng mức trong quản lý nhà nước và phát triểnkinh tế, kinh doanh Việc nghiên cứu về CSDL trong một thời gian dài tập trung vào lýthuyết CSDL như nghiên cứu về mô hình CSDL dùng các công cụ toán học Trong lĩnhvực ứng dụng, mặc dù có không ít các dự án xây dựng các CSDL nhưng lĩnh vực nàychưa được nghiên cứu đánh giá một cách tổng thể, sử dụng còn ở mức chưa khai tháchết tất cả các tính năng của các công nghệ CSDL hiện đại Giữa lý thuyết và ứng dụng

là một khoảng cách lớn

Theo Đào Ngọc Sơn [4], hệ thống phân tán là một hệ thống cơ sở dữ liệu phứctạp, đòi hỏi việc tổ chức cơ sở hạ tầng vật lý và mô hình kết nối mạng phức tạp Việctìm hiểu và tối ưu hóa truy vấn trong CSDLPT có ý nghĩa quan trọng quyết định đếnhiệu năng hệ thống, làm hệ thống cơ sở dữ liệu phân tán mang những lợi ích giống như

cơ sở dữ liệu tập trung và phát huy những ưu thế cơ sở dữ liệu phân tán mang lại.Công trình đã trình bày các nguyên lý chung để tối ưu hóa bao gồm: Các chiến lược tối

ưu tổng quát, các kỹ thuật tối ưu hóa cơ bản, các biến đổi đại số,… và giới thiệu cácthuật toán tối ưu hóa trong cơ sở dữ liệu phân tán, dựa vào mô hình chi phí hoặc thờigian đáp ứng hệ thống, các thuật toán INGRES phân tán, Thuật toán System R*, thuậttoán SDD-1 và thuật toán AHY Bên cạnh đó tác giả cũng đã cài đặt thử nghiệm thuậttoán System R* phân tán trong một hệ thống CSDLPT mô phỏng

Đề tài nghiên cứu của Phạm Thị Thu Huyền [5] đã trình bày các vấn đề cơ bảncủa cơ sở dữ liệu phân tán, cơ sở dữ liệu tập trung, các kỹ thuật tối ưu hóa truy vấn tậptrung và phân tán Qua đó cài đặt thử nghiệm một thuật toán SDD-1 để tối ưu truy vấnphân tán trong một hệ thống CSDLPT đơn giản

Qua các nghiên cứu trên thế giới và tại Việt nam, chúng ta có thể nhận thấy việcnghiên cứu về CSDLPT và tối ưu hóa truy vấn trên cơ sở dữ liệu này là rất quan trọng.Các nghiên cứu trên thế giới đã đi sâu vào các khía cạnh kỹ thuật đơn giản cũng nhưphức tạp trong việc phân tích câu truy vấn và tối ưu hóa xử lý câu truy vấn Các nghiêncứu ở Việt nam cũng đã từng bước thực hiện việc cài đặt và thử nghiệm các thuật toánứng dụng trong tối ưu hóa các truy vấn một cách rời rạc Do đó, trong nghiên cứu này,tác giả thực hiện việc trình bày một cách có hệ thống các vấn đề liên quan đếnCSDLPT và tổng hợp các thuật toán phổ biến đại diện cho các cách tiếp cận khác nhautrong việc tối ưu hóa câu truy vấn dành cho CSDLPT

3 Mục tiêu nghiên cứu

Tối ưu hóa truy vấn trong CSDLPT là một lĩnh vực rất rộng, trong phạm vi của

đề tài này, tác giả sử dụng một cách tiếp cận có tính ứng dụng cao Trong đó mục tiêuchính trong nghiên cứu bao gồm:

-Hệ thống hóa các nghiên cứu, và lý thuyết về các vấn đề cơ bản của cơ sở dữliệu phân tán, các nguyên lý chung, các kỹ thuật và các thuật toán liên quan đếntruy vấn và tối ưu hóa truy vấn trong hệ thống thông tin

- Giới thiệu chi tiết các thuật toán chính được sử dụng trong tối ưu hóa CSDLPT

Trang 9

-Báo cáo đề tài có thể làm tài liệu tham khảo cho việc viết giáo trình các môn:

Cơ sở dữ liệu 2; Phân tích thiết kế hệ thống thông tin và là tài liệu tham khảo cáchọc phần: Phân tích thiết kế hệ thống thông tin; Hệ thống thông tin quản lý

4 Đối tượng và phạm vi nghiên cứu

Đối tượng nghiên cứu: Các vấn đề về cơ sở dữ liệu phân tán, các nguyên lýchung, các kỹ thuật, các thuật toán liên quan đến vấn đề tối ưu hoá truy vấn cơ sở dữliệu phân tán trong hệ thống thông tin

Phạm vi nghiên cứu: Đề tài tập trung nghiên cứu về truy vấn và một số các kỹthuật tối ưu hóa truy vấn trong cơ sở dữ liệu phân tán

5 Phương pháp nghiên cứu

Đề tài đã sử dụng phương pháp nghiên cứu tài liệu về lý thuyết cơ sở dữ liệuphân tán, các kỹ thuật truy vấn trong các sách chuyên ngành, bài báo đã công bố tạicác tạp chí chuyên ngành uy tín, nhằm đưa ra một số các kiến thức tổng quan xử lýtruy vấn cơ sở dữ liệu phân tán

Phương pháp thu thập dữ liệu: sử dụng phương pháp thống kê, so sánh nhằm nêu

ra được những sự khác biệt giữa vấn đề xử lý truy vấn trong cơ sở dữ liệu tập trung và

cơ sở dữ liệu phân tán

Mặt khác, đề tài cũng kết hợp nghiên cứu giữa lý thuyết và thực nghiệm để có thểphân tích một số các ví dụ minh họa giữa các thao tác khi xử lý tối ưu hóa truy vấn cơ

sở dữ liệu phân tán trong hệ thống thông tin

6 Kết cấu báo cáo nghiên cứu

Về nội dung và bố cục, ngoài các phần như: mục lục, danh mục hình vẽ, danhmục từ viết tắt và tài liệu tham khảo, phụ lục, báo cáo được trình bày gồm 5 chương:

Chương 1: Tổng quan nghiên cứu đề tài

Chương này sẽ trình bày sơ lược về tổng quan đề tài nghiên cứu: tính cấp thiết,tình hình nghiên cứu về đề tài ở trong và ngoài nước, mục tiêu nghiên cứu, đối tượng,phạm vi nghiên cứu, và các phương pháp nghiên cứu khi tìm hiểu về vấn đề truy vấn

và tối ưu hóa truy vấn cơ sở dữ liệu phân tán trong hệ thống thông tin

Chương 2: Tổng quan về cơ sở dữ liệu phân tán

Nội dung chương này sẽ trình bày một cách tổng quan nhất về CSDL phân tán,bao gồm các khái niệm, đặc trưng và kiến trúc của cơ sở dữ liệu phân tán đồng thời nộidung của chương này cũng giới thiệu thêm một số các mô hình xử lý phân tán trong hệthống thông tin

Chương 3: Các nguyên lý chung của tối ưu hóa truy vấn cơ sở dữ liệu phân tán

Trong chương này sẽ giới thiệu về nguyên lý xử lý truy vấn, các chiến lược tối ưuhóa truy vấn cơ bản, một số các phép biến đổi đại số và các kỹ thuật tối ưu hóa tậptrung làm nền tảng cho tối ưu hóa trong CSDLPT

9

Trang 10

Chương 4: Tối ưu hóa truy vấn phân tán

Nội dung chương này sẽ đề cập đến vấn đề tối ưu hóa truy vấn như cách phân rãcâu truy vấn, phương pháp định vị dữ liệu phân tán và các chiến lược và các thuật toán

để tối ưu hóa truy vấn phân tán Đồng thời trong chương này cũng đưa ra nững hạnchế còn tồn tại trong nghiên cứu và đặt ra các hướng phát triển nghiên cứu trong tươnglai

Trang 11

CHƯƠNG 2: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU

PHÂN TÁN

1 Khái niệm về hệ cơ sở dữ liệu phân tán

Trong các Hệ thống thông tin (HTTT) xử lý tập trung, hệ cơ sở dữ liệu phát triển

từ mô hình xử lý dữ liệu mà trong đó mỗi hệ thống ứng dụng định nghĩa một hay nhiềutệp dữ liệu riêng, các dữ liệu được ánh xạ sang mô hình định nghĩa và được quản lý tậptrung Mô hình này dẫn đến sự độc lập dữ liệu, nói cách khác, các ứng dụng có sự bấtbiến tương đối về cấu trúc lưu trữ và chiến lược truy cập dữ liệu

Tuy nhiên, trong các hệ xử lý phân tán, các thành phần của hệ xử lý phân tán nằmđộc lập về mặt vật lý, có sự liên kết tương đối lỏng lẻo thông qua các hệ thống mạngkết nối, do đó “hệ dữ liệu phân tán” được coi như công cụ làm cho quá trình xử lý dữliệu phân tán dễ dàng và hiệu quả hơn Cơ sở dữ liệu phân tán được phát triển như làmột tất yếu trong mô hình xử lý thông tin này

Cơ sở dữ liệu phân tán: Là một tập hợp nhiều cơ sở dữ liệu có liên đới logic và

được phân bố rải rác trên nhiều máy trong một mạng máy tính.

Trong mô hình cơ sở dữ liệu phân tán, bản thân cơ sở dữ liệu có ở trên nhiều máytính khác nhau Như vậy, đặc trưng nổi bật nhất của cơ sở dữ liệu phân tán là cácCSDL được phân bố trên nhiều máy tính khác nhau trong một mạng máy tính và cóliên đới về mặt logic Tuy nhiên, việc làm rõ thế nào là một CSDLPT có liên đới logic

và một tập hợp các CSDL rời rạc vẫn còn tương đối khó khăn Hiện tại, vẫn chưa tồntại một định nghĩa rõ ràng về các liên đới logic trong CSDLPT, nhưng một định nghĩađược chấp nhận phổ biến như sau:

Liên đới logic: Toàn bộ dữ liệu của CSDLPT có một số các thuộc tính ràng buộc

chúng với nhau, điều này giúp chúng ta có thể phân biệt một CSDL phân tán với một tập hợp CSDL cục bộ hoặc các tập tin lưu trữ tại các vị trí khác nhau trong một mạng máy tính.

Hệ CSDL phân tán không đơn thuần là tập hợp các tệp dữ liệu đơn lẻ phân bố rờirạc trong mạng máy tính Để hình thành một hệ CSDL phân tán, cần có một cấu trúcgiao diện chung giữa các tệp dữ liệu này để có thể xây dựng một cơ chế truy cập lẫnnhau giữa các tệp dữ liệu

Ví dụ: CSDL quan hệ thường được tổ chức và biểu diễn dưới dạng các bảng.Việc phân mảnh một quan hệ thành nhiều quan hệ con khác nhau để lưu trữ trên nhiềumáy trạm trong một mạng máy tính thường được thực hiện theo cách phân mảnh theochiều dọc hoặc theo chiều ngang

Cụ thể: cho quan hệ PROJ = {PNO, BUDGET, PNAME, LOG}; quan hệ PROJ

có thể tách thành hai quan hệ PROJ1 = {PNO, BUDGET} và quan hệ PROJ2 = {PNO,PNAME, LOG} và hai quan hệ này có thể được lưu trữ ở hai máy trạm khác nhau

11

Trang 12

Giả sử quan hệ PROJ có dữ liệu như sau.

PNOP1P2P3P4Vậy trong CSDLPT quan hệ PROJ sẽ được lưu trữ dưới dạng hai quan hệ PROJ1

và PROJ2

Cùng với sự phát triển của các cấu trúc tổ chức kinh tế xã hội, trong đó các cơquan tổ chức thường hoạt động phân tán trong một phạm vi rộng, tầm quốc gia hoặctoàn cầu, các thiết kế và cài đặt hệ CSDL phân tán là phù hợp và đáp ứng mọi nhu cầutruy xuất dữ liệu Sự phát triển mạnh của công nghệ phần cứng, mạng truyền thôngcũng đảm bảo cho các hệ thống sử dụng hệ CSDL phân tán có tính tin cậy và tính sẵnsàng cao, giảm chi phí truyền thông và đảm bảo hiệu suất công việc

Hệ quản trị CSDL là một tập hợp các chương trình cho phép người dùng địnhnghĩa, tạo lập, bảo trì các CSDL và cung cấp các truy cập có điều khiển đến các CSDLnày Mục đích chính của một hệ CSDL là cung cấp cho người dùng một cách nhìn trừutượng về dữ liệu Điều đó có nghĩa là hệ thống che dấu những chi tiết phức tạp về cáchthức dữ liệu được lưu trữ và bảo trì Hệ CSDL phân tán cũng đòi hỏi một Hệ quản trịCSDL phân tán có những đặc điểm riêng biệt

Hệ quản trị cơ sở dữ liệu phân tán: Hệ quản trị CSDL phân tán cung cấp công

cụ như tạo lập và quản lý CSDL phân tán Hệ quản trị CSDL phân tán có chức năng

hỗ trợ việc tạo và bảo trì CSDL phân tán, chúng có các thành phần tương tự như một

hệ quản trị CSDL tập trung và các thành phần hỗ trợ trong việc chuyển tải dữ liệu đến các trạm và ngược lại.

12

Trang 13

Các thành phần sau đây đòi hỏi một Hệ quản trị CSDL phân tán thương mại phảicó:

- Quản trị dữ liệu (database management): DBM

- Truyền thông dữ liệu (data communication): DC

- Từ điển dữ liệu (data dictionary): DD dùng để mô tả thông tin về sự phân tán của dữ liệu trên mạng

- Cơ sở dữ liệu phân tán (distributed database): DDB

Hệ quản trị CSDL phân tán sử dụng nhiều kiến trúc lưu trữ phân tán khác nhau,

có thể phân thành một số loại chính như sau:

Cơ sở dữ liệu phân tán thuần nhất:

Một CSDLPT được coi là thuần nhất nếu thỏa mãn tính chất sau: tất cả các nút(các máy tính trạm của một mạng máy tính dùng để lưu trữ toàn bộ CSDLPT) cùng sửdụng một loại hệ quản trị CSDL

CSDLPT thuần nhất thường được xây dựng bằng cách chia một CSDL thành mộttập CSDL cục bộ Phương phức xử lý trong CSDLPT thuần nhất thuận lợi cho việctăng trưởng, mở rộng CSDL và cho phép nâng cao hiệu năng xử lý của toàn hệ thống

Cơ sở dữ liệu phân tán hỗn tạp:

Ngược lại với CSDLPT thuần nhất, trong CSDLPT hỗn tạp, các nút có thể thựchiện trên các hệ quản trị CSDL khác nhau CSDLPT hỗn tạp thường xảy ra khi CSDLmới được xây dựng từ tập hợp các nút mạng đã cài đặt CSDL riêng Khi đó, thay vìxây dựng lại các CSDL cục bộ, hệ thống mới được xây dựng bằng cách tích hợp luôncác CSDL cục bộ đã có

2 Các đặc trưng của cơ sở dữ liệu phân tán

CSDL phân tán không đơn giản là sự thực hiện phân tán của các CSDL tập trung,bởi vì chúng cho phép thiết kế các đặc trưng khác với CSDL tập trung truyền thống.Các đặc điểm tiêu biểu của CSDL truyền thống gồm: Điều khiển tập trung, độc lập dữliệu, giảm dư thừa dữ liệu, biệt lập và bảo mật dữ liệu Những đặc điểm này trongCSDLPT có sự thay đổi đáng kể, tạo ra một hướng đi mới trong việc xây dựng cácHTTT trên CSDLPT

Trong CSDL tập trung: Khả năng điều khiển tập trung trên toàn nguồn tài nguyênthông tin của tổ chức, được xem là động cơ mạnh nhất cho việc ra đời CSDL Chúngđược phát triển như là sự tiến hoá của hệ thống thông tin mà trong đó mỗi ứng dụng cócác tập tin riêng của nó

Trong CSDL phân tán: Ý niệm về điều khiển tập trung ít được nhấn mạnh hơn,điều này phụ thuộc vào kiến trúc của CSDL phân tán Kiến trúc của CSDLPT đượctrình bay chi tiết hơn ở phần tiếp theo, tuy nhiên ở đây, chúng ta có thể nhận định các

13

Trang 14

CSDLPT được xây dựng dựa vào kiến trúc client/server đặc biệt là kiến trúc client/single-server sẽ có mức độ điều khiển tập trung cao hơn các kiến trúc khác, ví

multi-dụ như kiến trúc CSDLPT ngang hàng (peer-to-peer)

Trong CSDLPT, việc trong suốt phân tán sẽ dựa trên các phương pháp để làm ẩncác kỹ thuật rời rạc hóa dữ liệu được sử dụng Do đó, trong suốt CSDLPT được chiathành các vấn đề nhỏ hơn, bao gồm: trong suốt phân đoạn, trong suốt về vị trí, trongsuốt ánh xạ địa phương, trong suốt nhân bản.Các kỹ thuật trong suốt CSDLPT khôngphải là trọng tâm trong nghiên cứu này, nên tác giả không trình bày một các cụ thểtrong báo cáo Các kỹ thuật này có thể được tìm thấy trong các tài liệu tham khảo đikèm với báo cáo

Trong CSDL truyền thống, dữ liệu dư thừa được giảm đến mức tối thiểu bởi hai

lý do: Sự không tương thích giữa nhiều bản sao của cùng một tập dữ liệu Tiết kiệmkhông gian lưu trữ bằng cách loại bỏ các dư thừa Việc giảm dư thừa dữ liệu có thể đạtđược bằng cách chia sẻ dữ liệu cho phép nhiều ứng dụng truy cập cùng các bản tin vàbản ghi

Trong CSDL phân tán, việc giảm dư thừa phức tạp hơn vì ngoài hai lý do trêncòn nhiều lý do để giảm dư thừa như: Hoạt động của các trình ứng dụng có thể đượctăng lên khi dữ liệu được sao lại tất cả các vị trí nơi trình ứng dụng cần nó Tínhthường trực của hệ thống sẽ tăng lên bởi vì khi có lỗi xảy ra ở một trạm nào đó sẽkhông dừng việc thực hiện các ứng dụng của trạm khác nếu dữ liệu đã được sao chéplại

Hệ quản trị CSDL phân tán cải thiện độ tin cậy qua các giao dịch phân tán vì cácthành phần được nhân bản hạn chế được các vị trí lỗi riêng lẻ Lỗi của trạm riêng, hoặclỗi của truyền thông làm cho một hoặc nhiều trạm mất liên lạc, không đủ để phá vỡtoàn bộ hệ thống Trong trường hợp CSDL phân tán, điều này nghĩa là một số dữ liệukhông thể truy nhập được, nhưng nếu biết cách hỗ trợ cho các giao dịch phân tán vàcác giao thức ứng dụng thì người sử dụng vẫn có thể truy nhập được tới phần kháctrong CSDL phân tán

Hiệu năng của CSDL phân tán được nâng cao dựa trên hai đặc điểm:

Trang 15

Hệ quản trị CSDL PT có khả năng phân mảnh DSDL khái niệm và cho phép cụ

bộ hóa dữ liệu Phương hthức này có hai ưu điểm nổi bật Thứ nhất, mỗi trạm chỉ xử lýmột phần CSDL, sự tranh chấp về CPU và các dịch vụ vào/ra không nghiêm trọng nhưtrong hệ CSDL tập trung Thứ hai, tính cụ bộ làm giảm trễ truy nhập từ xa thường gặptrên các mạng diện rộng

Tính song song của các hệ thống phân tán có thể được khai thác để thực hiệnsong song liên truy vấn và truy vấn nội bộ Liên truy vấn song song là khả năng thựchiện nhiều truy vấn tại cùng thời điểm, còn nội truy vấn song song là phương pháptách một truy vấn đơn thành các truy vấn von và mỗi truy vấn con được thực hiện tạicác trạm khác nhau, truy nhập các phần khác nhau của CSDL phân tán

Trong môi trường phân tán khả năng mở rộng kích thước dữ liệu được thực hiệnrất dễ dàng và hiếm khi cần sửa đổi trong các hệ thống lớn Việc mở rộng thường cóthể được thực hiện bằng cách tăng khả năng lưu trữ và xử lý của mạng Trong một HệCSDL cũng không thể gia tăng năng lực lưu trữ và xử lý một cách tuyến tính, vì điềunày phụ thuộc vào “chi phí” phân tán; chi phí liên quan đến năng lực tính toán và thờigian truyền tải dữ liệu cần thiết khi xử lý phân tán Tuy nhiên, khả năng mở rộng củaCSDL phân tán vẫn lớn hơn rất nhiều so với CSDL tập trung, và có tính kinh tế caohơn

3 Kiến trúc cơ bản của cơ sở dữ liệu phân tán

Sơ đồ này xác định tất cả các dữ liệu sẽ được lưu trữ trong CSDL phân tán Sơ đồtổng thể có thể được định nghĩa một cách chính xác theo cách như trong CSDL khôngphân tán Ở đây sẽ sử dụng mô hình quan hệ để hình thành nên sơ đồ này Sử dụng môhình này, sơ đồ tổng thể bao gồm định nghĩa của một tập các quan hệ tổng thể

15

Trang 16

Mỗi quan hệ tổng thể có thể chia thành một vài phần nhỏ hơn không giao nhauđược gọi là đoạn (fragments) Có nhiều cách khác nhau để thực hiện việc phân chianày Sơ đồ tổng thể mô tả các ánh xạ giữa các quan hệ tổng thể và các đoạn được địnhnghĩa trong sơ đồ phân đoạn Ánh xạ này là một- nhiều Có thể có nhiều đoạn liên kếttới một quan hệ tổng thể, nhưng mỗi đoạn chỉ liên kết tới nhiều nhất là một quan hệtổng thể Các đoạn được chỉ ra bằng tên của quan hệ tổng thể cùng với tên của chỉ mụcđoạn.

Các đoạn là các phần logic của một quan hệ tổng thể được định vị trên một hoặcnhiều vị trí vật lý trên mạng Sơ đồ định vị xác định đoạn nào ở các trạm nào Lưu ýrằng, kiểu ánh xạ được định nghĩa trong sơ đồ định vị quyết định CSDL phân tán là dưthừa hay không Tất cả các đoạn liên kết với cùng một quan hệ tổng thể R và đượcđịnh vị tại cùng một trạm j cấu thành ảnh vật lý của quan hệ tổng thể R tại trạm j Bởivậy, có thể ánh xạ một-một giữa một ảnh vật lý và một cặp (quan hệ tổng thể, trạm).Các ảnh vật lý có thể được chỉ ra bằng tên của một quan hệ tổng thể và một chỉ mụctrạm

Trang 18

Ví dụ: ký hiệu Ri chỉ tới đoạn thứ i của quan hệ tổng thể R (hình 2).

Ký hiệu Rj là ảnh vật lý của quan hệ tổng thể R tại trạm j (hình 2)

Hình 2: Sơ đồ định vị

Do ba mức trên của lược đồ hoàn toàn độc lập với mô hình quản trị dữ liệu củacác HQT CSDL địa phương, nên ở mức thấp hơn, các mô hình vật lý cần được ánh xạthành các đối tượng được quản lý và thực hiện bởi các HQT CSDL địa phương

Sơ đồ ánh xạ địa phương: Ánh xạ các ảnh vật lý tới các đối tượng được các hệquản trị CSDL địa phương thao tác tại các trạm Ánh xạ này phụ thuộc vào các hệquản trị CSDL địa phương Do vậy, trong một hệ thống không đồng nhất, phải có cáckiểu ánh xạ địa phương khác nhau tại các trạm khác nhau

4 Các mô hình xử lý phân tán

Quá trình thiết kế một CSDL bắt đầu với một sự phân tích những thông tin nàocủa thế giới thực CSDL phải lưu trữ và các mối quan hệ giữa các thành phần củanhững thông tin này Thông thường, cấu trúc của CSDL được đặc tả bởi một ngôn ngữđặc biệt hay một tập các ký hiệu thích hợp để biểu thị một thiết kế CSDL

Các hệ quản trị CSDL Client/Server cung cấp kiến trúc hai lớp chức năng Server

và chức năng Client, nhằm tạo ra sự dễ dàng trong việc quản lý tính phức tạp của các

hệ quản trị CSDL hiện đại và tính phức tạp của việc phân tán dữ liệu

Server thực hiện hầu hết các công việc quản lý dữ liệu Nghĩa là tất cả mọi xử lý

và tối ưu hoá truy vấn, quản lý giao dịch và quản lý lưu trữ đều được thực hiện trênServer Client, ngoài ứng dụng và giao diện người sử dụng, có một module hệ quản trịCSDL Client trách nhiệm quản lý dữ liệu và khóa giao dịch được gửi đến Client.Client và Server trao đổi với nhau bởi các câu lệnh SQL Cụ thể hơn, Client chuyểntruy vấn SQL đến Sever, Server sẽ thực hiện và trả lại kết quả cho Client

Trang 19

Loại kiến trúc Client/Server đơn giản chỉ có một Server được truy nhập bởi nhiềuClient, gọi là đa Client-đơn Server Việc quản lý dữ liệu không khác so với CSDL tậptrung CSDL chỉ được lưu trên Server và có phần mềm quản lý nó Tuy nhiên, sự khácbiệt quan trọng so với các hệ thống tập trung là cách thực thi giao dịch và quản lý bộnhớ Cache.

Loại kiến trúc có nhiều Server trong hệ thống được gọi là đa Client- đa Server

Có hai chiến lược quản lý: hoặc Client quản lý kết nối của nó tới Server hoặc Clientchỉ biết Server chủ của nó và liên lạc với các Server khác qua Server chủ khi có yêucầu Chiến lược thứ nhất làm đơn giản cho các Server, nhưng lại gắn thêm nhiều tráchnhiệm cho các máy Client Điều này dẫn đến một hệ thống được gọi là hệ máy khách

tự phục vụ Mặt khác, với chiến lược thứ hai, tập trung vào chức năng quản lý dữ liệutại Server Vì vậy, tính trong suốt của truy nhập dữ liệu được cung cấp tại giao diệnServer

Hình 3: Kiến trúc

khách/chủ 4.2 Các hệ phân tán ngang hàng

Trong các hệ ngang hàng, tổ chức dữ liệu vật lý và tổ chức lưu trữ trên các máykhác nhau có thể khác nhau Điều này có nghĩa là cần phải có một định nghĩa nội tạiriêng cho mỗi vị trí, được, gọi là lược đồ nội tại cục bộ LIS (Local Internal Schema).Lược đồ khái niệm toàn cục mô tả cấu trúc logic của dữ liệu ở mọi vị trí

Dữ liệu trong một CSDL phân tán thường được phân mảnh và nhân bản trên các

vị trí khác nhau Vì vậy cần phải mô tả tổ chức lưu trữ dữ liệu vật lý trên mọi vị trí.Cần bổ sung thêm tầng thứ cấp trong kiến trúc cơ sở dữ liệu 3 mức, đó là lược đồ kháiniệm cục bộ LCS (Local Conceptual Schema) Vì vậy lược đồ khái niệm toàn cục GCS(Global Conceptual Schema) là hợp của các lược đồ khái niệm cục bộ Mức trên cùng

19

Trang 20

là khung nhìn dữ liệu của người sử dụng, lược đồ ngoài ES (External Schema) Người

sử dụng khác nhau có cách nhìn dữ liệu cũng khác nhau Như vậy kiến trúc của hệ cơ

sở dữ liệu phân tán có 3 mức: Có nhiều khung nhìn dữ liệu khác nhau trong mức lược

đồ ngoài, nhưng chỉ có duy nhất một mô hình khái niệm toàn cục và có nhiều mô hìnhkhái niệm cục bộ, ứng với lược đồ trong cục bộ trên mỗi vị trí

Hình 4: Các hệ phân tán ngang

hàng 4.3 Môi trường đa tầng

Trong môi trường tính toán đa tầng, khả năng xử lý hợp tác và xử lý phân tánđược đưa vào, tạo ra mô hình tính toán phân cấp Trong mô hình này, tài nguyên tínhtoán được phân bố theo chiều dọc

Tầng thứ 2 thường bao gồm một máy chủ LAN mạnh đóng vai trò trung gian.Máy chủ mạnh này vừa là một client của một máy tính lớn vừa là server cho các máytrạm làm việc và các máy tính cá nhân nằm ở tầng thứ 3

Hình 5: Môi trường đa tầng

Trang 21

Đã có nhiều mô hình dữ liệu được đề xuất và có thể chia thành 3 nhóm: các môhình logic trên cơ sở đối tượng, các mô hình logic trên cơ sở bản ghi, các mô hình vậtlý.

21

Trang 22

CHƯƠNG 3: CÁC NGUYÊN LÝ CHUNG CỦA TỐI ƯU

HÓA TRUY VẤN CƠ SỞ DỮ LIỆU PHÂN TÁN

1. Mục tiêu chung của bài toán toán truy vấn trong CSDLPT

Mục tiêu của bài toán truy vấn trong môi trường CSDL phân tán là biến đổi câutruy vấn cấp cao trên CSDL phân tán (mà người sử dụng vẫn coi như là CSDL tậptrung) thành một chiến lược thực hiện hiệu quả được diễn tả bằng một ngôn ngữ cấpthấp trên các CSDL cục bộ Giả sử ngôn ngữ cấp cao là phép tính quan hệ, ngôn ngữcấp thấp là một dạng mở rộng của đại số quan hệ đi kèm với các thao tác truyền dữliệu

Xét các quan hệ: EMP (ENO, ENAME, TITLE)

ASG (ENO, PNO, RESP, DUR)

Và câu truy vấn: “Cho biết các nhân viên hiện đang quản lý một dự án”

Câu SQL là: SELECT ENAME

FROM EMP, ASG

AND ASG.RESP = “Manager”

Hai biểu thức tương đương đại số quan hệ do biến đổi từ câu truy vấn trên là:

Với mục tiêu giảm thiểu việc sử dụng tài nguyên nên câu truy vấn thứ hai sẽđược dùng

Nhiệm vụ chính của hệ xử lý truy vấn tập trung là đối với một câu truy vấn đãcho nó phải chọn ra được một câu truy vấn đại số quan hệ tốt nhất trong số các câutruy vấn đại số tương đương Bởi vì đây là một bài toán phức tạp về mặt tính toán khi

số lượng các quan hệ lớn, nên nói chung nó thường được đưa về yều cầu chọn một lờigiải tối ưu

Trong quan hệ phân tán, đại số quan hệ không đủ để diễn tả các chiến lược thựcthi Nó phải được bổ sung thêm các phép tính toán trao đổi dữ liệu giữa các vị trí Bêncạnh chọn thứ tự cho các phép toán đại số quan hệ, để XLTV phân tán cũng phải chọncác vị trí tốt nhất để xử lý dữ liệu và có thể cả cách biến đổi dữ liệu Do những yêu cầutrên mà không gian lời gian tăng lên làm cho việc XLTV phân tán khó hơn rất nhiều

2. Giới thiệu về xử lý truy vấn

Chức năng chính của một bộ xử lý câu truy vấn là biến đổi một câu truy vấn củangười sử dụng ở mức cao thành một câu truy vấn tương đương ở mức thấp hơn Phépbiến đổi phải đúng đăng và hiệu quả Mỗi cách biến đổi dẫn đến việc sử dụng tài

Trang 23

nguyên máy tính khác nhau nên vấn đề đặt ra là lựa chọn phương án dùng tài nguyên ítnhất Trong một hệ phân tán, sử dụng các phép đại số quan hệ là không đủ biểu diễncác chiến lượng thực thi Nó phải được bổ sung các phép toán truyền dữ liệu giữa cáctrạm Ngoài việc chọn thứ tự các phép toán đại số quan hệ, bộ xử lý câu truy vấn phântán còn phải chọn các trạm tốt nhất để xử lý dữ liệu.

Các mục tiêu của xử lý câu truy vấn.

Bộ xử lý truy vấn có nhiệm vụ phân tích, biến đổi các câu truy vấn cấp cao (ởdạng các phép tính quan hệ) thành các câu truy vấn tương đương ở cấp thấp hơn

Hình 6: Mô tả bộ xử lý truy vấn

Các giai đoạn xử lý câu truy vấn:

Xử lý truy vấn gồm các tầng: phân rã truy vấn, cục bộ hóa dữ liệu, tối ưu hóatruy vấn toàn cục và tối ưu hóa truy vấn cục bộ

23

Trang 24

Hình 7: Mô tả các giai đoạn trong xử lý truy vấn

3. Các giai đoạn trong xử lý truy vấn CSDLPT

3.1 Phân rã câu truy vấn

Phân rã câu truy vấn là biến đổi một câu truy vấn các phép tính quan hệ thànhcâu truy vấn đại số trên các quan hệ tổng thể Cả hai câu truy vấn vào và ra đều trêncác quan hệ tổng thể và không quan tâm đến tính phân tán của dữ liệu Vì vậy, phân rãcâu truy vấn là chung cho cả quan hệ tập trung và phân tán Trong phần này, giả sử câutruy vấn vào là đúng đắn (chuẩn) Khi việc phân rã được thực hiện xong câu truy vấn

ra là chuẩn và tránh được các công việc dư thừa

Giai đoạn này chia làm 4 bước [3] :

- Chuẩn hoá: Đưa câu truy vấn về một trong hai dạng chuẩn: dạng hội (˄) của những phép tuyển (˅) và dạng tuyển (˅) của những phép hội (˄)

- Phân tích: Bước phân tích câu truy vấn cho phép loại bỏ những câu truy vấn đã được chuẩn hóa nhưng sai kiểu hoặc không đúng ngữ pháp

- Loại bỏ dư thừa: Điều kiện trong câu truy vấn có thể chứa những tân từ dư thừa

và dẫn đến công việc dư thừa Nó có thể được loại bỏ bằng cách đơn giản hóa điềukiện với các luật lũy đẳng đã biết

Trang 25

- Viết lại truy vấn: Bước cuối cùng trong phân rã truy vấn là viết lại câu truy vấndưới dạng đại số quan hệ Bước này có thể được chia thành hai bước nhỏ hơn như sau:(2)Biến đổi trực tiếp câu truy vấn phép tính quan hệ sang đại số quan hệ (2) Cấu trúc lại câu truy vấn đại số quan hệ để cải tiến hiệu năng.

3.2 Cục bộ dữ liệu

Như đã biết, tầng cục bộ dữ liệu biến đổi một câu truy vấn đại số trên các quan

hệ tổng thể, thành một câu truy vấn đại số được hiển thị trên các phân đoạn vật lý Việcđịnh vị sử dụng thông tin được lưu trữ trên lược đồ phân mảnh Chương trình đại sốquan hệ xây dựng lại quan hệ tổng thể từ các phân đoạn của nó gọi là chương trìnhđịnh vị Để đơn giản, trong phần này không xét đến sự nhân bản của các đoạn dữ liệu,mặc dù điều này có thể cải tiến hiệu năng Sự nhân bản sẽ được xét trong phần sau.Một giải pháp tự nhiên để định vị một câu truy vấn phân tán là sinh ra một câutruy vấn trong đó mỗi quan hệ tổng thể được thay thế bởi chương trình định vị của nó.Cách này có thể được xem như việc thay thế các nút lá của cây đại số quan hệ của câutruy vấn phân tán bởi các cây con tương ứng với các chương trình định vị Nói chung,cách tiếp cận này không hiệu quả vì câu truy vấn ban đầu vẫn có thể cấu trúc lại vàđơn giản hoá Trong phần này, với mỗi kiểu phân đoạn sẽ có các kỹ thuật rút gọn đểsinh ra các câu truy vấn được tối ưu và đơn giản hơn

- Rút gọn cho việc phân đoạn ngang nguyên thủy:

- Rút gọn cho phân đoạn dọc

- Rút gọn phân đoạn gián tiếp

- Rút gọn phân đoạn hỗn hợp

3.3 Tối ưu hóa toàn cục (tối ưu hóa truy vấn phân tán)

Bộ tối ưu được xem là cấu thành bởi ba thành phần: không gian tìm kiếm (searchspace), mô hình chi phí (cost model) và chiến lược tìm kiếm (search space)

Hình 8: Mô hình tối ưu hóa truy vấn

25

Trang 26

Không gian tìm kiếm:

Không gian tìm kiếm được xem là tập hợp của các chiến lược phương án thực thitruy vấn khác nhau Để nêu bật các đặc trưng của bộ tối ưu hóa, chúng ta tập trung vàocác cây kết nối, là cây toán tử với các phép toán nối hoặc tích Descartes

Với N quan hệ, ta có O(N!) cây kết nối tương đương Việc đánh giá trong mộtkhông gian tìm kiếm lớn có thể mất nhiều thời gian, có khi còn lớn hơn cả thời gianthực thi thực sự Trong cây tuyến tính, kích thước của không gian tìm kiếm được rútgọn lại thành O(2N)

Chiến lược tìm kiếm:

Chiến lược tìm kiếm hay được sử dụng là quy hoạch động, với tính chất đơnđịnh Các chiến lược mà xây dựng các phương án thực thi bắt đầu từ các quan hệ cơ

sở, nối thêm nhiều quan hệ tại mỗi bước cho đến khi thu được các phương án khả thi.Chiến lược quy hoạch động xây dựng phương án khả thi theo chiều rộng Còn chiếnlược tham lam thì lại xây dựng cây theo chiều sâu Các chiến lược vét cạn chỉ đảm bảotìm ra được các phương án khả thi với một chi phí chấp nhận được khi số quan hệtrong câu truy vấn không lớn

Mô hình chi phí:

Chi phí của một chiến lược thực hiện phân tán có thể được biểu diễn theo tổngchi phí (total cost) hoặc theo thời gian trả lời Tổng chi phí là tổng của tất cả các thànhphần chi phí, trong khi thời gian trả lời chỉ tính từ lúc bắt đầu đến lúc kết thúc câu truyvấn

Công thức tính tổng chi phí:

Trong công thức trên, hai thành phần chi phí đầu là chi phí địa phương, hai thànhphần sau là chi phí truyền thông Chi phí truyền thông để chuyển #bytes dữ liệu từtrạm này đến trạm khác đươc giả thiết là một hàm tuyến tính của biến #bytes

Khi trả lời câu truy vấn là hàm mục tiêu của bộ tối ưu thì các xử lý địa phươngsong song và truyền thông song song phải được xét Công thức tổng quát tính thờigian trả lời (response time) được tính như sau:

Trong đó, seq_#x (x có thể là các lệnh CPU, I/O, các thông báo, các bytes) là sốlớn nhất của x phải được thực hiện tuần tự đối với việc thực thi câu truy vấn

Trang 27

4. Các đặc trưng về xử lý truy vấn trong CSDLPT:

Rất khó để có thể ước lượng và đánh giá các phương thức xử lý truy vấn khácnhau dù thực hiện ở môi trường CSDLTT hay CSDLPT, bởi vì các phương thức nàykhác nhau ở nhiều mặt Do đó, một số đặc trưng về xử lý truy vấn trong CSDLPTđược xây dựng như một nền tảng cơ bản trong so sánh xử lý truy vấn Trong các đặctrưng này, có một số đặc trưng trùng với xử lý truy vấn trong CSDLTT nhưng cũng cómột số đặc trưng chỉ tồn tại trong xử lý truy vấn trên CSDLPT

Ngôn ngữ dùng để xây dựng các truy vấn CSDL thường được thể hiện trong bốicảnh của cơ sở dữ liệu quan hệ, một dạng thể hiện ở mức khái quát cao, và có thể cónhiều cách để phân rã thành các câu truy vấn ở dạng đại số quan hệ khác nhau Bêncạnh đó, trong CSDLPT, các trạm có thể sử dụng các kiến trúc hệ quản trị cơ sở dữliệu khác nhau, nên tồn tại nhiều phướng thức ánh xạ từ ngôn ngữ thể hiện truy vấnđầu vào và ngôn ngữ thể hiện truy vấn được thực sự thực hiện ở đầu ra

Sự khác biệt giữa các ngôn ngữ thể hiện tạo ra nhiều khó khăn trong việc so sánhcác phương thức tối ưu hóa truy vấn trong CSDLPT

Tối ưu hóa được hiểu là việc lựa chọn một điểm tốt nhất trong không gian giảipháp cần tìm kiếm Phương pháp trực tiếp nhất để giải quyết bài toán tối ưu là tìmkiếm toàn bộ, trong đó mọi khả năng trong không gian tìm kiếm đều được ước lượng

về mặt chi phí và so sánh với phần còn lại để tìm được giải pháp tốt nhất Cách tiếpcận này có nhược điểm rất lớn khi không gian tìm kiếm, hoặc không gian phân đoạntrong CSDLPT là tương đối lớn hoặc rất lớn

Để hạn chế những bất lợi của phương pháp tìm kiếm toàn bộ, những cách tiếpcận khác như chiến lược tiếp cận ngẫu nhiên, ví dụ thuật toán lặp cải tiến (iterativeimprovement) hay simulated annealing được đề suất sử dụng Nhưng thuật toán nàyhướng đến việc tìm kiếm một giải pháp tốt nhưng chưa chắc là một giải pháp tối ưu,nhưng chi phí tìm kiếm có thể thấp hơn nhiều xét về bộ nhớ hoặc thời gian thực hiện.Một phương hướng tiếp cận khác là sử dụng các giải thuật gần đúng (heuristic),những giải thuật này giới hạn không gian tìm kiếm, trong đó chỉ một số không giankhả thi cao được xem xét Trong CSDLPT, phương pháp này đặc biệt có ý nghĩa khi

nó cho phép thay thế một phép toán kết nối bằng một phép toán “bán kết nối”(semijoin) mà nhờ đó có thể cực tiểu hóa việc trao đổi dữ liệu

4.3 Thời gian tối ưu hóa (optimization timing)

Việc tối ưu hóa truy vấn có thể được thực hiện ở nhiều thời điểm khác nhau sovới thời điểm và câu truy vấn đó thực sự được xử lý Tối ưu hóa có thể được thực hiệntĩnh (statically) trước khi thực hiện truy vấn hoặc thực hiện động (dynamically) songsong với thời gian thực hiện truy vấn

27

Trang 28

Tối ưu hóa tĩnh được thực hiện tại giai đoạn biên dịch câu truy vấn Do do, khithực hiện một truy vấn nhiều lần, thời gian tối ưu hóa có thể được giảm trừ dần, tỷ lệnghịch với số lần truy vấn được sử dụng Trong hướng tiếp cận này, nếu kích thướckhông gian tìm kiếm chỉ được biết khi thực hiện truy vấn, việc ước lượng sẽ phải dựatrên các dữ liệu thống kê về CSDL, do đó, lời giải của bài toán có thể là một lựa chọntối ưu cục bộ.

Tối ưu hóa động được thực thi tại thời điểm câu truy vấn được xử lý Trong cáchtiếp cận này, tham số dùng để tối ưu hóa được ước lượng trực tiếp và các dữ liệu thống

kê tĩnh ko còn cần thiết Cách tiếp cận này sẽ hạn chế những lựa chọn xấu, khi sử dụng

dữ liệu thống kê tĩnh Tuy nhiên, bất lợi lớn của nó là các yêu cầu truy vấn được tối ưuhóa liên tục, do đó với những yêu cầu lớn/ đắt đỏ (expensive) thì thời gian tối ưu hóa

sẽ cao

Phương thức kết hợp (hybrid) thường tận dụng ưu thế của các tối ưu hóa tínhtrong đó một số trường hợp truy vấn sẽ được tối ưu hóa động Thông thường các truyvấn sẽ được tối ưu hóa động khi dữ liệu thống kê về CSDL có sự sai khác lớn với dữliệu thực về CSDL tại thời điểm thực hiện

Cả hai phương pháp tiếp cận tối ưu hóa tĩnh và tối ưu hóa động đều có sử dụngthông tin thống kê về CSDL Thông tin này phụ thuộc và phương thức phân đoạn, tậphợp phân đoạn, kích thước đoạn và số lượng các giá trị sao lưu cho các thuộc tính…Đểhạn chế lỗi, các lược đồ chi tiết về giá trị thuộc tính được sử dụng như một phần mởrộng của hệ thống quản lý chi phí Các lược đồ này được cập nhật thường xuyên.Trong phương thức tối ưu hóa tĩnh, sự thay đổi đối trong các dữ liệu thông kê cóthể ảnh hưởng đến quá trình tối ưu hóa lại (reoptimization) các câu truy vấn

Khi tối ưu hóa tĩnh được lựa chọn, việc xử lý tối ưu hóa có thể được thực hiện tậptrung hoặc thực hiện phân tán

Trong mô hình tối ưu hóa tập trung, một đơn bị xử lý sẽ được lựa chọn để thựchiện việc tối ưu hóa Tuy nhiên, việc tối ưu hóa nên được phân chia và thực hiện trênnhiều thành phần trong toàn bộ hệ thống, cách tiếp cận này được goi là tối ưu hóa phântán Tối ưu hóa tập trung được cài đặt một cách đơn giản, tuy nhiên mô hình này đòihỏi phải xây dựng một hệ thống thông tin đầy đủ về toàn bộ CSDLPT, trong khi đó tối

ưu hóa phân tán chỉ đòi hỏi các thông tin tại từng địa phương

Mô hình kết hợp có thể được sử dụng, trong đó một số trạm thực hiện tối ưu hóacác truy vấn chính, trong đó các trạm còn lại có thể thực hiện các tối ưu hóa cục bộ, ví

dụ như giải thuật System R* sử dụng tiếp cận kết hợp

Kiến trúc mạng (network topology) được sử dụng nhiều trong xử lý truy vấnphân tán Với mạng diện rộng, hàm giá trị được cực tiểu hóa có thể giới hạn trong việc

Trang 29

cực tiểu hóa chi phí truyền thông (communication cost) vì đây là yếu tố chi phối chính.Giả thiết này sẽ đơn giản hóa việc tối ưu hóa truy vấn phân tán, trong đó tối ưu hóađược chia thành hai vấn đề riêng biệt: lựa chọn chiến lược thực thi toàn cục dựa trênviệc trao đổi giữa các trạm, và lựa chọn chiến lược thực thi cục bộ dựa trên thuật toán

xử lý truy vấn cục bộ

Trong mạng nội bộ (LAN), chi phí truyền thông được so sánh với chi phí vào ra(I/O cost) Khi đó, xu hướng sử lý song song vẫn được áp dụng ngay cả khi chi phítruyền thông tăng

Trong hệ thống mạng khách/chủ (client/server), các máy trạm được sử dụng đểthực hiện các hoạt động xử lý trong quản lý cơ sở dữ liệu thông qua phương thức dịchchuyển dữ liệu (data shipping) Khi đó, vấn đề tối ưu hóa truy vấn trở thành việc giảiquyêt việc lựa chọn phần nào của câu truy vấn được thực hiện trên máy trạm và phầnnào của câu truy vấn được thực hiện trên máy chủ

Một quan hệ phân tán thường được chia thành nhiều phân đoạn bằng các phươngpháp phân đoạn khác nhau Do đó, thực thi các truy vấn phân tán ở mức toàn cục sẽđược ánh xạ thành các truy vấn ở mức vật lý dựa trên quan hệ giữa các phân đoạn bằng

hệ thống dịch quan hệ - phân đoạn (translating relation into fragments), quá trình nàythường được gọi là định vị Khả năng định vị càng tin cậy thì việc tối ưu hóa thực hiệntruy vấn càng cao

Hầu hết các phương thức tối ưu hóa coi tối ưu hóa định vị như một quá trình xử

lý tôi ưu độc lập, tuy nhiên một số phương pháp khác sử dụng một bản sao thông tincác phân đoạn (replicated fragments) tại thời điểm thực thi nhằm giảm thời gian truyềnthông Khi đó, việc tối ưu hóa truy vấn trở nên phức tạp hơn do có thêm nhiều khảnăng tối ưu khá nhau

4.8 Sử dụng toán tử bán kết nối (Use of Semijoins)

Toán tử bán kết nối có đặc tính quan trọng giúp giảm bớt không gian của quan hệkết hợp Khi thành phần chính tác động đến chi phí là thuyền thông, các toán tử bánkết nối được sử dụng phổ biến để cải thiện tốt độ xử lý của phép toán kết nối thôngthường

Tuy nhiên, việc sử dụng toán tử bán kết nối có thể dẫn đến tăng số lượng cácthông điệp cần truyền và thời gian xử lý cục bộ Các thuật toán sơ khai trong CSDLPTnhư SDD-1, được thiết kế cho môi trường phân tán rộng tốc độ thấp thường sử dụngphổ biến toán tử bán kết nối Trong khi đó, các hệ thống ra đời sau, ví dụ R*, xây dựngdựa trên giả thiết mạng có tốc độ cao sẽ không cài đặt toán tử bán kết nối Do đó, một

số thuật toán tối ưu truy vấn đặt vấn đề tối ưu trong lựa chọn sử dụng phép toán kêt nôihay phép toán bán kết nối

29

Ngày đăng: 27/10/2020, 17:29

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w