24
1 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG --------------------------------------- ĐÀO NGỌC SƠN NGHIÊN CỨU TỐI ƯU HÓA TRUY VẤN HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN Chuyên ngành: Truyền dữ liệu và mạng máy tính Mã số: 60.48.15 Người hướng dẫn khoa học: PGS.TS ĐOÀN VĂN BAN TÓM TĂT LUẬN VĂN THẠC SĨ KỸ THUẬT HÀ NỘI- 2012

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/964/1/TTLV Đao Ngoc...1 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ĐÀO NGỌC SƠN

Embed Size (px)

Citation preview

Page 1: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/964/1/TTLV Đao Ngoc...1 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ĐÀO NGỌC SƠN

1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

---------------------------------------

ĐÀO NGỌC SƠN

NGHIÊN CỨU TỐI ƯU HÓA TRUY VẤN HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN

Chuyên ngành: Truyền dữ liệu và mạng máy tính

Mã số: 60.48.15 Người hướng dẫn khoa học: PGS.TS ĐOÀN VĂN BAN

TÓM TĂT LUẬN VĂN THẠC SĨ KỸ THUẬT

HÀ NỘI- 2012

Page 2: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/964/1/TTLV Đao Ngoc...1 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ĐÀO NGỌC SƠN

2

MỞ ĐẦU 1. Lý do chọn đề tài

Thực trạng hiện nay Viễn thông thanh hóa đang sử dụng phần mềm phục vụ

công tác quản lý và điều hành sản xuất của mình, các ứng dụng chính gồm: Hệ

thống quản lý nhân sự, hệ thống quản lý mạng cáp, hệ thống tính cước, hệ thống

thông tin phục vụ tổ 108,hệ thống báo hỏng, hệ thống quản lý thông tin khách hàng,

website public viễn thông thanh hóa….

Dữ liệu cực lớn lê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 CSDL tập trung sẽ gặp rất nhiều khó khăn về vấn đề máy

chủ, băng thông đường truyền, tính sẵn sàng của hệ thống.Tôi xin đề xuất giải pháp

ứng dụng để xây dựng mô hình CSDL phân tán cho hệ thống thông tin khách hàng

trên hệ quản trị CSDL Oracle

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

Nghiên cứu phương pháp xây dựng cơ sở dữ liệu phân tán, tối ưu hóa truy vấn

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

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

- 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

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 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

Page 3: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/964/1/TTLV Đao Ngoc...1 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ĐÀO NGỌC SƠN

3

CHƯƠNG 1. CƠ SỞ DỮ LIỆU PHÂN TÁN 1.1. Khái niệm về hệ cơ sở dữ liệu phân tán

1.1.1. Khái niệm

Cơ sở dữ liệu phân tán là một tập hợp các dữ liệu phục thuộc lôgic lẫn nhau

của cùng một hệ thống và được lưu trữ trên các trạm của một mạng máy tính. Cơ sở

dữ liệu phân tán làm tăng khả năng truy nhập tới cơ sở dữ liệu lớn trên mạng.

Trong hệ thống đó mỗi máy tính quản lý một cơ sở dữ liệu thành phần được gọi là 1

node hoặc site. [4]

Định nghĩa này nhấn mạnh hai khía cạnh quan trọng của cơ sở dữ liệu phân

tán

- Tính phân tán: Thực tế dữ liệu không cư trú ở cùng một trạm, vì vậy chúng

ta có thể phân biệt một cơ sở dữ liệu phân tán với cơ sở dữ liệu tập trung

- Sự tương quan logic: Các dữ liệu có một số tính chất ràng buộc lẫn nhau và

như vậy có thể phân biệt cơ sở dữ liệu phân tán với tập các cơ sở dữ liệu địa

phương hoặc với các tệp ở các trạm khác nhau trên mạng.

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

Khác DDBMS có chức năng hỗ trợ việc tạo và bảo trì cơ sở dữ liệu phân tán, chúng

có các thành phần tương tự như một hệ quản trị cơ sở dữ liệu tập trung thành 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

Hệ quản trị cơ sở dữ liệu phân tán được phân làm 2 loại

- Cơ sở dữ liệu phân tán thuần nhất - Cơ sở dữ liệu phân tán hỗn tạp

1.1.3 Những ưu điểm của cơ sở dữ liệu phân tán Lợi ích cơ bản nhất của cơ sở dữ liệu phân tán là dữ liệu của các cơ sở dữ

liệu 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 [7].

1. Cho phép quản lý dữ liệu với nhiều mức trong suốt 2. Tăng độ tin cậy và khả năng sẵn sàng 3. Cải thiện hiệu năng

Page 4: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/964/1/TTLV Đao Ngoc...1 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ĐÀO NGỌC SƠN

4

4. Dễ dàng mở rộng

1.1.4 Những nhược điểm của cơ sở dữ liệu phân tán [3]

- Độ phức tạp thiết kế và cài đặt hệ thống tăng: Hệ quản trị cơ sở dữ liệu

phân tán phải bổ sung thêm các chức năng như:

- Khó điều khiển tính nhất quán về dữ liệu

- Các phần mềm hệ thống đảm bảo quản trị, duy trì kết nối, trao đổi dữ liệu

trên mạng.

- Bảo mật khó khăn.

Ở 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ệ cơ

sở dữ liệu phân tán với hệ cơ sở dữ liệu 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

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

- Trong suốt phân tán

