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

Một số thuật toán tối ưu hóa truy vấn trong cơ sở dữ liệu phân tán

80 474 1

Đ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 80
Dung lượng 1,53 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mục đích của đề tài Nghiên cứu các phương pháp thiết kế cơ sở dữ liệu phân tán, các kỹ thuật tối ưu hóa câu truy vấn trong cơ sở dữ liệu phân tán, cài đặt thử nghiệm một số thuật toán t

Trang 1

LỜI CAM ĐOAN

Tôi xin cam đoan, kết quả của luận văn hoàn toàn là kết quả của tự bản thân tôi tìm hiểu, nghiên cứu Các tài liệu tham khảo được trích dẫn và chú thích đầy đủ

Thái Nguyên, ngày 11 tháng 4 năm 2016

Vũ Đức Mạnh

Trang 2

MỤC LỤC

MỞ ĐẦU 1

1 Lý do chọn đề tài 1

2 Mục đích của đề tài 1

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

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

5 Các kết quả dự kiến đạt được 2

Chương 1: KHÁI QUÁT VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN 3

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

1.1.1 Khái niệm 3

1.1.2 Hệ quản trị cơ sở dữ liệu phân tán 4

1.1.3 Ưu điểm của CSDL phân tán 4

1.1.4 Nhược điểm của CSDL phân tán 5

1.2 Đặc điểm của cơ sở dữ liệu phân tán 5

1.2.1 Chia sẻ tài nguyên 5

1.2.2 Tính mở 6

1.2.3 Khả năng song song 6

1.2.5 Khả năng thứ lỗi 7

1.2.6 Tính trong suốt 7

1.2.7 Đảm bảo tin cậy và nhất quán 7

1.3 Các đặc trưng trong suốt của cơ sở dữ liệu phân tán 7

1.3.1 Trong suốt phân tán 7

1.3.2 Trong suốt giao dịch 8

1.3.3 Trong suốt thất bại 9

1.3.4 Trong suốt thao tác 9

1.3.5 Trong suốt về tính không thuần nhất 9

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

1.5 Các kĩ thuật xây dựng cơ sở dữ liệu phân tán 10

1.5.1 Phân mảnh dữ liệu 11

Trang 3

1.5.1.1 Phương pháp phân mảnh ngang 11

1.5.1.2 Phương pháp phân mảnh dọc 15

1.5.1.3 Phương pháp phân mảnh hỗn hợp 16

1.5.2 Nhân bản dữ liệu 18

1.5.3 Định vị dữ liệu 18

1.6 Kết luận chương 1 19

Chương 2: TỐI ƯU HÓA TRUY VẤN CƠ SỞ DỮ LIỆU PHÂN TÁN 20

2.1 Vấn đề tối ưu hóa xử lý truy vấn 20

2.1.1 Bài toán xử lý truy vấn 20

2.1.2 Các quy tắc biến đổi cây đại số quan hệ 22

2.1.2.1 Tính chất giao hoán của các phép toán hai ngôi 22

2.1.2.3 Tính lũy đẳng của các phép toán đơn ngôi 23

2.1.2.4 Giao hoán phép chọn với phép chiếu 23

2.1.2.5 Giao hoán phép chọn với các phép toán hai ngôi 23

2.1.2.6 Giao hoán phép chiếu với phép toán hai ngôi 23

2.2 Quá trình xử lý truy vấn 23

2.2.1 Phân rã truy vấn 24

2.2.1.1 Chuẩn hóa câu truy vấn 25

2.2.1.2 Phân tích 26

2.2.1.3 Loại bỏ dư thừa 28

2.2.1.4 Viết lại 29

2.2.2 Cục bộ hóa dữ liệu phân tán 31

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

2.2.2.2 Rút gọn cho phân mảnh ngang dẫn xuất 34

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

2.2.2.4 Rút gọn cho phân mảnh hỗn hợp 37

2.2.3 Tối ưu hóa toàn cục 38

2.2.4 Tối ưu hóa cục bộ 38

Trang 4

2.3 Tối ưu hóa truy vấn phân tán 38

2.3.1 Không gian tìm kiếm 39

2.3.2 Chiến lược tìm kiếm 40

2.3.3 Mô hình chi phí 41

2.3.4 Thứ tự kết nối 45

2.4 Các thuật toán tối ưu hóa truy vấn phân tán 47

2.4.1 Thuật toán INGRES phân tán 48

2.4.2 Thuật toán R* 53

2.4.3 Thuật toán DP - ACO 57

2.4.3.1 Thuật toán tối ưu đàn kiến (ACO Metaheuristic)[10] 57

2.4.3.2 Quy hoạch động (DP)[5] 59

2.4.3.3 Kết hợp thuật toán tối ưu đàn kiến và quy hoạch động để tối ưu hóa truy vấn trong CSDL phân tán [5] 60

2.5 Kết luận chương 2 62

Chương 3: ỨNG DỤNG CÁC THUẬT TOÁN TỐI ƯU HÓA TRUY VẤN TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN 63

3.1 Giới thiệu bài toán quản lý nhân sự 63

3.2 Thiết kế cơ sở dữ liệu 63

3.3 Mô hình phân tán CSDL, công cụ, ngôn ngữ lập trình 66

3.4 Cài đặt thuật toán 66

3.5 Kết quả thực nghiệm 67

3.6 Kết luận chương 3 72

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 73

1 Kết luận 73

2 Hướng phát triển của luận văn 73

TÀI LIỆU THAM KHẢO 74

Trang 5

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

2 DBMS (Database Management System) Hệ quản trị cơ sở dữ liệu

3 DDBMS (Distributed Database

Management System) Hệ quản trị cơ sở dữ liệu phân tán

4 DP (Dynamic Programming) Quy hoạch động

5 ACO (Ant Colony Optimization) Tối ưu đàn kiến

7 SSL (Search Space Limit) Giới hạn không gian tìm kiếm

8 CPU (Central Processing Unit ) Bộ xử lý trung tâm

Trang 6

DANH MỤC CÁC HÌNH VẼ

Hình 1.1 Mô hình CSDL phân tán 3

Hình 1.2 Mô hình kiến trúc của CSDL phân tán 10

Hình 1.3 Phân mảnh hỗn hợp 16

Hình 1.4 Cây phân tách của quan hệ 17

Hình 1.5 Tái xây dựng phân mảnh hỗn hợp 18

Hình 2.1 Các giải pháp truy vấn tương đương 22

Hình 2.2 Sơ đồ truy trình xử lý truy vấn 24

Hình 2.3 Đồ thị truy vấn và Đồ thị nối 27

Hình 2.4 Đồ thị truy vấn và Đồ thị nối với câu truy vấn sai ngữ nghĩa 28

Hình 2.5 Cây đại số quan hệ 30

Hình 2.6 Cây đại số quan hệ sau khi tái cấu trúc 31

Hình 2.7 Câu truy vấn gốc 33

Hình 2.8 Câu truy vấn đã rút gọn 33

Hình 2.9 Rút gọn phân mảnh ngang với phép nối 34

Hình 2.10 Rút gọn cho phân mảnh ngang dẫn xuất 36

Hình 2.11 Rút gọn phân mảnh dọc 37

Hình 2.12 Rút gọn phân mảnh hỗn hợp 38

Hình 2.13 Quá trình xử lý truy vấn tối ưu 39

Hình 2.14 Các cây nối 40

Hình 2.15 Đồ thị minh họa tổng chi phí và thời gian trả lời 42

Hình 2.16 Truyền các toán hạng trong phép toán hai ngôi 46

Hình 2.17 Đồ thị nối của truy vấn phân tán 46

Hình 2.18 Đồ thị nối của truy vấn q1 55

Hình 2.19 Các thứ tự kết nối 57

Hình 2.20 Quá trình quyết định đường đi của đàn kiến 58

Hình 3.1 Mối quan hệ giữa các bảng dữ liệu 66

Hình 3.2 Kết quả thực hiện câu truy vấn tại trạm 1 68

Hình 3.3 Kết quả thực hiện câu truy vấn tại trạm 2 69

Hình 3.4 Kết quả thực hiện câu truy vấn tại trạm 3 71

Trang 7

MỞ ĐẦU

1 Lý do chọn đề tài

Sở Giáo dục và Đào tạo (GD&ĐT) tỉnh Yên Bái hiện đang quản lý trực tiếp 9 phòng GD&ĐT, 24 trường Trung học phổ thông, 6 trung tâm, 2 trường chuyên nghiệp, với đội ngũ cán bộ quản lý, giáo viên và nhân viên lên tới hàng trăm nghìn người Hiện nay tất cả các đơn vị trên đều đang sử dụng mạng internet

Do trong một năm học, việc thống kê tình hình nhân sự của Sở GD&ĐT đối với các đơn vị được thực hiện cố định theo định kì đầu, giữa và cuối năm học; tại thời điểm trong năm học, nếu một số đơn vị có sự thay đổi nhân sự hoặc thay đổi thông tin khác thì số liệu tại thời điểm thống kê trước đó tại Sở GD&ĐT sẽ không còn chính xác nữa và để có dữ liệu chính xác thì phải thực hiện qua nhiều bước trung gian, sẽ mất nhiều thời gian Mặt khác, từ thực tế công việc nhiều khi Bộ GD&ĐT hay UBND tỉnh yêu cầu báo cáo đột xuất về tình hình nhân sự thật chính xác thì việc cập nhật sẽ gặp rất nhiều khó khăn và có thể chậm tiến độ

Xuất phát từ thực tế nhu cầu công việc, tôi nhận thấy có thể ứng dụng cơ sở dữ liệu phân tán để giải quyết những khó khăn ở trên; chính vì vậy tôi chọn nghiên cứu

đề tài "Một số thuật toán tối ưu hóa truy vấn trong cơ sở dữ liệu phân tán” làm luận văn tốt nghiệp

2 Mục đích của đề tài

Nghiên cứu các phương pháp thiết kế cơ sở dữ liệu phân tán, các kỹ thuật tối

ưu hóa câu truy vấn trong cơ sở dữ liệu phân tán, cài đặt thử nghiệm một số thuật toán tối ưu hóa câu truy vấn trong cơ sở dữ liệu phân tán, từ đó đưa ra nhận xét, đánh giá ưu điểm, nhược điểm của từng thuật toán tối ưu để có lựa chọn phù hợp với từng bài toán thực tế

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

- Đối tượng nghiên cứu là cơ sở dữ liệu phân tán, các câu truy vấn phân tán, các thuật toán tối ưu hóa và ứng dụng

- Phạm vi nghiên cứu là kỹ thuật đồng bộ và tối ưu truy vấn trong cơ sở dữ liệu

Trang 8

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

- Nghiên cứu lý thuyết: tìm hiểu các nghiên cứu từ các tài liệu trong sách, tạp chí các bài viết trên mạng internet… tổng hợp so sánh để viết thành luận văn;

- Nghiên cứu thực nghiệm: Cài đặt thử nghiệm

5 Các kết quả dự kiến đạt được

- Giới thiệu tổng quan về CSDL phân tán;

- Trình bày phương pháp tối ưu hóa truy vấn;

- Cài đặt thử nghiệm thuật toán tối ưu hóa truy vấn

6 Ý nghĩa khoa học của đề tài

Việc tối ưu hóa trên cơ sở dữ liệu phân tán sẽ giúp cho việc nghiên cứu, khai thác ứng dụng trên hệ thống phân tán, chủ yếu là qua môi trường mạng được thuận lợi và phát triển hơn nhờ những ưu điểm sau:

- Giảm thiểu thời gian xử lý;

- Giảm vùng nhớ trung gian;

- Giảm chi phí truyền thông giữa các trạm;

- Sử dụng ít tài nguyên

7 Bố cục luận văn

Bố cục của luận văn gồm: phần mở đầu, ba chương nội dung và phần kết luận

Chương 1: Khái quát về cơ sở dữ liệu phân tán Giới thiệu tổng quan về cơ sở

dữ liệu phân tán, phân biệt cơ sở dữ liệu tập trung với cơ sở dữ liệu phân tán để thấy được sự khác biệt của hai cơ sở dữ liệu này và lợi ích của cơ sở dữ liệu phân tán; Tìm hiểu các phương pháp thiết kế cơ sở dữ liệu phân tán, tập trung nghiên cứu các

kỹ thuật phân mảnh: phân mảnh ngang, phân mảnh dọc và phân mảnh hỗn hợp

Chương 2: Tối ưu hóa truy vấn cơ sở dữ liệu phân tán Trong chương này sẽ

trình bày chi tiết các bước trong quy trình xử lý câu truy vấn; trình bày các thuật toán tối ưu hóa câu truy vấn cơ sở dữ liệu phân tán như: INGRES phân tán, R*, DP-ACO

Chương 3: Cài đặt thử nghiệm thuật toán: Trình bày mô hình cài đặt hệ thống.

Cài đặt thuật toán INGRES phân tán, R* và so sánh, đánh giá kết quả thực nghiệm cho bài toán tối ưu hóa truy vấn Cuối cùng là kết luận và hướng phát triển của đề tài

Trang 9

Chương 1 KHÁI QUÁT VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN

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

- Tính chất phân tán: Toàn bộ dữ liệu của CSDL phân tán không nằm ở một

nơi mà nằm trên nhiều trạm thuộc mạng máy tính Vì vậy có thể phân biệt một CSDL phân tán với một CSDL tập trung

- Quan hệ logic: Dữ liệu có các tính chất phụ thuộc, ràng buộc lẫn nhau Như

vậy có thể phân biệt một CSDL phân tán với các CSDL địa phương (Local) hoặc các tệp dữ liệu được lưu trữ trên các vị trí khác nhau

Ở mức phần cứng vật lý, những nhân tố chính sau là để phân biệt một hệ CSDL phân tán với hệ CSDL tập trung:

- Có nhiều máy tính được gọi là các trạm hay các nút

- Các trạm này phải được kết nối bởi một kiểu mạng truyền thông để truyền dữ liệu và những câu lệnh giữa các trạm với nhau, như Hình 1.1

Hình 1.1 Mô hình hệ CSDL phân tán

Mạng truyền thông

Trạm 2

Trạm 3 Trạm 4

Trang 10

1.1.2 Hệ quản trị cơ sở dữ liệu phân tán

Hệ quản trị CSDL phân tán (DDBMS) là một hệ thống phần mềm cho phép quản lý các CSDL phân tán (tạo lập và điều khiển các truy nhập cho các hệ CSDL phân tán) và làm cho việc phân tán trở nên trong suốt với người sử dụng [11] DDBMS gồm một tập các chương trình sau đây:

- Các chương trình quản trị dữ liệu phân tán;

- Các chương trình quản trị việc truyền thông dữ liệu;

1.1.3 Ưu điểm của CSDL phân tán

Lợi ích cơ bản nhất của CSDL phân tán là dữ liệu của các CSDL vật lý riêng biệt được tích hợp logic với nhau làm cho nhiều người sử dụng trên mạng có thể truy nhập được

Cho phép quản lý dữ liệu theo nhiều mức trong suốt: DBMS phải được trong suốt phân tán theo nghĩa làm cho người sử dụng không cần biết vị trí của dữ liệu và không cần biết sự phức tạp truy cập qua mạng

Tăng độ tin cậy và khả năng sẵn sàng: Độ tin cậy là khả năng hệ thống đang làm việc (không bị ngừng) tại một thời điểm nào đó, tính sẵn sàng là khả năng hệ thống tiếp tục làm việc trong một khoảng thời gian nào đó Khi CSDL phân tán trên một vài trạm, một trạm có thể có sự cố trong khi các trạm khác vẫn có thể hoạt động hoặc sử dụng các thành phần khác của CSDL, chỉ trên trạm bị sự cố, dữ liệu và ứng dụng không thể truy cập được Để nâng cao độ tin cậy và tính sẵn sàng, có thể áp dụng cơ chế tạo bản sao trên nhiều trạm [2]

Trang 11

Cải thiện hiệu năng: Một DDBMS, phân mảnh CSDL có thể làm cho dữ liệu được lưu trữ tại gần nơi sử dụng nhất Dữ liệu được lưu trữ cục bộ làm giảm cạnh tranh CPU, giảm các phục vụ I/O và giảm tương tranh truy nhập trên mạng Dữ liệu được phân tán tại các trạm nên dung lượng dữ liệu cục bộ sẽ nhỏ hơn, các xử lý giao tác và truy vấn cục bộ sẽ được thực hiện tốt hơn Hơn nữa, trên mỗi trạm có ít các giao tác hơn số giao tác trên CSDL tập trung, vì vậy cũng tăng hiệu suất hệ thống

Dễ dàng mở rộng hệ thống và phân chia tài nguyên: Việc thêm CSDL mới, tăng kích cỡ CSDL hoặc thêm bộ xử lý trong môi trường phân tán là dễ hơn vì cũng chỉ như là thêm các CSDL thành phần

1.1.4 Nhược điểm của CSDL phân tán

- Độ phức tạp thiết kế và cài đặt hệ thống tăng: DDBMS phải bổ sung thêm các chức năng như: Theo dõi dấu vết dữ liệu; xử lý các truy vấn phân tán; quản lý giao dịch phân tán; phục hồi CSDL phân tán; quản lý các bản sao; quản lý thư mục - catalog phân tán;

- Tăng chi phí: Độ phức tạp tăng đồng nghĩa với chi phí cho việc mua sắm và bảo trì cho DDBMS tăng so với CSDL tập trung Hơn nữa, DDBMS còn yêu cầu thêm phần cứng để thiết lập mạng liên kết giữa các trạm làm cho chi phí truyền thông liên tục phát sinh Ngoài ra, còn có thêm chi phí lao động để quản lý và duy trì các CSDL cục bộ và hệ thống mạng

- Bảo mật khó khăn: Trong hệ thống tập trung, việc truy cập dữ liệu có thể được kiểm soát dễ dàng Tuy nhiên, trong DDBMS không chỉ việc truy cập dữ liệu lặp ở nhiều vị trí được kiểm soát mà bản thân mạng cũng phải đảm bảo an toàn

- Kiểm soát tính toàn vẹn khó khăn hơn: CSDL toàn vẹn đề cập đến độ tin cậy

và tính nhất quán của dữ liệu được lưu trữ Tính toàn vẹn thường được thể hiện trong các điều kiện ràng buộc Thực hiện các ràng buộc này thường yêu cầu truy cập lượng lớn dữ liệu định nghĩa các ràng buộc Trong DDBMS, chi phí truyền thông và chi phí

xử lý để thực thi các ràng buộc toàn vẹn cao hơn trong hệ thống tập trung

1.2 Đặc điểm của cơ sở dữ liệu phân tán

1.2.1 Chia sẻ tài nguyên

Việc chia sẻ tài nguyên của hệ phân tán được thực hiện thông qua mạng truyền thông Để chia sẻ tài nguyên một cách có hiệu quả thì mỗi tài nguyên cần được quản

Trang 12

lý bởi một chương trình có giao diện truyền thông, các tài nguyên có thể được truy cập, cập nhật một cách tin cậy và nhất quán Quản lý tài nguyên ở đây là lập kế hoạch dự phòng, đặt tên cho các lớp tài nguyên, cho phép tài nguyên được truy cập

từ nơi này đến nơi khác, ánh xạ lên tài nguyên vào địa chỉ truyền thông,

1.2.2 Tính mở