- Trong suốt giao dịch

- Trong suốt thất bại

- Trong suốt thao tác

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

1.3 Kiến trúc tham chiếu của cơ sở dữ liệu phân tán

Kiến trúc tham chiếu không được cài đặt rõ ràng trên tất cả cơ sở dữ liệu

phân tán, tuy nhiên các mức của nó được khái quát chính xác, thích hợp để mô tả tổ

chức chung cho mọi hệ cơ sở dữ liệu phân tán [3].

- Lược đồ tổng thể: Mô tả tổng thể và thống nhất chung nhất của tất cả dữ liệu

của cơ sở dữ liệu phân tán độc lập với môi trường phân tán.

- Phân đoạn: Mối quan hệ tổng thể có thể được chia thành vài phần không giao

nhau được gọi là các đoạn. Lược đồ phân đoạn định nghĩa ánh xạ giữa các

quan hệ tổng thể và các phân đoạn. Ánh xạ này là một nhiều: Một số đoạn

tương ứng với một quan hệ tổng thể, nhưng chỉ một quan hệ tổng thể

Page 5: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/964/1/TTLV Đao Ngoc...1 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ĐÀO NGỌC SƠN

5

tương ứng với một đoạn. Ký hiệu Ri là đoạn thứ i của quan hệ tổng thể R.

- Lược đồ định vị: Định nghĩa ánh xạ từ các phân đoạn vào những trạm chứa

những phân đoạn đó. Tất cả các đoạn tương ứng với cùng quan hệ tổng thể

R và được đặt tại cùng trạm j tạo thành hình ảnh vật lý của quan hệ tổng thể

R tại trạm j.

- Lược đồ ánh xạ địa phương: Ánh xạ các hình ảnh vật lý tới các đối tượng

được thao tác bởi các hệ quản trị cơ sở dữ liệu địa phương. Trong hệ không

thuần nhất ta có các kiểu ánh xạ địa phương khác nhau tại các trạm khác

nhau.

Hình 1.1: Kiến trúc tham chiếu của cơ sở dữ liệu phân tán

định vị

Page 6: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/964/1/TTLV Đao Ngoc...1 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ĐÀO NGỌC SƠN

6

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

- Kỹ thuật phân tách dữ liệu từ một cơ sở dữ liệu để lưu trữ trên các trạm

khác nhau được gọi là phân mảnh.

- Sử dụng bản sao cho phép cùng một dữ liệu có thể được lưu trữ trên nhiều

hơn một trạm.

- Quá trình định vị các phân mảnh dữ liệu hoặc định vị các bản sao phân

mảnh lưu trữ dữ liệu trên các trạm khác nhau.

1.4.1 Phân mảnh

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[9] .

Một sự phân mảnh là đúng đắn nếu thoả mãn ba điều kiện sau:

- Điều kiện không mất thông tin: 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 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ó.

- Điều kiện xây dựng lại: Luôn có thể xây dựng lại được quan hệ tổng thể từ

các mảnh đã có.

- Điều kiện rời nhau (chỉ áp dụng cho phân mảnh ngang): Để tối thiểu hoá sự

lặp lại của dữ liệu.

1.4.1.1 Phân mảnh ngang

Phân mảnh ngang là sự phân chia một quan hệ thành các tập con các bộ, mỗi

tập con được xác định bởi phép chọn với tân từ p trên quan hệ tổng thể R:

Ri =pi, với pi là tân từ của Ri. Để có thể khôi phục được R ta dùng phép hợp các

quan hệ R = R1 R2 ... Rn.

1.4.1.2 Phân mảnh ngang dẫn tiếp

Phân mảnh ngang dẫn tiếp là sự phân chia một quan hệ ban đầu thành các

quan hệ thứ hai khác mà các quan hệ đó liên hệ với quan hệ ban đầu bằng một khoá

ngoài. Điều này như là liên hệ dữ liệu giữa quan hệ ban đầu và quan hệ thứ hai

được phân đoạn trong cùng một cách.

Page 7: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/964/1/TTLV Đao Ngoc...1 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ĐÀO NGỌC SƠN

7

1.4.1.3 Phân mảnh dọc

Phân mảnh dọc là sự chia một quan hệ thành tập con các bộ, mỗi tập

được xác định bởi một phép chiếu được áp dụng cho quan hệ: Ri = ПATTRi R,

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

Tiêu chuẩn cho sự phân mảnh dọc là đúng đắn:

- Điều kiện đầ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 đó.

- Điều kiện xây dựng lạ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 nhờ vào phép kết nối các mảnh dọc theo các

thuộc tính chung.

- Điều kiện rời nhau: ít nhất khoá phải được lặp lại trên tất cả các mảnh

để 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.

1.4.1.4 Phân mảnh hỗn hợp

Là sự kết hợp cả phân mảnh dọc và phân mảnh ngang.

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

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

1. Nhân bản dữ liệu đầy đủ: Toàn bộ cơ sở dữ liệu 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 copy, đồ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.

2. 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 đoạn ngang và phân đoạn hỗn hợp.

Page 8: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/964/1/TTLV Đao Ngoc...1 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ĐÀO NGỌC SƠN

8

3. 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 cơ sở

dữ liệu server.

1.4.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 đó.

1.5 Kết luận

Cơ sở dữ liệu phân tán rất quan trọng 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 cơ sở dữ liệu phân tán đó là: Cơ sở

dữ liệu phân tán được xây dựng để khắc phục các thiếu sót của cơ sở dữ liệu tập

trung và nó phù hợp hơn trong cấu trúc phân quyền của nhiều tổ chức. Kỹ thuật cơ

sở dữ liệu phân tán được mở rộng và phát triển từ kỹ thuật của cơ sở dữ liệu 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.

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 cơ sở dữ liệu. Các mức trong suốt phân tán khác nhau có thể được

cung cấp bởi một hệ quản trị cơ sở dữ liệu phân tán; 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.

Page 9: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/964/1/TTLV Đao Ngoc...1 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ĐÀO NGỌC SƠN

9

CHƯƠNG 2. TỐI ƯU HÓA CÂU TRUY VẤN TRONG CƠ SỞ

DỮ LIỆU PHÂN TÁN

Các ngôn ngữ hỏi bậc cao như SQUARE, SEQUEL, SQL,... cho phép viết

nhiều câu truy vấn với sự quan tâm nhiều đến thời gian thực hiện, và thời gian thực

hiện đó có thể giảm đáng kể nếu bộ xử lý ngôn ngữ hỏi viết lại (bằng cách khác)

câu truy vấn trước khi thực hiện. Sự cải tiến như vậy thường gọi là "Sự tối ưu hoá",

mặc dù câu truy vấn được viết lại không cần tối ưu trên tất cả các cách cài đặt câu

truy vấn có thể

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

Mục đích của xử lý truy vấn :

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

- Giảm vùng nhớ trung gian

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

2.1.1 Các yêu cầu của phép biến đổi tối ưu hoá câu truy vấn

- Các phép biến đổi phải thực sự hữu hiệu đối với phần lớn các dạng câu

truy vấn hay một lớp các câu truy vấn thường dùng mà không phải chi phí quá

nhiều để thực hiện quá trình biến đổi đó.

- Các phép biến đổi phải bảo toàn kết quả của câu truy vấn trước và sau khi

biến đổi, có nghĩa là hai biểu thức trước và sau khi biến đổi phải cho cùng một kết

quả khi thay các lược đồ trong biểu thức bởi các thể hiện cụ thể.

- Các phép biến đổi phải làm giảm chi phí để thực hiện câu truy vấn. Chi

phí cho xử lý câu truy vấn có rất nhiều yếu tố, tuy nhiên ta chỉ quan tâm đến một số

thông báo cơ bản nhất sau đây: số lần truy xuất khối nhớ giữa bộ nhớ trong và bộ

nhớ ngoài; số bản ghi cần phải xử lý ở thiết bị trung tâm; phần bộ nhớ để lưu trữ

các kết quả trung gian trong quá trình thực hiện câu truy vấn.

2.1.2 Các phương pháp xử lý truy vấn cơ bản

Phương pháp biến đổi đại số :

Page 10: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/964/1/TTLV Đao Ngoc...1 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ĐÀO NGỌC SƠN

10

Đơn giản hóa câu truy vấn nhờ các phép biến đổi đại số tương đương nhằm

giảm thiểu thời gian thực hiện các phép toán, phương pháp này không quan tâm đến

cấu trúc và kích thước dữ liệu

Phương pháp ước lượng chi phí :

Xác định kích thước dữ liệu, thời gian thực hiện mỗi phép toán trong câu

truy vấn. Phương pháp này phải xác định kích thước dữ liệu và chi phí thời gian

thực hiện mỗi phép toán trong câu truy vấn

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

Phần này sẽ trình bày hai kỹ thuật tối ưu hoá câu truy vấn đối với hệ tập

trung. Sự biểu diễn này là điều kiện để tối ưu hóa câu truy vấn phân tán với ba lý

do:

- Một câu truy vấn phân tán được biến đổi thành các câu truy vấn địa

phương được xử lý theo cách tập trung.

- Các kỹ thuật tối ưu hoá câu truy vấn phân tán thường là sự mở rộng các

kỹ thuật đối với hệ tập trung.

- Tối ưu hoá tập trung thường là vấn đề đơn giản, sự tối thiểu hoá chi phí

truyền thông dẫn đến tối ưu hoá câu truy vấn phân tán phức tạp hơn.

2.2.1 Thuật toán INGRES

INGRES sử dụng thuật toán tối ưu hoá câu truy vấn động, chia một truy vấn

phép tính quan hệ thành các truy vấn nhỏ hơn. Một truy vấn đa biến đầu tiên được

phân tích thành một dãy các truy vấn con có một biến duy nhất chung, mỗi truy vấn

con được dựa vào kết quả của truy vấn con trước đó. Sau đó, mỗi truy vấn con

được xử lý bởi "bộ xử lý truy vấn một biến" (OVQP: one-variable query

processor). OVQP tối ưu truy nhập tới một quan hệ đơn, bằng cách lựa chọn

phương pháp truy nhập tốt nhất (chỉ số, quét tuần tự). Ví dụ: với tân từ dạng <A =

value> thì nên dùng một chỉ số trên A; với tân từ dạng <Avalue> thì nên dùng

quét tuần tự.

Câu truy vấn q được phân tích thành hai câu truy vấn con qi-1 và qi, ký hiệu qi-

1 qi, nghĩa là qi-1 được thực hiện trước và kết quả của nó được sử dụng bởi qi.

Page 11: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/964/1/TTLV Đao Ngoc...1 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ĐÀO NGỌC SƠN