Tính mở của hệ thống máy tính là dễ dàng mở rộng phần cứng (thêm các thiết

bị ngoại vi, bộ nhớ, các giao diện truyền thông, ) và các phần mềm (các mô hình

hệ điều hành, các giao thức truyền tin, các dịch vụ chung tài nguyên, )

Một hệ phân tán có tính mở là hệ có thể được tạo ra từ nhiều loại phần cứng và phần mềm của nhiều nhà cung cấp khác nhau theo một tiêu chuẩn chung

Tính mở của hệ phân tán được xem xét theo mức độ bổ sung các dịch vụ dùng chung tài nguyên mà không phá hỏng hay nhân đôi các dịch vụ đang tồn tại Tính

mở được hoàn thiện bằng cách xác định hay phân định rõ các giao diện chính của một hệ và làm cho nó tương thích với các nhà phát triển phần mềm

Tính mở của hệ phân tán dựa trên việc cung cấp cơ chế truyền thông giữa các tiến trình và công khai các giao diện dùng để truy cập các tài nguyên chung

1.2.3 Khả năng song song

Hệ phân tán hoạt động trên một mạng truyền thông có nhiều máy tính, mỗi máy có thể có một hay nhiều CPU Trong cùng một thời điểm nếu có N tiến trình cùng tồn tại, ta nói chúng thực hiện đồng thời Việc thực hiện tiến trình theo cơ chế phân chia thời gian (một CPU) hay song song (nhiều CPU)

Khả năng làm việc song song trong hệ phân tán được thực hiện do:

- Nhiều người sử dụng đồng thời đưa ra các lệnh hay tương tác với các chương trình ứng dụng

Nhiều tiến trình Server chạy đồng thời, mỗi tiến trình đáp ứng các yêu cầu từ các tiến trình Client khác

1.2.4 Khả năng mở rộng

Hệ phân tán có khả năng hoạt động tốt và hiệu quả ở nhiều mức khác nhau Một hệ phân tán nhỏ nhất có thể hoạt động chỉ cần hai trạm làm việc và một File Server Các hệ lớn hơn có thể có hàng nghìn máy tính

Trang 13

Khả năng mở rộng được đặc trưng bởi tính không thay đổi phần mềm hệ thống

và phần mềm ứng dụng khi hệ được mở rộng Điều này chỉ đạt được mức độ nào đó với hệ phân tán hiện tại Yêu cầu việc mở rộng không chỉ là sự mở rộng về phần cứng, về mạng mà trải trên các khía cạnh khi thiết kế hệ phân tán

1.2.5 Khả năng thứ lỗi

Việc thiết kế khả năng thứ lỗi của các hệ thống máy tính dựa trên hai giải pháp:

- Dùng khả năng thay thế để đảm bảo sự hoạt động liên tục và hiệu quả

- Dùng các chương trình hồi phục khi xảy ra sự cố

Xây dựng một hệ thống có thể khắc phục sự cố theo cách thứ nhất thì nối hai máy tính với nhau để thực hiện cùng một chương trình, một trong hai máy chạy ở chế độ Standby Giải pháp này tốn kém vì phải nhân đôi phần cứng của hệ thống Một giải pháp để giảm chi phí là các Server riêng lẻ được cung cấp các ứng dụng quan trọng để có thể thay thế nhau khi có sự cố xuất hiện Khi không có các sự cố các Server hoạt động bình thường, khi có sự cố trên một Server nào đó, các ứng dụng Client tự chuyển hướng sang các Server còn lại

Cách hai thì các phần mềm hồi phục được thiết kế sao cho trạng thái dữ liệu hiện thời (trạng thái trước khi xảy ra sự cố) có thể được khôi phục khi lỗi được phát hiện Các hệ phân tán cung cấp khả năng sẵn sàng cao để đối phó với các trường hợp hỏng phần cứng

1.2.6 Tính trong suốt

Tính trong suốt của một hệ phân tán được hiểu là việc che khuất đi các thành phần riêng biệt của hệ thống đối với người sử dụng và những người lập trình ứng dụng

1.2.7 Đảm bảo tin cậy và nhất quán

Hệ thống yêu cầu độ tin cậy cao: Sự bí mật của dữ liệu phải được bảo vệ, các chức năng khôi phục hư hỏng phải được đảm bảo Ngoài ra, yêu cầu của hệ thống

về tính nhất quán cũng rất quan trọng thể hiện trong việc không được có mâu thuẫn trong nội dung dữ liệu

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

1.3.1 Trong suốt phân tán

- Cho phép xử lý dữ liệu trên hệ CSDL phân tán giống như đối với CSDL tập trung

Trang 14

- Người sử dụng không cần biết dữ liệu đã được phân mảnh như thế nào, các bản sao dữ liệu để ở đâu, vị trí vật lý lưu trữ dữ liệu ở đâu

- Trong suốt phân tán thể hiện:

+ Trong suốt vị trí: Người dùng không cần biết về vị trí vật lý của dữ liệu mà

có quyền truy cập đến CSDL tại bất cứ vị trí nào Các thao tác để lấy hoặc cập nhật một dữ liệu từ xa được tự động thực hiện bởi hệ thống tại điểm đưa ra yêu cầu Tính trong suốt về vị trí rất hữu ích, nó cho phép người dùng bỏ qua các bản sao dữ liệu

đã tồn tại ở mỗi vị trí Do đó có thể di chuyển một bản sao dữ liệu từ một vị trí này đến một vị trí khác và cho phép tạo các bản sao mới mà không ảnh hưởng tới các ứng dụng

+ Trong suốt tên: Khi một đối tượng đã được đặt tên thì có thể truy nhập chính xác không cần đặc tả thêm

+ Trong suốt bản sao: Sự nhân bản là quá trình sao chép và duy trì dữ liệu trong hệ CSDL phân tán Cùng một dữ liệu (được lưu trữ vật lý tại một vị trí) có thể

sử dụng được trên nhiều vị trí khác nhau Các bản sao có thể được lưu trữ trên nhiều trạm làm tăng hiệu suất, độ tin cậy và tính sẵn sàng của hệ thống Các ứng dụng có thể truy nhập dữ liệu tại các trạm mà không cần phải truy cập từ xa giảm truyền tải trên mạng lớn Hệ thống cho phép tiếp tục thực hiện nếu như các trạm từ xa có sự

cố Trong suốt bản sao đảm bảo người dùng không biết đó là các bản sao vì dữ liệu luôn được cập nhật và đồng bộ với dữ liệu gốc

+ Trong suốt phân mảnh: Một quan hệ trong CSDL phân tán có thể phân mảnh ngang hoặc phân mảnh dọc nghĩa là được tách thành các bộ dữ liệu hoặc các quan

hệ con và lưu trữ trên nhiều trạm khác nhau Trong suốt phân mảnh cho phép người

sử dụng không cần biết có sự phân mảnh, các truy vấn dữ liệu vẫn được viết như CSDL tập trung

1.3.2 Trong suốt giao dịch

CSDL phân tán cho phép một giao dịch có thể cập nhật, sửa đổi dữ liệu trên các trạm khác nhau Để đảm bảo dữ liệu nhất quán trên toàn hệ thống, các trạm trong giao dịch chỉ ủy thác khi tất cả các trạm đã ủy thác thành công hoặc quay trở lại khi một trạm bị thất bại

Trang 15

1.3.3 Trong suốt thất bại

Đảm bảo tại một trạm của hệ thống bị hỏng thì hệ thống vẫn làm việc bình thường (do cơ chế tạo bản sao hoặc làm việc trên các trạm không bị sự cố) Nếu mạng hoặc hệ thống có sự cố trong khi ủy thác của giao dịch CSDL phân tán thì giao dịch

đó được giải quyết tự động và trong suốt theo nghĩa khi mạng hoặc hệ thống khôi phục thì tất cả các trạm này hoặc là ủy thác hoặc là quay trở lại giao tác đó

1.3.4 Trong suốt thao tác

Cho phép các câu lệnh thao tác dữ liệu đơn giản để truy nhập được các CSDL tại trạm cục bộ hoặc trạm từ xa Các thao tác xử lý dữ liệu từ xa không phức tạp và vẫn đảm bảo giống như khi thao tác dữ liệu trên hệ CSDL không phân tán

1.3.5 Trong suốt về tính không thuần nhất

Cho phép hỗn hợp nhiều DBMS khác nhau với các khả năng trao đổi dữ liệu,

xử lý cập nhật dữ liệu, xử lý giao tác phân tán trên toàn hệ thống

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

Mô hình kiến trúc CSDL phân tán gồm: Lược đồ tổng thể, lược đồ phân mảnh, lược đồ định vị và lược đồ ánh xạ cục bộ (xem Hình 1.2) [2]

- Lược đồ tổng thể: Định nghĩa tất cả các dữ liệu sẽ được lưu trữ trong CSDL phân tán Trong mô hình quan hệ, lược đồ tổng thể bao gồm định nghĩa của các tập quan hệ tổng thể

- Lược đồ phân mảnh: Mỗi quan hệ tổng thể có thể chia thành một vài phần tách biệt nhau được gọi là mảnh (fragments) Có nhiều cách khác nhau để thực hiện việc phân chia này Ánh xạ (một - nhiều) giữa lược đồ tổng thể và các mảnh được định nghĩa trong lược đồ phân mảnh

- Lược đồ định vị: Các mảnh là các phần logic của quan hệ tổng thể được định

vị vật lý trên một hoặc nhiều vị trí trên mạng Lược đồ định vị định nghĩa mảnh nào định vị tại các vị trí nào Kiểu ánh xạ được định nghĩa trong lược đồ định vị quyết định CSDL phân tán là dư thừa hay không

- Lược đồ ánh xạ cục bộ: Ánh xạ các ảnh vật lý và các đối tượng được lưu trữ tại một trạm (tất cả các mảnh của một quan hệ tổng thể trên cùng một vị trí tạo ra một ảnh vật lý)

Trang 16

1.5 Các kĩ thuật xây dựng cơ sở dữ liệu phân tán

Có 3 chiến lược phân tán dữ liệu cơ bản: sao lặp dữ liệu, phân mảnh dữ liệu

và phương pháp hỗn hợp

 Phân mảnh dữ liệu: CSDL được chia thành các mảnh nhỏ liên kết với nhau

(không trùng lặp) Mỗi mảnh dữ liệu được đưa đến các trạm thích hợp để sử dụng

 Sao lặp dữ liệu: CSDL được nhân thành nhiều bản từng phần hoặc đầy đủ

và được đặt ở nhiều trạm trên mạng

 Phương pháp hỗn hợp: CSDL được chia thành nhiều phần: Quan trọng và

không quan trọng Phần ít quan trọng được lưu trữ một nơi, phần quan trọng được

lưu trữ ở nhiều nơi khác nhau

Lược đồ tổng thể

Lược đồ phân mảnh

Lược đồ định vị

Lược đồ ánh

xạ cục bộ n

DBMS n

CSDL cục bộ Site n

Hình 1.2 Mô hình kiến trúc của cơ sở dữ liệu phân tán

……

Trang 17

1.5.1 Phân mảnh dữ liệu

Sự phân mảnh là chia dữ liệu trong các bảng dữ liệu thành các bộ hoặc các bảng dữ liệu con Có ba kiểu phân mảnh một quan hệ tổng thể: Phân mảnh ngang, phân mảnh dọc và phân mảnh hỗn hợp [2]

Một sự phân mảnh là đúng đắn nếu tuân thủ 3 quy tắc sau:

- Tính đầy đủ: Tất cả dữ liệu của quan hệ tổng thể phải được ánh xạ tới các mảnh, có nghĩa là mỗi phần tử dữ liệu thuộc quan hệ tổng thể phải thuộc một hay nhiều mảnh của nó

- Tính phục hồi: Luôn có thể xây dựng lại được quan hệ tổng thể từ các mảnh

đã có

- Tính tách biệt: Nếu quan hệ R được phân mảnh ngang thành các mảnh Ri(i=1, 2, …, n) và mục dữ liệu dj nằm trong một mảnh Ri thì nó sẽ không nằm trong mảnh Rk (k≠i) Quy tắc này đảm bảo các mảnh phân rã rời nhau Trong trường hợp phân mảnh dọc, khóa chính của quan hệ phải được lặp lại trong tất cả các mảnh Vì vậy, tính tách biệt trong phân mảnh dọc được hiểu không liên quan đến khóa chính của quan hệ

1.5.1.1 Phương pháp phân mảnh ngang

Phân mảnh ngang chính là việc chia quan hệ thành nhiều các nhóm bộ Kết quả của quá trình phân mảnh ngang là các quan hệ con, số lượng quan hệ con phụ thuộc vào điều kiện ràng buộc của các thuộc tính Các bộ trong các quan hệ con là tách biệt nhau Phân mảnh ngang thực chất là phép chọn quan hệ thỏa mãn một biểu thức điều kiện cho trước

Có hai loại phân mảnh ngang:

- Phân mảnh ngang nguyên thủy: Là phân mảnh ngang được thực hiện trên các vị từ của chính quan hệ đó

- Phân mảnh ngang dẫn xuất: Là phân rã một quan hệ dựa trên các vị từ của quan hệ khác

a Phân mảnh ngang nguyên thủy: Được định nghĩa bằng một phép toán chọn

trên các quan hệ đích của một lược đồ của CSDL Vì thế, cho biết quan hệ R, các

Trang 18

mảnh ngang của R là các Ri: Ri = σFi (R), 1 ≤ i ≤ n Trong đó, Fi là biểu thức đại số

quan hệ hội sơ cấp có dạng chuẩn hội

DA2 = σĐịa điểm = “TP HN” (DA)

DA3 = σĐịa điểm ="TP ĐN” (DA)

Từ đây ta chia được các mảnh ngang sau:

b Phân mảnh ngang dẫn xuất

Phân mảnh ngang dẫn xuất được định nghĩa trên một quan hệ thành viên của đường nối dựa theo phép toán chọn trên quan hệ đích của đường nối đó

Trang 19

Như vậy, nếu cho trước một đường nối L, trong đó owner (L) = S và member

(L) = R và các mảnh ngang dẫn xuất của R được định nghĩa: Ri = R Si, 1≤ i ≤ w;

Trong đó w là số lượng các mảnh được định nghĩa trên R, và Si = Fi(S) với Fi

là công thức định nghĩa mảnh ngang nguyên thuỷ Si

Ví dụ 1.2: Xét quan hệ chủ CT (chi trả) và quan hệ thành viên NV (nhân viên)

Đây là mối quan hệ một – nhiều được biểu diễn bằng một đường nối có hướng L1

trỏ từ quan hệ CT (Chi trả) đến quan hệ NV (nhân viên)

Kỹ sư điện Phân tích

Kỹ sư cơ khí Lập trình viên Phân tích hệ thống

Kỹ sư điện

Kỹ sư cơ khí Phân tích hệ thống

Chúng ta có thể nhóm các kỹ sư thành hai nhóm tùy theo lương: Nhóm có

lương từ 3.000 đô la trở lên và nhóm có lương dưới 3.000 đô la Hai mảnh Nhân

viên 1 và Nhân viên 2 được xác định như sau:

Kỹ sư điện Phân tích hệ thống

4.000 3.400 Kết quả phân mảnh ngang dẫn xuất của quan hệ NV như sau:

Trang 20

Kỹ sư cơ khí

E1 E2 E5 E6 E8

Minh Hoàng Hoa Thành Kiên

Kỹ sư điện Phân tích hệ thống Phân tích hệ thống

Kỹ sư điện Phân tích hệ thống

Để thực hiện được phân mảnh ngang dẫn xuất, cần phải có tập các phân hoạch của quan hệ chủ (chẳng hạn: CT1, CT2), quan hệ thành viên NV và tập các vị từ của phép kết nối bằng nhau giữa quan hệ chủ và thành viên (Chẳng hạn CT.Chucvu = NV.Chucvu)

Kiểm định tính đúng đắn

- Tính đầy đủ

+ Phân mảnh ngang nguyên thuỷ: Với điều kiện các vị từ chọn là đầy đủ, phân mảnh thu được cũng đảm bảo là đầy đủ, bởi vì cơ sở của thuật toán phân mảnh là tập các vị từ cực tiểu và đầy đủ, nên tính đầy đủ được bảo đảm với điều kiện không

có sai sót xảy ra

+ Phân mảnh ngang dẫn xuất: Định nghĩa quy tắc đầy đủ như sau:

R là quan hệ thành viên của một đường nối mà chủ nhân là quan hệ S Gọi A

là thuộc tính nối giữa R và S, vậy thì với mỗi bộ t của R, phải có một bộ t’ của S sao cho t.A = t’.A Quy tắc này được gọi là ràng buộc toàn vẹn hay toàn vẹn tham chiếu, bảo đảm rằng mọi bộ trong các mảnh của quan hệ thành viên đều nằm trong quan hệ chủ nhân

- Tính phục hồi

Tái thiết lập một quan hệ toàn cục từ các mảnh được thực hiện bằng toán tử hợp trong cả phân mảnh ngang nguyên thủy lẫn dẫn xuất Vì thế một quan hệ R với phân mảnh Fr = {R1, R2,…,Rm}, ta có: R =  Ri , Ri FR

- Tính tách rời

Với phân mảnh ngang nguyên thuỷ, tính tách rời sẽ được đảm bảo miễn là các

vị từ hội sơ cấp xác định phân mảnh có tính loại trừ tương hỗ (mutually exclusive)

Trang 21

Với phân mảnh dẫn xuất, tính tách rời có thể đảm bảo nếu đồ thị nối thuộc loại đơn giản

1.5.1.2 Phương pháp phân mảnh dọc

a Khái niệm phân mảnh dọc

Cho R là một quan hệ trên tập các thuộc tính  = {A1, A2,…,An} Khi đó phân mảnh dọc quan hệ R sinh ra các mảnh R1, R2, , Rr, sao cho mỗi mảnh là một quan

hệ chứa một tập con các thuộc tính của quan hệ R và khoá của nó, tức là  sẽ được phân mảnh sao cho  = 1 2  3 … k; trong đó Ri là mảnh quan hệ trên các thuộc tính i, i=1 k Mục đích của phân mảnh dọc là phân chia quan hệ R thành tập các quan hệ nhỏ hơn để có nhiều ứng dụng có thể chỉ cần thực hiện trên một mảnh Mảnh tối ưu là mảnh sinh ra một lược đồ phân mảnh cho phép giảm tối thiểu thời gian thực hiện của ứng dụng trên mảnh đó Kí hiệu Ri = ПATTRi R, trong

đó ATTRi là tập con các thuộc tính của R

b Các quy tắc trong phân mảnh dọc

Một phân mảnh dọc là đúng đắn nếu thỏa mãn ba quy tắc sau:

- Tính đầy đủ: Nếu một thuộc tính xuất hiện trong một quan hệ tổng thể thì

nó cũng phải xuất hiện trong một mảnh dọc nào đó

- Tính phục hồi: Cần phải thêm vào mỗi mảnh khoá chính, do đó việc xây dựng lại được là nhờ vào phép kết nối các mảnh dọc theo các thuộc tính chung

- Tính tách biệt: Ít nhất khoá phải được lặp lại trên tất cả các mảnh để đảm bảo cho phép xây dựng lại, nên ở đây không thể xem là rời nhau hoàn toàn được

Ví dụ 1.5: Xét quan hệ sau:

NHANVIEN (MNV, TENNV, CHUCVU, DONVICONGTAC, LUONG)

Ta tách quan hệ NHANVIEN thành hai quan hệ NV1 và NV2 ; trong đó:

NV1 gồm các thuộc tính: MNV, TENNV, CHUCVU;

NV2 gồm các thuộc tính: MNV, TENNV, DONVICONGTAC, LUONG

Hai mảnh NV1 và NV2 được xác định như sau:

NV1 = П MNV, TENNV, CHUCVU NHANVIEN

NV2 = ПMNV, TENNV, DONVICONGTAC, LUONG NHANVIEN

Trang 22

Thuộc tính TENNV lặp lại ở cả hai mảnh, khi xây dựng lại quan hệ NHANVIEN thông qua phép chiếu, thuộc tính này sẽ bị khử

NHANVIEN = NV1 MNV=MNVПMNV, DONVICONGTAC, LUONG NV2

Kiểm tra tính đúng đắn:

- Tính đầy đủ: Luôn được đảm bảo vì mỗi thuộc tính của quan hệ toàn cục

được gán cho một mảnh Tập các thuộc tính của quan hệ toàn cục đúng bằng hợp của các thuộc tính các mảnh thành viên

- Tính khôi phục: Quan hệ toàn cục ban đầu R có thể được khôi phục lại bằng

các phép kết nối bằng nhau trên các thuộc tính khóa, giả sử quan hệ R có phân mảnh dọc FR = {R1, R2, , Rr} và tập các thuộc tính khoá chính K Trong mỗi quan

hệ Ri chứa các thuộc tính khóa K và là các quan hệ đầy đủ Khi đó:

Trang 23

Ví dụ 1.3: Xét quan hệ tổng thể:

NHANVIEN (MNV, TEN, LUONG, THUE, SHQL, SHPHONG)

Tách quan hệ NHANVIEN thành các quan hệ NV1, NV2, NV3, NV4

NV1 = SHPHONG  10 MNV, TEN, SHQL, SHPHONG NHANVIEN

NV2 = 10<SHPHONG 20MNV, TEN, SHQL, SHPHONG NHANVIEN

NV3 =SHPHONG >20 MNV, TEN, SHQL, SHPHONG NHANVIEN

NV4 =MNV, TEN, LUONG, THUE NHANVIEN

Biểu diễn các quan hệ NV1, NV2, NV3, NV4 dưới dạng cây như sau:

Hình 1.4 Cây phân tách của quan hệ Xây dựng lại quan hệ NHANVIEN ta thực hiện như sau:

NHANVIEN =(NV1, NV2, NV3) SHNV=SHNVSHNV, LUONG, THUE NV4

Tính đúng đắn của phân mảnh hỗn hợp được đảm bảo, vì chiến lược phân mảnh này dựa theo phân mảnh ngang và phân mảnh dọc, đảm bảo tính đúng đắn như đã trình bày ở trên Để khôi phục quan hệ toàn cục trong trường hợp phân mảnh hỗn hợp, có thể bắt đầu từ các nút lá của cây phân hoạch và dịch chuyển lên bằng cách thực hiện các phép kết nối và phép hợp (Hình 1.4) Phân mảnh hỗn hợp đầy đủ nếu các mảnh lá và các mảnh trung gian là đầy đủ Tương tự, có thể kiểm tra tính tách biệt của chiến lược phân mảnh hỗn hợp Tính tách biệt được đảm bảo khi các mảnh lá và mảnh trung gian cũng tách biệt

Trang 24

R11 R12 R21 R22 R23

Hình 1.5 Tái xây dựng phân mảnh hỗn hợp

1.5.2 Nhân bản dữ liệu

Các chiến lược nhân bản dữ liệu:

a Nhân bản dữ liệu đầy đủ: Toàn bộ CSDL sẽ được tạo trên tất cả mỗi trạm

Ưu điểm: Điều này sẽ cải thiện tính sẵn sàng cao nhất vì nếu sự cố trên trạm

này thì vẫn có dữ liệu trên trạm khác và cải thiện hiệu năng lấy dữ liệu trên mạng cho các truy vấn toàn bộ vì dữ liệu sẽ được lấy từ các trạm cục bộ

Nhược điểm: Các thao tác cập nhập dữ liệu rất chậm vì phải sao chép, đồng bộ

dữ liệu cho mọi trạm Kỹ thuật điều khiển tương tranh và phục hồi sẽ phức tạp hơn

b Không có nhân bản dữ liệu: Mỗi phân mảnh chỉ được lưu trữ trên một

trạm, phương án này còn được gọi là định vị không dư thừa dữ liệu Trong trường hợp này các phân đoạn phải tách rời nhau để tránh lặp bản ghi giống nhau cho các phân mảnh ngang và phân mảnh hỗn hợp

c Nhân bản dữ liệu từng phần: Một vài phân mảnh có thể được tạo bản sao và có

thể một số phân mảnh sẽ không có bản sao Việc tạo bản sao này rất có tác dụng cho các nhân viên làm việc di động, tại các nơi xa trung tâm dữ liệu, có thể tạo ra bản sao

dữ liệu trên laptop của mình và theo chu kỳ đồng bộ dữ liệu với CSDL trên server

1.5.3 Định vị dữ liệu

Là quá trình gán từng phân đoạn, từng bản sao của phân đoạn cho một trạm cụ thể trong hệ thống phân tán Việc chọn trạm nào và số bản sao phụ thuộc vào yêu cầu hiệu năng và mục tiêu sẵn sàng của hệ thống với các loại giao tác trên các trạm Đối với hệ yêu cầu tính sẵn sàng cao, mọi giao dịch thao tác lấy dữ liệu, giao dịch cập nhật chỉ làm tại một trạm thì nên tổ chức tạo bản sao đầy đủ Nếu các giao dịch thường cập nhật một phần dữ liệu tại một trạm thì các phân đoạn cho phần dữ liệu

đó nên được định vị trên trạm đó

Trang 25

1.6 Kết luận chương 1

CSDL phân tán ngày càng trở nên quan trọng, tính cần thiết ngày càng cao vì nhiều lý do khác nhau, nó có thể được cài đặt trên các mạng máy tính diện rộng và các mạng cục bộ nhỏ Có hai lý do về tổ chức và kỹ thuật đối với sự phát triển CSDL phân tán đó là: CSDL phân tán được xây dựng để khắc phục các hạn chế của CSDL tập trung và nó phù hợp hơn với sự phát triển mở rộng của các cơ cấu tổ chức và vấn đề kinh tế Kỹ thuật CSDL phân tán được mở rộng và phát triển từ kỹ thuật của CSDL truyền thống Trong môi trường mới này, một số vấn đề kỹ thuật đòi hỏi các giải pháp khác và một số giải pháp hoàn toàn mới

Có nhiều cách thiết kế CSDL phân tán, mỗi cách thiết kế có ưu nhược điểm riêng, tùy vào yêu cầu, đặc điểm của từng hệ thống mà áp dụng cho phù hợp Đặc điểm nổi bật nhất của CSDL phân tán là tính trong suốt Tính trong suốt phân tán cung cấp sự độc lập của các chương trình khỏi sự phân tán của CSDL Các mức trong suốt phân tán khác nhau có thể được cung cấp bởi một DDBMS Tại mỗi mức, tính trong suốt làm cho người lập trình ứng dụng không biết được sự phân tán

dữ liệu

Trang 26

Chương 2 TỐI ƯU HÓA TRUY VẤN CƠ SỞ DỮ LIỆU PHÂN TÁN

2.1 Vấn đề tối ưu hóa xử lý truy vấn

2.1.1 Bài toán xử lý truy vấn

Chức năng chính của bộ xử lý truy vấn là chuyển đổi một truy vấn mức cao (phép tính quan hệ) sang một truy vấn tương đương (đại số quan hệ) Quá trình chuyển đổi cùng cho một kết quả như nhau [1] Có nhiều giải pháp chuyển đổi, mỗi giải pháp khác nhau có thể tiêu thụ tài nguyên của mạng máy tính khác nhau Vì vậy, cần phải lựa chọn một giải pháp khi thực hiện sao cho tiêu thụ tài nguyên là tối thiểu

Có hai phương pháp tối ưu cơ bản: Phương pháp biến đổi một câu truy vấn mức cao thành câu truy vấn tương đương ở mức thấp hơn dưới dạng biểu thức đại

số quan hệ và phương pháp chọn lựa trong số các câu truy vấn dạng biểu thức đại

số quan hệ tương đương một biểu thức có chi phí thời gian thực hiện và chi phí sử dụng tài nguyên là ít nhất

Ví dụ 2.1: Xét các quan hệ sau:

NV ( MNV, TênNV, Chức vụ)

PC (MNV, MDA, Nhiệm vụ, Thời gian)

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

Biểu thức truy vấn bằng phép tính quan hệ theo cú pháp của SQL là:

FROM NV, PC

WHERE NV.MNV=PC.MNV AND Nhiệmvụ=”Quảnlý”

Câu truy vấn trên được biểu diễn dưới dạng biểu thức đại số quan hệ như sau:

Trang 27

đại số quan hệ được tiến hành một cách thuận lợi Chức năng chính của bộ xử lý tập trung là lựa chọn phép truy vấn đại số quan hệ tối ưu trong các phép đại số tương đương có chi phí là thấp nhất

Trong môi trường phân tán, các phép đại số quan hệ không đủ để mô tả các giải pháp thực hiện Nó phải được cung cấp thêm các thao tác để chuyển đổi dữ liệu giữa các vị trí Việc lựa chọn thứ tự các thao tác đại số quan hệ, bộ xử lý truy vấn cũng phải lựa chọn các vị trí tốt nhất để xử lý dữ liệu và đường truyền thông mà dữ liệu sẽ lưu chuyển Việc này sẽ làm tăng số các giải pháp cần lựa chọn trong số đó một giải pháp thực hiện Vì vậy, việc xử lý truy vấn phân tán càng trở nên phức tạp hơn