11

Bộxử lý câu truy vấn INGRES phân tích q thành n câu truy vấn q1 q2 q3...

qn. Sự phân tích này sử dụng hai kỹ thuật cơ bản phân tách và thay thế.

2.2.2 Thuật toán SYSTEM R

System R thực hiện tối ưu hóa truy vấn tĩnh, đầu vào là một cây đại số quan hệ

do phân tích một truy vấn SQL, đầu ra là sơ đồ thực hiện cây đại số quan hệ "tối

ưu". Thuật toán tối ưu bao gồm hai bước chính:

- Dự đoán phương pháp truy nhập tới mỗi quan hệ đơn tốt nhất dựa trên một

giả thiết chọn.

- Với mỗi quan hệ R, đánh giá thứ tự kết nối tốt nhất, trong đó R được truy

nhập trước tiên sử dụng phương pháp truy nhập quan hệ - đơn tốt nhất của

nó.

Có hai phương pháp có thể để xét các phép kết nối. Khi kết nối hai quan hệ,

quan hệ có các bộ đọc trước gọi là quan hệ ngoài, quan hệ có các bộ được tìm thấy

tùy theo các giá trị có được từ quan hệ ngoài gọi là quan hệ trong. Quyết định quan

trọng với mỗi phương pháp kết nối là xác định hướng truy nhập tới quan hệ trong rẻ

nhất.

Phương pháp 1, gọi là các vòng lặp lồng nhau, thực hiện tích hai quan hệ. Với

mỗi bộ của quan hệ ngoài, các bộ của quan hệ trong thoả mãn giả thiết kết nối được

gọi ra để tạo quan hệ kết quả. Nếu không đánh chỉ số, với các quan hệ được lưu trữ

theo thứ tự trên n1, n2 bộ bản ghi, thuật toán này có chi phí là n1* n2.

Phương pháp 2, gọi là kết nối trộn, kết nối hai quan hệ đã sắp xếp trên thuộc

tính kết nối. Nếu là kết nối bằng, chi phí của việc kết nối hai quan hệ được lưu trữ

trên n1 và n2 bộ bản ghi là n1+ n2. Vì vậy, phương pháp này luôn được chọn khi có

kết nối bằng, và khi các quan hệ được sắp xếp trước. Nếu chỉ một hoặc không có

quan hệ nào được sắp xếp, chi phí của vòng lặp lồng nhau được so sánh với chi phí

của phương pháp trộn + chi phí sắp xếp. Chi phí sắp xếp n bộ bản ghi là nlog2n.

Page 12: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/964/1/TTLV Đao Ngoc...1 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ĐÀO NGỌC SƠN

12

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

2.3.1 Mục tiêu của bài toán truy vấn Mục tiêu của bài toán truy vấn trong môi trường phân tán là biến đổi câu vấn tin

cáp cao trên CSDL phân tán (mà người sử dụng vẫn tưởng là CSDL tập trung) thành một

chiến lược thực thể hiệu quả được diễn tả bằng một ngôn ngữ cấp thấ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 vấn tin: “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

WHERE EMP.ENO = ASG.ENO

AND ASG.RESP = “Manager”

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

ENAME(RESP = “Manager” EMP.ENO = ASG.ENO (EMP x ASG)) (*)

Và ENAME(EMP ENO(RESP = “Manager” (ASG))) (**)

Với mục tiêu giảm thiểu việc sử dụng tài nguyên nên câu vấn tin (**) sẽ được dùng.

Nhiệm vụ chính của thể xử lý vấn tin tập trung là đối với một câu vấn tin đã cho nó

phải chọn ra được một câu vấn tin đại số quan hệ tốt nhất trong số các câu vấn tin đạ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ời giả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ực thi.

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ên cạnh

chọn thứ tự cho các phép toán đại số quan hệ, thể XLVT phân tán cũng phải chọn cá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ầu trên mà

không gian lời giản tăng lên làm cho việc XLVT plhân tán khó hơn rất nhiều.

Ví dụ 2.4: Ví dụ minh hoạ tầm quan trong của việc chọn lựa vị trí và cách truyền

dữ liệu của câu vấn tin đại số.

ENAME(EMP ENO(RESP = “Manager” (ASG))) (**)

Giả sử EMP và ASG được phân mảnh ngang như sau:

Page 13: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/964/1/TTLV Đao Ngoc...1 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ĐÀO NGỌC SƠN

13

EMP1 = ENO “E3” (EMP)

EMP2 = ENO > “E3” (EMP)

ASG1 = ENO “E3” (ASG)

ASG2 = ENO > “E3” (ASG)

Các mảnh ASG1, ASG2, EMP1, EMP2 theo thứ tự được lưu tại các vị trí 1, 2, 3, 4 kết quả

lưu tại vị trí 5.

(a) chiến lược A

(b) chiến lược B

Hình 2.3: Các chiến lược thực thi vấn tin tương đương

Thấy rằng, chiến lược A sử dụng sự kiện là các quan hệ EMP và ASG đượ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ý vấn tin.

Vị trí 4

Rerult = EMP1’ EMP2’

EMP1’ = EMP1 ENO ASG1’ EMP2’ = EMP2 ENO ASG2’

ASG1’ = RESP = “Manager” (ASG1) ASG2’ = RESP = “Manager” (ASG2)

Result = (EMP1 EMP2) ENO (RESP = “Manager” (ASG1 ASG2))

Vị trí 5

Vị trí 3

Vị trí 1 Vị trí 2

EMP1’ EMP2’

ASG1’ ASG2’

Vị trí 3 Vị trí 4 Vị trí 1 Vị trí 2

Page 14: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/964/1/TTLV Đao Ngoc...1 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ĐÀO NGỌC SƠN

14

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

Vấn đề xử lý câu truy vấn được chia làm bốn giai đoạn sau

Hình 2.4: Sơ đồ phân lớp cho việc xử lý truy vấn phân tán 2.3.3 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ành câ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ên cá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ấn tin dạng phép tính trên các quan hệ phân tán

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

Vấn tin dạng đại số trên các quan hệ phân tán

Định vị dữ liệu

Vấn tin theo mảnh

Tối ưu hoá toàn cụ

Vấn tin theo mảnh kèm với các phép toán truyền

Tối ưu hoá cục bộ

Vấn tin cục bộ đã tối ưu

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

Lược đồ mảnh

SL trên các mảnh

Lược đồ cục bộ

Vị trí điều khiển

Các vị trí cục

bộ

Page 15: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/964/1/TTLV Đao Ngoc...1 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ĐÀO NGỌC SƠN

15

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âu truy vấn vào là đúng đắn (chỉnh). Khi việc phân rã được

thực hiện xong câu truy vấn ra là chỉnh 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á

- Phân tích

- Loại bỏ dư thừa

- Viết lại

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

Như đã biết, tầng định vị 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 đoạn.

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âu truy 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âu truy 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

2.3.4.1 Rút gọn phân đoạn ngang nguyên thuỷ

Phân đoạn ngang tách một quan hệ dựa trên các tân từ chọn

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

Phân đoạn dọc tách một quan hệ dựa trên các thuộc tính chiếu. Vì phép

toán xây dựng lại đối với phân đoạn dọc là kết nối, nên chương trình định vị

một quan hệ đã được phân đoạn dọc là kết nối của các đoạn trên thuộc tính chung.

Page 16: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/964/1/TTLV Đao Ngoc...1 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ĐÀO NGỌC SƠN

16

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

Câu truy vấn trên các phân đoán gián tiếp cũng có thể rút gọn, nếu các tân

từ phân đoạn mâu thuẫn nhau thì phép kết nối sẽ đưa ra quan hệ rỗng. Chương

trình định vị một quan hệ đã phân đoạn ngang gián tiếp là hợp của các đoạn.

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

Mục đích của phân đoạn hỗn hợp là hỗ trợ các câu truy vấn liên quan đến

phép chiếu, chọn, kết nối một cách hiệu quả. Chương trình định vị cho một quan hệ

đã phân đoạn hỗn hợp sử dụng phép hợp và phép kết nối của các đoạn.

2.3.4 Tối ưu hoá các truy vấn phân tán

Ta đã biết, một câu truy vấn trong phép tính quan hệ biểu diễn trên các

quan hệ phân tán có thể được ánh xạ thành một câu truy vấn trên các đoạn quan hệ

bằng cách phân rã và định vị dữ liệu. ánh xạ này sử dụng lược đồ phân đoạn.

Trong xử lý này, việc áp dụng các luật biến đổi cho phép đơn giản hoá câu truy

vấn bằng cách tìm các biểu thức con chung và loại bỏ các biểu thức vô ích. Câu

truy vấn thu được từ giai đoạn phân rã và định vị dữ liệu có thể được thực thi một

cách đơn giản bằng việc thêm vào các thao tác truyền thông. Tuy nhiên, hoán vị

thứ tự các phép toán trong câu truy vấn có thể cung cấp nhiều chiến lược tương

đương để thực thi chúng. Tìm một thứ tự “tối ưu” của các phép toán cho một câu

truy vấn đã cho là chức năng chính của bộ tối ưu hoá câu truy vấn.

Sự lựa chọn thứ tự tối ưu đối với một câu truy vấn là bài toán khó thực

hiện nên mục đích thực sự của bộ tối ưu là tìm một chiến lược gần tối ưu. Sau

đây ta sẽ gọi chiến lược (hoặc thao tác sắp thứ tự) được đưa ra bởi bộ tối ưu

là chiến lược tối ưu (hoặc sắp chiến lược tối ưu). Đầu ra của bộ tối ưu là một lịch

trình được tối ưu bao gồm câu truy vấn đại số được xác định trên các trạm.

2.3.4.1. Đầu vào bộ tối ưu hoá câu truy vấn

1. 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 hoặc

theo tổng chi 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ành phần chi phí, còn thời gian trả lời tính từ lúc bắt đầu đến lúc kết thúc

Page 17: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/964/1/TTLV Đao Ngoc...1 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ĐÀO NGỌC SƠN

17

câu truy vấn. Công thức chung để tính tổng chi phí như sau [8]:

Total_cost = CCPU*#insts + CI/O*#I/Os + CMSG #msgs + CTR*#bytes

Trong đó: Total_cost - là tổng chi phí; CCPU - chi phí của một lệnh CPU;

CI/O- chi phí của một truy xuất/nhập đĩa; CMSG - chi phí cố định của việc khởi đầu và

nhận một thông báo; CTR - chi phí truyền một đơn vị dữ liệu từ trạm này tới trạm

khác, ta xem CTR là hằng số; #insts, #I/Os, #msgsm, #byte: Tương ứng là tổng trên