Ví dụ 2.2: Ví dụ này minh họa tầm quan trọng của việc lựa chọn vị trí và cách

truyền dữ liệu của một câu truy vấn đại số Xét câu truy vấn của Ví dụ 2.1:

TênNV (NV MNV (Nhiệmvụ=”Quảnlý”(PC)))

Giả sử rằng các quan hệ NV và PC được phân mảnh ngang như sau:

NV1 = MNV  “E3”(NV) PC1 = MNV  “E3”(PC)

NV2 = MNV > “E3”(NV) PC2 = MNV  “E3”(PC) Các mảnh PC1, PC2, NV1, NV2 theo thứ tự được lưu tại các vị trí 1, 2, 3 và 4 và kết quả được lưu tại vị trí 5 như Hình 2.1

Trang 28

Hình 2.1 Các giải pháp truy vấn tương đương Hai giải pháp A và B thực hiện truy vấn là tương đương Trong đó:

Giải pháp A sử dụng các quan hệ PC và NV được phân mảnh theo cùng một cách để thực hiện song song các phép chọn và phép nối Chiến lược B thì tập trung tất cả các dữ liệu tại vị trí lưu kết quả trước khi xử lý truy vấn

Tối ưu hóa truy vấn là một vấn đề quan trọng trong việc xử lý truy vấn Có nhiều phép biến đổi một truy vấn mức cao trên CSDL phân tán thành nhiều giải pháp thực hiện dưới dạng ngôn ngữ mức thấp, nhưng trong đó chỉ có một giải pháp thực hiện có hiệu quả, tối ưu về chi phí sử dụng tài nguyên của mạng, bao gồm chi phí sử dụng bộ nhớ, thời gian xử lý và thời gian truyền dữ liệu

2.1.2 Các quy tắc biến đổi cây đại số quan hệ

Cho các quan hệ R trên tập các thuộc  = {A1, A2, , An } và S trên tập các thuộc tính  = {B1, B2,, , Bn } Khi đó:

2.1.2.1 Tính chất giao hoán của các phép toán hai ngôi:

- Tích Đề các của quan hệ R và S có tính giao hoán: R x S  S x R

- Kết nối hai quan hệ có tính giao hoán : R  S  S R

- Hợp của hai quan hệ: R  S  S  R

- Qui tắc này không được áp dụng cho hiệu và kết nối nửa

2.1.2.2 Tính kết hợp của các phép toán hai ngôi

Trang 29

2.1.2.3 Tính lũy đẳng của các phép toán đơn ngôi:

- Các phép chiếu liên tiếp trên cùng một quan hệ có thể nhóm lại với nhau Ngược lại một phép chiếu trên nhiều thuộc tính có thể tách ra nhiều phép chiếu liên tiếp nhau Nếu ’’  ’  , khi đó: π’(π’’(R))  π’(R)

- Các phép chọn liên tiếp σpi(Ai) trên cùng một quan hệ, trong đó pi là một vị

từ được áp dụng cho thuộc tính Ai có thể được nhóm lại Ngược lại một phép chọn qua một hội các vị từ có thể được tách ra thành nhiều phép chọn liên tiếp

σp1(A1)(σp2(A2) (R))  σp1(A1) σp2(A2) (R)

2.1.2.4 Giao hoán phép chọn với phép chiếu:

Phép chọn và chiếu trên cùng một quan hệ có thể được giao hoán như sau:

πA1, ,An (σp(Ap) (R))  πA1, ,An (σp(Ap)(πA1, ,An,Ap(R)))

Chú ý rằng nếu Ap là phần tử của {A1, A2,…,An} thì phép chiếu cuối cùng trên {A1, A2,…,An} ở vế phải của hệ thức không có tác dụng

2.1.2.5 Giao hoán phép chọn với các phép toán hai ngôi:

- Phép chọn và tích Đề các: σp(Ai)(R x S)  (σp(Ai)(R)) x S

- Phép chọn và kết nối: σp(Ai)(R p(Aj,Bk) S)  σp(Ai)(R)  p(Aj,Bk) S

- Phép chọn và hợp: σp(Ai)(R  T)  σp(Ai)(R)  σp(Ai)(T)

2.1.2.6 Giao hoán phép chiếu với phép toán hai ngôi

- Phép chiếu và tích Đề Các: Nếu C = A΄ B΄ trong đó A΄  và B΄, thì

πC(R x S)  πA’(R) x πB’(S)

- Phép chiếu và kết nối: πC (R Aj, Bk)S) πA’(R)  Aj, Bk)πB’(S)

Trong đó: Aj  A΄, Bk  B΄ Vì C = A΄  B΄ suy ra Aj ,Bk C

Trang 30

Hình 2.2 Sơ đồ quy trình xử lý truy vấn

2.2.1 Phân rã truy vấn

Phân rã truy vấn là giai đoạn đầu tiên của quá trình xử lý câu truy vấn, thực hiện việc biến đổi câu truy vấn ở dạng ngôn ngữ bậc cao thành câu truy vấn ngôn ngữ bậc thấp thực thi cho kết quả tương đương Đặc trưng của giai đoạn này, khi biến đổi không sử dụng các thông tin về dữ liệu đã được phân tán trên các vị trí Vì

Tối ưu hóa toàn cục

Truy vấn theo mảnh đã tối ưu

Với các phép toán truyền

Tối ưu hóa cục bộ

Truy vấn cục bộ đã tối ưu

Lược đồ toàn cục

Lược đồ mảnh

Số liệu trên các mảnh

Lược đồ cục bộ

Trang 31

thế, phân rã truy vấn đều giống nhau trong cả hệ thống tập trung và phân tán, câu truy vấn sẽ đúng về ngữ nghĩa và đạt chất lượng theo nghĩa là đã loại bỏ các hành động không cần thiết Phân rã truy vấn bao gồm bốn bước liên tiếp: Chuẩn hoá, phân tích, loại bỏ dư thừa, viết lại câu truy vấn

2.2.1.1 Chuẩn hóa câu truy vấn

Mục đích của chuẩn hoá (normalization) là biến đổi câu truy vấn thành một dạng chuẩn để xử lý tiếp Với các ngôn ngữ quan hệ như SQL, biến đổi quan trọng nhất là lượng từ hoá vấn tin (mệnh đề Where), có thể đó là một vị từ phi lượng từ với độ phức tạp nào đó với tất cả các lượng từ cần thiết ( hoặc ) được đặt phía trước Có hai dạng chuẩn có thể cho vị từ, một có thứ bậc cao cho AND () và loại còn lại cho OR ()

- Dạng chuẩn hội (Conjunctive Normal Form) là hội của các tuyển như sau:

(p11  p12 …. p1n)  …  (pm1 pm2 …. pmn) Trong đó pij là một vị từ đơn giản

- Dạng tuyển (Disjunctive Normal Form) ngược với dạng chuẩn hội:

(p11  p12 …. p1n)  …. (pm1 pm2 …. pmn) Trong dạng chuẩn tắc tuyển, câu truy vấn có thể được xử lý như các câu truy vấn con hội độc lập, được nối bằng phép hợp (tương ứng với các tuyển mệnh đề) Dạng chuẩn tuyển ít được dùng vì dẫn đến các vị từ nối và chọn trùng nhau Dạng chuẩn hội hay dùng trong thực tế

Ví dụ 2.3: Tìm tên các nhân viên đang làm việc ở dự án P1 trong thời gian 12 tháng hoặc 24 tháng

Câu truy vấn được diễn tả bằng SQL như sau:

SELECT TênNV

FROM NV, PC

WHERE NV.MNV = PC.MNV

AND PC.MDA = “P 1 ” AND Thời gian =12 OR Thời gian =24

Lượng từ hoá ở dạng chuẩn hội là:

NV.MNV = PC.MNVPC.MDA = “P1”  (Thời gian = 12  Thời gian = 24)

Trang 32

Lượng từ hoá ở dạng chuẩn tuyển là:

(NV.MNV = PC.MNV  PC.MDA = “P1”  Thời gian = 12) 

(NV.MNV = PC.MNV  PC.MDA = “P1”  Thời gian = 24)

Trong dạng chuẩn tuyển, xử lý hai hội độc lập có thể là một công việc thừa nếu các biểu thức con chung không được loại bỏ

- Biểu diễn bằng đồ thị truy vấn:

+ Một nút biểu thị quan hệ kết quả

+ Các nút khác biểu thị cho quan hệ toán hạng

+ Đường nối giữa hai nút không phải là quan hệ kết quả biểu thị cho phép kết nối + Đường mà nút đích là kết quả sẽ biểu thị cho phép chiếu

+ Các nút không phải là kết quả sẽ được gán nhãn là một vị từ chọn hoặc vị từ

tự kết nối (chính nó)

- Đồ thị nối: Một đồ thị con quan trọng của đồ thị truy vấn, chỉ có các nối

Ví dụ 2.4: Cho các quan hệ sau: PC (MaNV, MaDA, NVụ, Tgian)

NV (MaNV, TênNV, CVụ)

DA (MaDA, TênDA, Kphí, Đđiểm)

Trang 33

Câu truy vấn “ Tìm tên, nhiệm vụ của những người có Cvụ = ‘TP’ đã làm việc

ở dự án ‘CAD/CAM’ trong hơn 3 năm” được viết dưới dạng SQL như sau:

Select TênNV

From PC, NV, DA

Where PC.MaNV = NV.MaNV and PC.MaDA=DA.MaDA

and TênDA= ‘CAD/CAM’ and CVụ = ‘TP’ and tgian >36

Ta có các vị từ đơn giản:

p1: PC.MaNV = NV.MaNV p2: PC.MaDA=DA.MaDA

p3: TênDA = ‘CAD/CAM’ p4: CVụ = ‘TP’ p5: Tgian >36

Ta có đồ thị truy vấn và đồ thị nối như Hình 2.3:

Where PC.MaNV = NV.MaNV