các trạm của tất cả các số lệnh CPU, số lần truy xuất/ nhập đĩa, số thông báo, kích

thước của tất cả các thông báo.

Khi thời gian trả lời của 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ương song song và truyền thông song song phải được xét. Công

thức tổng quát tính thời gian trả lời (response time) là [8]:

Response_time = CCPU*seq_#insts + CI/O*seq_#I/Os

+ CMSG *seq_#msgs + CTR*seq_#bytes

Trong đó: seq_#x (x có thể là các lệnh CPU, I/O, các thông báo, các

byte) là số lớn nhất của x phải được thực hiện tuần tự đối với sự thực thi của

câu truy vấn.

2 Các thống kê cơ sở dữ liệu

Yếu tố chính ảnh hưởng đến hiệu suất của một chiến lược thực thi là

kích thước của các quan hệ trung gian sinh ra trong quá trình thực hiện. Khi

gặp phép toán tiếp theo đặt tại một trạm khác, quan hệ trung gian phải được

truyền lên mạng. Do vậy, để tối thiểu hoá khối lượng dữ liệu truyền, điểm

quan tâm đầu tiên là đánh giá kích thước kết quả trung gian của các phép toán đại

số quan hệ. Đánh giá này dựa trên các thông tin thống kê về các quan hệ cơ sở

và các công thức ước tính lực lượng của kết quả của các ph p toán quan hệ. Quan

hệ R xác định trên A = {A1, A2,...,An} được phân đoạn thành R1, R2,...,Rr. Khi

đó dữ liệu thống kê điển hình bao gồm [7]:

1. Với mỗi thuộc tính Ai, độ dài của Ai ký hiệu là length(Ai); với mỗi

Ai Rj, lực lượng của phép chiếu của đoạn Rj trên Ai ký hiệu là card(Ai(Rj))

(số giá trị phân biệt trên mỗi thuộc tính).

Page 18: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/964/1/TTLV Đao Ngoc...1 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ĐÀO NGỌC SƠN

18

2. Miền xác định của Ai là tập số nguyên hoặc tập số thực, có max(Ai) và

min(Ai).

3. Lực lượng của miền Ai kí hiệu là card(dom[Ai]), đó là số các giá trị duy

nhất trên mỗi miền trị của thuộc tính Ai.

4. Số các bộ trong mỗi đoạn Rj ký hiệu là card(Rj) Ngoài ra, dữ liệu thống

kê cũng bao gồm hệ số chọn của phép kết nối (SFJ) đối với số cặp quan hệ; hệ số

SFJ của quan hệ R và S là một số thực giữa 0 và 1:

Hệ số SFJ nhỏ thì phép kết nối có tính chọn tốt, ngược lại có tính chọn

tồi. Các thống kê này có lợi để đánh giá kích thước của các quan hệ trung

gian. Kích thước của một quan hệ trung gian R như sau:

Size(R)= card(R)*length(R)

Trong đó: card(R) là số các bộ của R được tính theo các công thức ở phần sau.

3. Lực lượng của các kết quả trung gian

Phần này sẽ đưa ra các công thức để ước tính lực lượng của kết quả của các

phép toán cơ sở của đaị số quan hệ (phép chọn, phép chiếu, phép tích Decartes, kết

nối, nửa kết nối, phép hợp và phép trừ). Các toán hạng quan hệ được ký hiệu bởi

R và S. Hệ số chọn của một phép toán (SFOP, OP biểu thị phép toán) là tỷ lệ

giữa các bộ của một toán hạng quan hệ tham gia vào kết quả của phép toán.

2.3.4.2. Thứ tự kết nối trên các câu truy vấn đoạn

Ta đã thấy thứ tự kết nối có vai trò quan trọng trong việc tối ưu hoá câu truy

vấn tập trung. Thứ tự kết nối trong môi trường phân tán còn quan trọng hơn vì các

phép kết nối giữa các đoạn có thể làm tăng chi phí truyền thông. Có hai cách tiếp

cận cơ bản để sắp thứ tự các phép kết nối trong các câu truy vấn đoạn.

- Cố gắng tối ưu thứ tự của các phép kết nối một cách trực tiếp

- Thay các phép kết nối bởi kết hợp các phép nửa kết nối để cực tiểu

Page 19: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/964/1/TTLV Đao Ngoc...1 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ĐÀO NGỌC SƠN

19

hoá các chi phí truyền thông.

Thứ tự kết nối

Một số thuật toán tối ưu hoá thứ tự của các phép kết nối một cách trực

tiếp không sử dụng phép nửa kết nối. Thuật toán INGRES phân tán và R* là

đại diện cho lớp này. Phần này đề cập đến việc sử dụng các phép nửa kết nối để

tối ưu hoá các câu truy vấn kết nối .

Trước khi đi vào vấn đề chính, ta giả thiết như sau:

- Câu truy vấn được định vị và biểu diễn trên các đoạn, ta không cần phân biệt

giữa các đoạn của cùng một quan hệ và các đoạn của các quan hệ khác.

- Dùng thuật ngữ quan hệ để chỉ một đoạn lưu trữ tại một trạm cụ thể.

- Bỏ qua chi phí xử lý địa phương.

- Chỉ xét các câu truy vấn kết nối mà các toán hạng quan hệ được lưu tại

các trạm khác nhau.

- Bỏ qua chi phí truyền dữ liệu tại trạm kết quả.

Vấn đề truyền toán hạng trong phép kết nối đơn, hiển nhiên là gửi quan hệ

nhỏ hơn tới trạm của quan hệ lớn hơn, có hai khả năng như hình 4.2

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

Trường hợp có hơn hai quan hệ kết nối, cũng như trường hợp một kết nối

đơn, mục đích của thuật toán thứ tự kết nối là truyền các toán hạng nhỏ hơn. Vấn

đề khó khăn ở đây là các phép kết nối có thể giảm hoặc tăng kích thước của các kết

quả kết nối. Một giải pháp là đánh giá chi phí truyền thông của tất cả các chiến lược

và chọn ra chiến lược tốt nhất. Tuy nhiên số các chiến lược tăng nhanh khi số các

quan hệ tăng nên thường dùng phương pháp dò tìm (heuristic) để loại trừ một số

trường hợp xấu.

2.3.4.3 Các thuật toán tối ưu hoá câu truy vấn phân tán

Page 20: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/964/1/TTLV Đao Ngoc...1 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ĐÀO NGỌC SƠN

20

Phần này minh hoạ cách sử dụng của các kỹ thuật đã trình bày cho bốn thuật

toán tiêu biểu cho những lớp khác nhau của thuật toán tối ưu hoá câu truy vấn phân

tán: Thuật toán rút gọn của INGRES phân tán, thuật toán System R*, thuật

toán SDD -1 và thuật toán AYH (Apers, Hevner, and Yao). Sự khác nhau giữa

chúng có thể tóm tắt như sau:

- INGRES phân tán: tối ưu hoá thời gian động, System R, SDD-1. AYH: tối

ưu hoá thời gian tĩnh.

- Hàm mục tiêu của SDD-1 và R*: tối thiểu hoá tổng chi phí, INGRES

phân tán và AYH: tối thiểu thời gian trả lời và tổng chi phí.

- Các thành phần tối ưu của hàm chi phí, SDD-1: kích thước thông báo,

AYH: kích thước thông báo và số thông báo; System R*: kích thước thông báo,

số thông báo và chi phí I/O và CPU; INGRES phân tán: kích thước thông báo và

chi phí I/O + CPU.

- Kiểu mạng, SDD-1 và AHY: mạng diện rộng điểm tới điểm, INGRES

phân tán và R*: mạng cục bộ và diện rộng.

- SDD_1 và AHY sử dụng các phép nửa kết nối như một kỹ thuật tối ưu

hoá câu truy vấn, INGRES phân tán và R* thực hiện kết nối tương tự các giải thuật

tối ưu hoá câu truy vấn tập trung INGRES và System R:

- Mỗi thuật toán đều có nhận thông tin thống kê về dữ liệu:

+ INGRES phân tán: lực lượng của quan hệ.

+ R*: lực lượng của quan hệ, số các giá trị duy nhất trên thuộc tính

SDD-1: lực lượng của quan hệ, hệ số chọn kết nối, kích thước của

phép chiếu trên mỗi thộc tính kết nối, kích thước thuộc tính và

kích thước bộ dữ liệu.

+ AHY: lực lượng quan hệ, hệ số chọn kết nối, kích thước thuộc

tính và kích thước bộ dữ liệu.

- INGRES phân tán có thể sử dụng các đoạn, còn R*, SDD-1, AHY

không sử dụng.

2.4 Kết Luận

Page 21: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/964/1/TTLV Đao Ngoc...1 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ĐÀO NGỌC SƠN

21

Chương này đã trình bày những khái niệm cơ bản về tối ưu hóa truy vấn

phân tán, và các thuật toán tối ưu cơ bản của Distributed INGRES, System R*,…

cũng được đưa ra ở phần này. Các hệ CSDL phân tán ban đầu thường chỉ dùng hàm

mục tiêu cho các chi phí truyền theo kích thước được thông báo, trong thời gian gần

đây vói sự phát triện đáng kể của các mạng “nhanh” thì chi phí xử lý cục bộ cũng

được chú ý.

Nguyên liệu đầu vào quan trọng của bài toán tối ưu hóa truy vấn là số liệu

thống kê CSDL và các công thức được dùng để đánh giá các kết quả trung gian.

Thao tác chủ yếu nói chung là phép nối các quan hệ phân tán. Đối với những nối

thường gặp nhất không phải dựa trên khóa, thì các hệ số tuyển nối có giá trị rất lớn

[Mackert and Lohman, 1986]. Chúng ta cũng có thể tránh việc sử dụng số liệu

thống kê bằng cách áp dụng thuật toán đơn giản dựa trên các heuristic để biến đổi

câu truy vấn. Tuy nhiên [Epstain and Stonebraker, 1980] đã ghi nhận rằng việc tìm

kiếm vét cạn không gian lời giải dựa trên số liệu thống kê có giá trị hơn so với lối

tiếp cận heuristic, chi phí phải trả cho chiến lược này (được thực hiện tĩnh trong lúc

biên dịch) sẽ được bù đắp rất nhanh nếu câu truy vấn trở nên phức tạp hay được

thực hiện thường xuyên.

Page 22: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/964/1/TTLV Đao Ngoc...1 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ĐÀO NGỌC SƠN

22

CHƯƠNG 3. CÀI ĐẶT THUẬT TOÁN TỐI ƯU HÓA CÂU

TRUY VẤN PHÂN TÁN

1. Xác định thuật toán

Chương trình sẽ cài đặt thuật toán tối ưu phân tán của System R* là một mở rộng về

chất của các kỹ thuật đã được phát triển cho bộ tối ưu hóa trong môi trường tập

trung của System R. Nó là thuật toán tối ưu tĩnh, trong đó thực hiện việc tìm kiếm

vét cạn tất cả các chiến lược khác nhau để chọn ra được một chiến lược với chi phí

thấp nhất.

Cơ sở dữ liệu được thiết kế theo mô hình phân mảnh dọc dựa trên hệ thống cơ sở dữ

liệu ORACLE hiện tại của viễn thông thanh hóa:

- Bảng DM_TTOAN chứa các thông tin khác hàng người chịu trách nhiệm trả

tiền cước các loại dịch vụ, được cài đặt trên máy trạm địa chỉ IP cuối là 62,

gọi tắt là máy trạm 62

- Bảng DM_SOMAY chứa thông tin các dịch vụ của thuê bao được cài đặt

trên máy trạm địa chỉ IP cuối 21, gọi tắt là máy trạm 21

- Việc kết nối tới trạm còn lại thực hiện qua DBLINK là chức năng hỗ trợ hệ

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

- Thuật toán thực hiện việc truy vấn với giả thiết thực hiện kết nối tập trung,

thực hiện kết nối ở trạm 21 và trạm 62 để chọn ra kết quả tối ưu nhất

2. Kết Luận

Nghiên cứu cơ sở dữ liệu phân tán là một hướng đi đúng đắn, phù hợp với tổ

chức lớn, có nhiều chi nhánh. Việc ứng dụng cơ sở dữ liệu phân tán giải quyết

tốt các bài toán xử lý nhanh khi chỉ có yêu cầu truy xuất cục bộ, Và thực hiện

tốt vấn đề chia tải

Hệ thống phân tán là một hệ thống cơ sở dữ liệu phức tạp hơn, đòi hỏi việc tổ

chức vật lý, mô hình mạng phức tạp, Việc tìm hiểu và tối ưu hóa phân tán có ý

nghĩa quan trọng quyết định đến hiệ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

Page 23: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/964/1/TTLV Đao Ngoc...1 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ĐÀO NGỌC SƠN

23

nhưng ưu thế cơ sở dữ liệu phân tán mang lại

Những kết quả chính của luận văn

- 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ố, Các

phép nối, nối nửa, phân rã các câu hỏi thành câu hỏi con, Đánh giá các

câu hỏi định vị dữ liệu và tối ưu hóa câu hỏi phân tán

- Giới thiệu các thuậ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ời gian đáp ứng hệ thống, các thuật toán

INGRES phân tán, Thuật toán System R*, thuật toán SDD-1 và thuật

toán AHY

- Cài đặt thử nghiệm thuật toán System R* phân tán

3. Hướng phát triển đề tài

Với thời gian có hạn đề tài mới dừng ở mức độ tiếp cận tối ưu cơ sở dữ liệu

phân tán, hướng phát triển tới là nghiên cứu cài đặt sâu hơn thuật toán System R*

phân tán, bao gồm các kết nối lồng nhau, các cài đặt thuật toán trên mô hình nhiều

trạm, phức tạp hơn.

Các tiếp cận nhờ nối nửa, đại diện là SDD-1 và AHY. Các nối nửa chỉ có lợi

khi một nối có độ tuyển chọn tốt, khi đó nối nửa đóng vai trò như tác nhân rút gọn

kích thước.

Nghiên cứu hệ thống phức tạp hơn, có nhiều bản sao, cài đặt phân rã câu truy

vấn trên từng nút mạng, và tích hợp dữ liệu.

Page 24: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGdlib.ptit.edu.vn/bitstream/123456789/964/1/TTLV Đao Ngoc...1 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ĐÀO NGỌC SƠN

24

TÀI LIỆU THAM KHẢO

[1] 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

[2] 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

[3] Nguyễn Văn Nhuận, Phạm Việt Bình(2009), “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”, NXB Khoa học và kỹ thuật

[4] Vũ Đức Thi (1997) Cơ sở dữ liệu – kiến thức và thực hành, NXB Thống kê.

[5]Kenneth H. Rosen, người dịch: Phạm Văn Thiều, Đặng Hữu Thịnh (1998), Toán

rời rạc Ứng dụng trong tin học, NXB Khoa học và kỹ thuật.

[6] M. Tamer Ozsu, Patrick Valduriez, biên dịch Trần Đức Quang (1999), Nguyên

lý các hệ CƠ SỞ DỮ LIỆU phân tán, tập I, NXB Thống kê.

[7] Clement T.Yu, Weiyi Meng (1998), Principles of Database Query Processing

for Advanced Applications, Morgan Kaufmann Publishers, Inc.

[8] Sakti Pramanik, David Ittiner (1985), Use of Graph-Theoretic Models for

Optimal Relational Database Accesses to Perform Join, pages 57-76 , ACM

Transaction on Database Systems.

[9] Zhe Li, Kenneth A. Ross (1994), Better Semijoin Using Tuple Bit-Vectors,

Technical Report No. CUCS-010-94.

[10] Ramzi A. Haraty, Roula C.Fany (2001), Query Acceleration in Distributed

Database Systems, Colombian Journal of Computation. Volume 2, Number 1.