and TênDA= ‘CAD/CAM’

and CVụ = ‘TP’ and tgian >36

Ta có đồ thị truy vấn và đồ thị nối như Hình 2.4

Trang 34

Đồ thị truy vấn Đồ thị nối

Hình 2.4 Đồ thị truy vấn và Đồ thị nối với câu truy vấn sai ngữ nghĩa

=> Đồ thị không liên thông Điều này có nghĩa là câu truy vấn này sai ngữ nghĩa

Nhận xét: Câu truy vấn sai ngữ nghĩa nếu đồ thị truy vấn của nó không liên

thông: một hoặc nhiều đồ thị con bị tách rời với đồ thị kết quả

2.2.1.3 Loại bỏ dư thừa

Một câu truy vấn của người sử dụng thường được diễn tả trên một khung nhìn

có thể được bổ sung thêm nhiều vị từ để có được sự tương ứng khung nhìn - quan

hệ, bảo đảm được tính toàn vẹn ngữ nghĩa và bảo mật Thế nhưng lượng từ hoá truy vấn đã được sửa đổi này có thể chứa các vị từ dư thừa, có thể phải khiến lặp lại một

số công việc Một cách làm đơn giản truy vấn là loại bỏ các vị từ thừa

Loại bỏ vị từ dư thừa bằng quy tắc luỹ đẳng:

Where (Not (CVụ = ‘TP’) and (CVụ= ‘TP’ or CVụ= ‘PP’) and

not (CVụ= ‘PP’)) or TênNV= ‘Mai’

Trang 35

áp dụng quy tắc 7: (False  p2) v ( p1 ʌ False) v p3

áp dụng quy tắc 5: False v False v p3 = p3

Tức là: Select CVụ

From NV Where TênNV= ‘Mai’

2.2.1.4 Viết lại

Bước cuối cùng của phân rã câu truy vấn là viết lại câu truy vấn dưới dạng đại

số quan hệ Có thể được chia làm hai bước sau:

- Chuyển đổi câu truy vấn phép tính quan hệ sang đại số quan hệ

- Xây dựng lại câu truy vấn đại số quan hệ để cải tiến hiệu năng

Để cho dễ hiểu, thông thường người ta biểu diễn câu truy vấn đại số quan hệ bởi một cây đại số quan hệ Một cây đại số quan hệ là một cây trong đó một nút lá biểu diễn một quan hệ trong CSDL, còn một nút khác nút lá biểu diễn một quan hệ trung gian sinh bởi các phép toán đại số quan hệ Chuỗi các thao tác từ các nút lá đến nút gốc biểu diễn cho kết quả của câu truy vấn

Biến đổi một câu truy vấn phép tính quan hệ thành một cây đại số quan hệ được thực hiện như sau:

- Các nút lá tương ứng với các quan hệ trong mệnh đề FROM

- Nút gốc được tạo ra như một phép chiếu chứa các thuộc tính kết quả Trong SQL, nút gốc được tìm thấy trong mệnh đề SELECT

- Điều kiện (mệnh đề WHERE trong SQL) được biến đổi thành dãy các phép toán đại số thích hợp (phép chọn, kết nối, phép hợp,…) đi từ nút lá tới gốc, có thể theo thứ tự xuất hiện của các vị từ và các toán tử

Trang 36

Ví dụ 2.7: Xét câu truy vấn sau: “Tìm tên các nhân viên trừ Minh đã làm cho

dự án CAD/CAM trong một hoặc hai năm” Biểu thức SQL là:

SELECT TênNV

FROM DA, PC, NV

WHERE PC.MNV = NV.MNV AND PC.MDA = DA.MDA

AND TênNV “Minh”

AND DA.TênDA = “CAD/CAM”

AND (Thời gian=12 OR Thời gian=24)

Có thể được ánh xã thành cây trong hình sau:

Hình 2.5 Cây đại số quan hệ

Có thể áp dụng các quy tắc biến đổi cây đại số quan hệ như đã trình bày ở mục 2.1.2, chương II để cấu trúc lại cây một cách có hệ thống nhằm loại bỏ các cây

“xấu”; Một thuật toán tái cấu trúc đơn giản sử dụng heuristic trong đó có áp dụng các phép toán đơn ngôi (chọn/ chiếu) càng sớm càng tốt nhằm giảm bớt kích thước của quan hệ trung gian [2]

Trang 37

Tái cấu trúc cây đại số quan hệ trong Ví dụ 2.7 sinh ra cây sau:

Hình 2.6 Cây đại số quan hệ sau khi tái cấu trúc Kết quả được xem là đạt chất lượng theo nghĩa là nó tránh truy xuất nhiều lần

đến cùng một quan hệ và các phép toán chọn nhiều nhất được thực hiện trước tiên

2.2.2 Cục bộ hóa dữ liệu phân tán

Cục bộ hóa dữ liệu chịu trách nhiệm dịch câu truy vấn đại số 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 trong một lược đồ phân mảnh

Trong phần này, sẽ trình bày các kỹ thuật rút gọn tương ứng với mỗi kiểu phân mảnh để tạo ra các câu truy vấn tối ưu và đơn giản hơn, bằng cách sử dụng các quy tắc biến đổi và các Heuristic, chẳng hạn như đẩy các phép toán đơn ngôi xuống thấp như các ví dụ ở trên Để tạo ra câu truy vấn trên mảnh được thực hiện qua hai bước:

PC

TênNV

MDA, TenNV MNV

Trang 38

Bước 1: Truy vấn phân tán được ánh xạ thành truy vấn trên mảnh bằng cách 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ộ hóa

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 theo những quy tắc được sử dụng trong tầng phân rã

2.2.2.1 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 Ví dụ quan

hệ NV (MaNV, TenNV, CVụ) được phân mảnh ngang thành các quan hệ sau:

Vì vậy, dạng truy vấn gốc được xác định trên NV sẽ thu được bằng cách thay

NV bởi (NV1  NV2 NV3) Như vậy, để giảm các thao tác truy vấn trên quan hệ

đã được phân mảnh 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 hóa các phép chọn và phép kết nối

* Rút gọn phép chọn: Chọn trên các mảnh có lượng từ mâu thuẫn với lượng từ hoá của quy tắc phân mảnh sẽ sinh ra quan hệ rỗng, ta loại bỏ chúng Cho một quan hệ R được phân mảnh theo chiều ngang là Rj = pj (R), j = 1 n, quy tắc này

có thể biểu diễn một cách hình thức như sau:

Quy tắc 1: pj (Rj) =  nếu x thuộc R :  ( pi(x) ʌ pj(x))

Trong đó : pi, pj là các vị từ chọn, x là một bộ

Ví dụ 2.8: Xét các phân mảnh ngang NV1, NV2, NV3 ở trên

Vị từ MaNV = "E1" mâu thuẫn với các vị từ của mảnh NV2 và NV3, nghĩa là không có bộ nào thỏa mãn vị từ MaNV = "E1"

Xét câu truy vấn sau: Select MaNV

From NV Where MaNV= ‘E5’

Trang 39

Áp dụng cách tiếp cận thô sơ để cục bộ hóa NV từ NV1, NV2 và NV3 cho câu truy vấn gốc trong Hình 2.7 bằng cách hoán vị phép chọn và phép hợp Dễ dàng nhận thấy vị từ chọn mâu thuẫn với NV1 và NV3 Câu truy vấn đã rút gọn chỉ ứng dụng có một mảnh NV2 như trong Hình 2.8

Hình 2.7 Câu truy vấn gốc Hình 2.8 Câu truy vấn đã rút gọn

* Rút gọn với phép kết nối: Phép kết nối thực hiện trên các phân mảnh ngang

có thể đơn giản khi kết nối dựa theo các thuộc tính kết nối, bằng cách phân phối kết nối trên các hợp và sau đó loại bỏ các kết nối không tác dụng Việc phân phối các kết nối trên phép hợp được phát biểu như sau:

( R1 R2) S = (R1 S )  (R2 S)

Trong đó, Ri là các mảnh của R và S là một quan hệ

Bằng phép biến đổi này, các phép hợp có thể được di chuyển lên trên cây toán

tử để tất cả các phép kết nối có thể có các mảnh đều được lộ ra Các phép kết nối

vô dụng được bỏ đi khi các lượng từ hoá của các mảnh có mâu thuẫn Giả sử các mảnh Ri và Rj được xác định theo các vị từ chọn pi và pj trên cùng một quan hệ, quy tắc đơn giản hoá có thể được phát biểu như sau

Quy tắc 2: Ri Rj =  nếu x  Ri , y  Rj : ¬ (pi(x)  pj(y))

Việc xác định các kết nối vô dụng có thể được thực hiện bằng cách chỉ xét các vị từ của các mảnh

Ví dụ 2.9: Cho 2 quan hệ NV (MaNV, TênNV, CVụ) và

PC (MaNV, MaDA, NVụ, Tg) được phân mảnh tương ứng như sau:

Trang 40

NV1 = MaNV  E3 (NV) PC1 = MaNV  E3 (PC)

NV2 = E3 < MaNV  E6 (NV) PC2 = MaNV > E3 (PC)

NV3 = MaNV > E6 (NV)

NV1 và PC1 cùng định nghĩa bởi vị từ MaNV ≤ E3 Vị từ định nghĩa trong PC2

là hợp của các vị từ được định nghĩa trong NV2 và NV3:

MaNV > E3 = (E3 < MaNV ≤ E6)  (MaNV > E6)

Xét câu truy vấn sau:

Select *

From NV, PC

Where NV.MaNV = PC.MaNV

Câu truy vấn được rút gọn bằng cách phân phối các nối trên các hợp và áp dụng quy tắc 2 có thể cài đặt như hợp của ba nối từng phần được thực hiện song song

a Cây đại số quan hệ truy vấn gốc b Rút gọn phân mảnh ngang với phép kết nối

Hình 2.9 Rút gọn phân mảnh ngang với phép nối

2.2.2.2 Rút gọn cho phân mảnh ngang dẫn xuất

Phân mảnh ngang dẫn xuất là một cách để phân phối hai quan hệ mà nhờ đó

có thể cải thiện khả năng xử lý các điểm giao nhau giữa phép chọn và phép nối Nếu quan hệ R phải phân mảnh dẫn xuất theo quan hệ S, các mảnh của R và S

có giá trị như nhau ở thuộc tính kết nối sẽ nằm cùng vị trí Ngoài ra, S có thể được phân mảnh theo vị từ chọn Vì các bộ của quan hệ R được phụ thuộc vào các bộ của S Phân mảnh ngang dẫn xuất chỉ được sử dụng cho mối quan hệ một – nhiều từ

PC1 NV1

Ngày đăng: 16/03/2017, 12:54

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Nguyễn Văn Huân - Phạm Việt Bình (2009), “Giáo trình hệ cơ sở dữ liệu phân tán &amp; suy diễn: Lý thuyết và thực hành”, NXB Khoa học và kỹ thuật Sách, tạp chí
Tiêu đề: Giáo trình hệ cơ sở dữ liệu phân tán & suy diễn: Lý thuyết và thực hành
Tác giả: Nguyễn Văn Huân, Phạm Việt Bình
Nhà XB: NXB Khoa học và kỹ thuật
Năm: 2009
2. Phạm Thế Quế (2009) “Giáo trình Cơ sở dữ liệu phân tán”, NXB thông tin và truyền thông Sách, tạp chí
Tiêu đề: Giáo trình Cơ sở dữ liệu phân tán
Tác giả: Phạm Thế Quế
Nhà XB: NXB thông tin và truyền thông
Năm: 2009
3. Nguyễn Bá Tường (2005), Nhập môn cơ sở dữ liệu dữ liệu phân tán, NXB Khoa học và kỹ thuật.Tiếng Anh Sách, tạp chí
Tiêu đề: Nhập môn cơ sở dữ liệu dữ liệu phân tán
Tác giả: Nguyễn Bá Tường
Nhà XB: NXB Khoa học và kỹ thuật
Năm: 2005
4. Alaa Aljanaby, Emad Abuelrub, and Mohammed Odeh (2005), “A Survey of Distributed Query Optimization”, The International Arab Journal of Information Technology, Vol. 2, No. 1 Sách, tạp chí
Tiêu đề: A Survey of Distributed Query Optimization
Tác giả: Alaa Aljanaby, Emad Abuelrub, Mohammed Odeh
Nhà XB: The International Arab Journal of Information Technology
Năm: 2005
5. Tansel Dokeroglu, Ahmet Cosar (2011), “Dynamic Programming with Ant Colony Optimization Metaheuristic for optimization of Distributed Database Queries”, ISCIS:26th International Symposium on Computer and Information Sciences, IEEE, Vol 2, pp.107-113 Sách, tạp chí
Tiêu đề: Dynamic Programming with Ant Colony Optimization Metaheuristic for optimization of Distributed Database Queries
Tác giả: Tansel Dokeroglu, Ahmet Cosar
Nhà XB: IEEE
Năm: 2011
6. Marco Dorigo, Thomas Stutzle (2003), The Ant Colony Optimization Metaheuristic, Algorithms, Applications, and Advances - Handbook of Metaheuristics, Springer US, pp 250-285 Sách, tạp chí
Tiêu đề: The Ant Colony Optimization Metaheuristic, Algorithms, Applications, and Advances - Handbook of Metaheuristics
Tác giả: Marco Dorigo, Thomas Stutzle
Năm: 2003
7. Marco Dorigo, Thomas Stutzle (2004), Ant Colony Optimization, MIT Press Sách, tạp chí
Tiêu đề: Ant Colony Optimization
Tác giả: Marco Dorigo, Thomas Stutzle
Nhà XB: MIT Press
Năm: 2004
8. Chhanda Ray (2009), Distributed Database Systems, Pearson Education India Sách, tạp chí
Tiêu đề: Distributed Database Systems
Tác giả: Chhanda Ray
Nhà XB: Pearson Education India
Năm: 2009
9. Sacco, M.P, and Yao, S.B (1982), “Query Optimization in Distributed Database Systems,” Advances in Computers, Vol. 21, Academic Press Sách, tạp chí
Tiêu đề: Query Optimization in Distributed Database Systems
Tác giả: M.P. Sacco, S.B. Yao
Nhà XB: Academic Press
Năm: 1982
10. Preeti Tiwari, Swati V. Chande (2013), “Optimization of Distributed Database Queries Using Hybrids of Ant Colony Optimization Algorithm”, International Journal of Advanced Research in Computer Science and Software Engineering 3(6), pp. 609-614 Sách, tạp chí
Tiêu đề: Optimization of Distributed Database Queries Using Hybrids of Ant Colony Optimization Algorithm
Tác giả: Preeti Tiwari, Swati V. Chande
Nhà XB: International Journal of Advanced Research in Computer Science and Software Engineering
Năm: 2013
13. Yasmeen R. M. Umar, Amit R. Welekar (2014), “Query Optimization in Distributed Database: A Review”, Query Optimization in Distributed Database:A Review, Vol. 4, No. 6 Sách, tạp chí
Tiêu đề: Query Optimization in Distributed Database: A Review
Tác giả: Yasmeen R. M. Umar, Amit R. Welekar
Nhà XB: Query Optimization in Distributed Database
Năm: 2014

HÌNH ẢNH LIÊN QUAN

Hình 1.1. Mô hình hệ CSDL phân tán - Một số thuật toán tối ưu hóa truy vấn trong cơ sở dữ liệu phân tán
Hình 1.1. Mô hình hệ CSDL phân tán (Trang 9)
Hình 1.2. Mô hình kiến trúc của cơ sở dữ liệu phân tán - Một số thuật toán tối ưu hóa truy vấn trong cơ sở dữ liệu phân tán
Hình 1.2. Mô hình kiến trúc của cơ sở dữ liệu phân tán (Trang 16)
Hình 1.3. Phân mảnh hỗn hợp - Một số thuật toán tối ưu hóa truy vấn trong cơ sở dữ liệu phân tán
Hình 1.3. Phân mảnh hỗn hợp (Trang 22)
Hình 1.4. Cây phân tách của quan hệ  Xây dựng lại quan hệ NHANVIEN ta thực hiện như sau: - Một số thuật toán tối ưu hóa truy vấn trong cơ sở dữ liệu phân tán
Hình 1.4. Cây phân tách của quan hệ Xây dựng lại quan hệ NHANVIEN ta thực hiện như sau: (Trang 23)
Hình 2.2. Sơ đồ quy trình xử lý truy vấn - Một số thuật toán tối ưu hóa truy vấn trong cơ sở dữ liệu phân tán
Hình 2.2. Sơ đồ quy trình xử lý truy vấn (Trang 30)
Hình 2.6. Cây đại số quan hệ sau khi tái cấu trúc  Kết quả được xem là đạt chất lượng theo nghĩa là nó tránh truy xuất nhiều lần  đến cùng một quan hệ và các phép toán chọn nhiều nhất được thực hiện trước tiên. - Một số thuật toán tối ưu hóa truy vấn trong cơ sở dữ liệu phân tán
Hình 2.6. Cây đại số quan hệ sau khi tái cấu trúc Kết quả được xem là đạt chất lượng theo nghĩa là nó tránh truy xuất nhiều lần đến cùng một quan hệ và các phép toán chọn nhiều nhất được thực hiện trước tiên (Trang 37)
Hình 2.10. Rút gọn cho phân mảnh ngang dẫn xuất - Một số thuật toán tối ưu hóa truy vấn trong cơ sở dữ liệu phân tán
Hình 2.10. Rút gọn cho phân mảnh ngang dẫn xuất (Trang 42)
Hình 2.14 minh họa ba cây nối tương đương cho truy vấn trên, thu được bằng  cách sử dụng tính chất kết hợp của các toán tử hai ngôi - Một số thuật toán tối ưu hóa truy vấn trong cơ sở dữ liệu phân tán
Hình 2.14 minh họa ba cây nối tương đương cho truy vấn trên, thu được bằng cách sử dụng tính chất kết hợp của các toán tử hai ngôi (Trang 45)
Hình 2.14. Các cây nối - Một số thuật toán tối ưu hóa truy vấn trong cơ sở dữ liệu phân tán
Hình 2.14. Các cây nối (Trang 46)
Hình 2.19. Các thứ tự kết nối - Một số thuật toán tối ưu hóa truy vấn trong cơ sở dữ liệu phân tán
Hình 2.19. Các thứ tự kết nối (Trang 63)
Hình 2.20. Quá trình quyết định đường đi của đàn kiến. - Một số thuật toán tối ưu hóa truy vấn trong cơ sở dữ liệu phân tán
Hình 2.20. Quá trình quyết định đường đi của đàn kiến (Trang 64)
Hình 3.1. Mối quan hệ giữa các bảng dữ liệu - Một số thuật toán tối ưu hóa truy vấn trong cơ sở dữ liệu phân tán
Hình 3.1. Mối quan hệ giữa các bảng dữ liệu (Trang 72)
Hình 3.2. Kết quả thực hiện câu truy vấn tại trạm 1. - Một số thuật toán tối ưu hóa truy vấn trong cơ sở dữ liệu phân tán
Hình 3.2. Kết quả thực hiện câu truy vấn tại trạm 1 (Trang 74)
Hình 3.3. Kết quả thực hiện câu truy vấn trên trạm 2 - Một số thuật toán tối ưu hóa truy vấn trong cơ sở dữ liệu phân tán
Hình 3.3. Kết quả thực hiện câu truy vấn trên trạm 2 (Trang 75)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm