1. Trang chủ
  2. » Luận Văn - Báo Cáo

Cơ sở dữ liệu phân tán và tối ưu hoá vấn tin

12 365 0

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 12
Dung lượng 378,55 KB

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

Nội dung

Chương 2: MỘT SỐ NGUYÊN LÝ CHUNG CỦA TỐI ƯU HÓA CÂU TRUY VẤN - Chương này trình bày nguyên lý chung của tối ưu hóa truy vấn trong CSDL nói chung và trong CSDL phân tán nói riêng.. Trong

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Nguyễn Quang Thảo

Cơ sở dữ liệu phân tán và tối ưu hoá vấn

tin

Luận văn Thạc sĩ Công nghệ thông tin

Hà Nội - 2006

Trang 2

MỤC LỤC

LỜI NÓI ĐẦU 5

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

1.1 Cơ sở dữ liệu quan hệ 7

1.2 Các dạng chuẩn 8

1.3 Ngôn ngữ dữ liệu quan hệ [4] 10

1.4 Hệ cơ sở dữ liệu phân tán [4] Error! Bookmark not defined 1.4.1 Các khái niệm về CSDL PT Error! Bookmark not defined 1.4.2 Các mục tiêu của hệ quản trị CSDL PT Error! Bookmark not defined 1.4.3 Kiến trúc hệ quản trị CSDL PT Error! Bookmark not defined 1.4.4 Phân mảnh, nhân bản và cấp phát dữ liệu Error! Bookmark not defined.

Chương 2 MỘT SỐ NGUYÊN LÝ CHUNG CỦA TỐI ƯU HÓA TRUY VẤN

Error! Bookmark not defined 2.1 Mục tiêu của bài toán xử lý truy vấn [4] Error! Bookmark not defined 2.2 Độ phức tạp của các phép toán đại số quan hệ Error! Bookmark not defined.

2.3 Mô tả bộ xử lý truy vấn Error! Bookmark not defined 2.4 Phân rã truy vấn và định vị dữ liệu Error! Bookmark not defined 2.4.1 Phân rã truy vấn Error! Bookmark not defined 2.4.2 Định vị dữ liệu Error! Bookmark not defined 2.5 Tối ưu hóa truy vấn phân tán Error! Bookmark not defined 2.5.1 Tối ưu hóa truy vấn Error! Bookmark not defined 2.5.2 Tối ưu hóa truy vấn trong môi trường tập trung Error! Bookmark not defined.

2.5.3 Các thuật toán tối ưu hóa truy vấn trong môi trường phân tán Error! Bookmark not defined.

Chương 3 MỘT SỐ ĐỀ XUẤT KHÁC VỀ XỬ LÝ PHÉP NỐI TRONG CÁC HỆ

CSDL Error! Bookmark not defined.

3.1 Ứng dụng lý thuyết đồ thị trong tối ưu hóa truy xuất CSDL để thực hiện phép

nối [9] Error! Bookmark not defined 3.1.1 Sử dụng chỉ mục để thực hiện phép nối Error! Bookmark not defined 3.1.2 Mô hình đồ thị kết nối trang Error! Bookmark not defined 3.1.3 Xác định cận trên của kích thước bộ nhớ đệm Error! Bookmark not defined.

3.1.4 Các Heuristic để làm giảm lượng bộ nhớ đệm cần thiết Error! Bookmark not defined.

3.1.5 Lược đồ bộ nhớ đệm dựa trên cơ sở lưu trữ toàn bộ trang Error! Bookmark not defined.

3.1.6 Xác định kích thước bộ nhớ đệm để thực hiện một truy xuất cho mỗi

trang Error! Bookmark not defined 3.2 Một số phương án tiếp cận xử lý nối phân tán khác Error! Bookmark not defined.

Trang 3

3.2.1 Sử dụng thông tin phụ thuộc vị trí (placement dependency) để thực hiện

nối [7] Error! Bookmark not defined 3.2.2 Thuật toán phân mảnh và nhân bản [7] Error! Bookmark not defined 3.2.3 Thuật toán qui hoạch băm [7] Error! Bookmark not defined 3.2.4 Xử lý truy vấn chuỗi [7] Error! Bookmark not defined 3.2.5 Tăng tốc xử lý truy vấn nhờ AHYPERF [12] Error! Bookmark not defined.

KẾT LUẬN Error! Bookmark not defined.

TÀI LIỆU THAM KHẢO 11

Trang 4

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

Hình 1 1 CSDL trung tâm trên một mạng Error! Bookmark not defined Hình 1 2 Môi trường của hệ CSDL PT Error! Bookmark not defined Hình 1 3 Kiến trúc tham chiếu CSDL PT Error! Bookmark not defined Hình 1 4 Các thành phần của một hệ quản trị CSDL PT Error! Bookmark not defined.

Hình 1 5 Các kiểu phân mảnh Error! Bookmark not defined Hình 1 6 Các quan hệ đã được chuẩn hóa Error! Bookmark not defined Hình 1 7 Phân mảnh ngang nguyên thủy cho quan hệ DUAN Error! Bookmark not defined.

Hình 1 8 Phân mảng dọc cho quan hệ DUAN Error! Bookmark not defined Hình 2 1 Các chiến lược thực thi Error! Bookmark not defined Hình 2 2 Lược đồ tổng quát xử lý truy vấn phân tán Error! Bookmark not defined.

Hình 2 3 Các đồ thị quan hệ Error! Bookmark not defined Hình 2 4 Đồ thị truy vấn không liên thông Error! Bookmark not defined Hình 2 5 Thí dụ về cây truy vấn Error! Bookmark not defined Hình 2 6 Cây truy vấn tương đương Error! Bookmark not defined Hình 2 7 Cây truy vấn đã được viết lại Error! Bookmark not defined Hình 2 8 Cây truy vấn sau khi thay thế Error! Bookmark not defined Hình 2 9 Rút gọn phân mảnh ngang (với phép chọn) Error! Bookmark not defined.

Hình 2 10 Rút gọn cho phân mảnh ngang (với phép nối) Error! Bookmark not defined.

Hình 2 11 Rút gọn cho phân mảnh dọc Error! Bookmark not defined Hình 2 12 Rút gọn cho phân mảnh gián tiếp Error! Bookmark not defined Hình 2 13 Rút gọn cho phân mảnh hỗn hợp Error! Bookmark not defined Hình 2 14 Quá trình tối ưu hóa truy vấn Error! Bookmark not defined Hình 2 15 Các cây nối tương đương Error! Bookmark not defined Hình 2 16 Hai hình thái của các cây nối Error! Bookmark not defined Hình 2 17 Hành động của bộ tối ưu hóa khi áp dụng chiến lược đơn định Error! Bookmark not defined.

Hình 2 18 Hành động của bộ tối ưu hóa khi áp dụng chiến lược ngẫu nhiên Error! Bookmark not defined.

Hình 2 19 Thí dụ về truyền dữ liệu cho một truy vấn Error! Bookmark not defined.

Hình 2 20 Đồ thị nối của câu truy vấn q1 Error! Bookmark not defined Hình 2 21 Các thứ tự nối khác nhau Error! Bookmark not defined Hình 2 22 Truyền các toán hạng trong phép toán hai ngôi Error! Bookmark not defined.

Hình 2 23 Đồ thị nối của câu truy vấn phân tán Error! Bookmark not defined Hình 2 24 Biến đổi câu truy vấn có chu trình Error! Bookmark not defined Hình 2 25 Truy vấn mẫu và số liệu thống kê Error! Bookmark not defined.

Trang 5

Hình 3 1 Quan hệ với các bộ tham gia nối Error! Bookmark not defined Hình 3 2 Hai dãy truy xuất trang dữ liệu của hình 3.1 Error! Bookmark not defined.

Hình 3 3 Đồ thị kết nối trang của CSDL trong hình 3.1 Error! Bookmark not defined.

Hình 3 4 Quan hệ giữa kích thước tập trang và hệ số chọn Error! Bookmark not defined.

Hình 3 5 Một đồ thị kết nối trang tổng quát Error! Bookmark not defined Hình 3 6 Giá trị lát cắt biểu diễn lượng bộ nhớ đệm cần thiết Error! Bookmark not defined.

Hình 3 7 Kích thước thước bộ nhớ đệm của heuristic 1 và 2 Error! Bookmark not defined.

Hình 3 8 Kích thước trung bình của danh sách tìm về Error! Bookmark not defined.

Hình 3 9 Đồ thị kết nối trang và đồ thị không chu trình tương ứng Error! Bookmark not defined.

Hình 3 10 Đồ thị kết nối trang Error! Bookmark not defined Hình 3 11 Đồ thị không chu trình thu được từ hình 3.10 Error! Bookmark not defined.

Hình 3 12 Hai quan hệ được phân mảnh Error! Bookmark not defined Hình 3 13 Cấu hình trước khi xử lý nối Error! Bookmark not defined Hình 3 14 Một ví dụ về phân mảnh trên các trạm Error! Bookmark not defined Hình 3 15 Mô tả cách tạo bản sao cho bộ Error! Bookmark not defined Hình 3 16 Tính toán chi phí từ dưới – lên Error! Bookmark not defined Hình 3 17 PERF của R và S Error! Bookmark not defined Hình 3 18 Mô tả quan hệ Error! Bookmark not defined.

Trang 6

LỜI NÓI ĐẦU

Cơ sở dữ liệu (CSDL) là một trong những lĩnh vực được quan tâm nhiều trong công nghệ thông tin Ra đời từ những năm 60 đến nay, đã xuất hiện nhiều thế hệ quản trị CSDL, và cũng đã có nhiều ứng dụng trong khoa học kỹ thuật cũng như trong các ngành kinh tế khác

Việc nghiên cứu CSDL đã và đang phát triển ngày càng phong phú, đa dạng Từ những năm 70, mô hình dữ liệu quan hệ do E.F Codd đưa ra đã tạo một cơ sở vững chắc cho các vấn đề nghiên cứu về CSDL Với ưu điểm về tính cấu trúc, và khả năng hình thức hóa phong phú, CSDL quan hệ dễ dàng mô phỏng các hệ thống thông tin đa dạng trong thực tiễn, làm tăng khả năng xử lý, quản trị, khai thác dữ liệu, thông tin Trên thực tế nhiều hệ quản trị CSDL thương mại, xây dựng trên mô hình quan hệ, đã và đang được lưu hành, sử dụng rộng rãi trên thị trường như:DBASE, ORACLE, MS SQL…

Cho đến nay đã có hàng loạt các vấn đề về CSDL được nghiên cứu, giải quyết Với mục đích tìm hiểu để nâng cao khả năng ứng dụng của của các hệ CSDL, luận văn tập trung vào việc nghiên cứu vấn đề “tối ưu hóa câu truy vấn trong CSDL phân tán”

CSDL phân tán nói riêng và các hệ phân tán nói chung là một lĩnh vực nghiên cứu không mới, nhưng gần đây cùng với sự phát triển nhanh chóng và mạnh mẽ của công nghệ truyền thông, mạng Internet và đặc biệt là xu thế phát triển của thương mại điện tử, thì CSDL phân tán đã trở thành một lãnh vực thu hút nhiều sự quan tâm của các nhà nghiên cứu cũng như các nhà sản xuất phần mềm

Như ta đã biết, thành công ngày càng tăng của công nghệ CSDL quan hệ trong việc

xử lý dữ liệu một phần là do tính dễ dùng khả năng khai thác, tìm kiếm dữ liệu của các ngôn ngữ phi thủ tục (như SQL), và chính nó đã cải thiện đáng kể công việc phát triển ứng dụng và khả năng sáng tạo của người dùng Các ngôn ngữ phi thủ tục của CSDL quan hệ đã cho phép diễn tả câu truy vấn phức tạp một cách chính xác và đơn giản Đặc biệt là để có được câu trả lời cho một câu truy vấn thì người sử dụng

Trang 7

không cần phải xác định chính xác trình tự tiến hành các thao tác/phép toán trong một câu truy vấn Trình tự này được xử lý bởi Bộ xử lý truy vấn (query processor) của hệ quản trị CSDL, và đó là bài toán xử lý truy vấn hay tối ưu hóa truy vấn Tối ưu hóa truy vấn là việc xác định một chiến lược thực hiện truy vấn sao cho có thể cực tiểu hóa được hàm chi phí Đây là bài toán khó, đặc biệt là trong môi trường phân tán bài toán này thuộc lớp NP-Hard Để tránh một chi phí tối ưu hóa quá lớn thì cách tiếp cận dùng các heuristic được sử dụng để có thể đạt được một chiến lược thực thi gần tối ưu Các yếu tố cần được xem xét khi giải bài toán này là: sự phân tán dữ liệu, chi phí xử lý cục bộ, chi phí truyền…

Các yếu tố quyết định đến việc cực tiểu hàm chi phí có thể có nhiều, nhưng những yếu tố quan trọng nhất là trình tự thực hiện tối ưu các phép nối, việc chọn các bản sao, các mảnh phải truy xuất, cũng như việc chọn các trạm thực hiện và việc sử dụng các giải thuật truy xuất dữ liệu cục bộ và phân tán

Với những nét chính ở trên, nội dung của bản luận văn này trình bày các nguyên lý chung, các kỹ thuật, thuật toán liên quan đến vấn đề tối ưu hóa truy vấn và một số phương án đề xuất cho việc giải quyết bài toán tối ưu này Luận văn được chia làm

3 phần:

Chương 1: KHÁI QUÁT VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN - Chương này trình

bày những kiến thức cơ bản của hệ CSDL phân tán, kiến trúc tham chiếu, các kiểu phân mảnh, các mức trong suốt phân tán

Chương 2: MỘT SỐ NGUYÊN LÝ CHUNG CỦA TỐI ƯU HÓA CÂU TRUY VẤN - Chương này trình bày nguyên lý chung của tối ưu hóa truy vấn trong CSDL

nói chung và trong CSDL phân tán nói riêng Trong chương này cũng có trình bày một số thuật toán kinh điển để tối ưu hóa câu truy vấn được sử dụng trong các hệ CSDL quan hệ như INGRES, SYSTEM R…

Chương 3: Chương 3 MỘT SỐ ĐỀ XUẤT KHÁC VỀ XỬ LÝ PHÉP NỐI TRONG CÁC HỆ CSDL - Chương này trình bày một số các đề xuất cải tiến, các

kỹ thuật xử lý truy vấn dựa trên việc xử lý các nối và có nhận xét, đánh giá và so sánh

Trang 8

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

Chương này trình bày một cách khái quát những kiến thức cơ sở về mô hình quan

hệ (lược đồ quan hệ, ngôn ngữ dữ liệu quan hệ…), về hệ CSDL phân tán (các kiến trúc, đặc trưng, và các vấn đề của CSDL phân tán…)[4] Chương này cung cấp những kiến thức cơ sở cho các chương sau

1.1 Cơ sở dữ liệu quan hệ

Cơ sở dữ liệu (CSDL) là một tập hợp dữ liệu có cấu trúc, liên quan đến các hiện

tượng thực tế mà chúng ta cố gắng mô hình hóa chúng CSDL quan hệ là loại CSDL được cấu trúc theo dạng bảng (table)

Về hình thức quan hệ (relation) là một tập con của tích Descartes của một hoặc

nhiều miền trị (domain) xác định trên tập các thuộc tính (attributes)

Một quan hệ r xác định trên tập thuộc tính {A1,A2, A n}, khi đó :

) (

) ( )

(A1 Dom A2 Dom A n Dom

Mỗi hàng của quan hệ được gọi là một bộ (tuple), như vậy quan hệ r là một tập hợp

các n-bộ có dạng:

), (

| ) , , , {(a1 a2 a n a i Dom A i

Trong đó Dom(A i) là miền giá trị của thuộc tính A i

Số thuộc tính của quan hệ gọi là bậc của quan hệ

Quan hệ r có thể bị thay đổi theo thời gian do việc thực hiện các phép toán cập nhật trên r (thêm vào, loại bỏ, sửa đổi các bộ)

Lược đồ quan hệ (relation scheme) Một lược đồ quan hệ R là một cặp có thứ tự

 F

R , , trong đó  là tập hữu hạn các thuộc tính của quan hệ, F là tập các điều kiện giữa các thuộc tính (F còn gọi là tập các ràng buộc toàn vẹn)

Một ràng buộc trên tập các thuộc tính {A1,A2, ,A n}là một tính chất trên tập tất cả các quan hệ xác định trên tập thuộc tính này

Trang 9

Còn khi nói đến một lược đồ quan hệ, trong đó chỉ tập trung vào khía cạnh mô tả cấu trúc của một quan hệ mà không quan tâm đến bộ cụ thể, ta sẽ dùng ký hiệu:

) , , , (A1 A2 A n R

Với R là tên của quan hệ, A1,A2, ,A n là danh sách tên các thuộc tính

Thể hiện quan hệ Với lược đồ quan hệ R, theo thời gian, nhiều quan hệ có cấu

trúc và ràng buộc toàn vẹn được mô tả bởi lược đồ này Mỗi quan hệ như vậy còn

được gọi là một thể hiện của lược đồ R Lược đồ quan hệ mô tả cấu trúc của quan

hệ Tại mỗi thời điểm lược đồ quan hệ sẽ có một thể hiện quan hệ cụ thể

Khóa của một lược đồ quan hệ là một tập con các thuộc tính không rỗng nhỏ nhất sao cho giá trị của các thuộc tính trong khóa cho phép xác định duy nhất mỗi bộ của quan hệ Các thuộc tính có mặt trong ít nhất một khóa gọi là các thuộc tính khóa Một tập có chứa khóa được gọi là siêu khóa (supperkey) Ta có thể định nghĩa một cách hình thức như sau:

Cho lược đồ quan hệ R,F , K , K được gọi là khóa của lược đồ quan

hệ R nếu thỏa mãn 2 điều kiện sau:

i Bất kỳ hai bộ khác nhau t1,t2r , r là một thể hiện của R, luôn có

] [ ]

1 K t K

ii Không tồn tại K'  K

thỏa mãn điều kiện trên

Tập K sẽ là siêu khóa nếu chỉ thỏa mãn điều kiện (i)

1.2 Các dạng chuẩn

Chuẩn hóa – là một quá trình từng bước thay thế một tập quan hệ đã cho bằng các

tập quan hệ có cấu trúc ngày càng đơn giản và chuẩn tắc hơn [Tsichritzis and Lochovsky, 1977] Mục đích của chuẩn hóa là loại bỏ những bất thường của một quan hệ Quan hệ được chuẩn hóa là quan hệ trong đó mỗi miền của một thuộc tính

chỉ chứa những giá trị nguyên tố (atomic), tức là không phân nhỏ được nữa và do đó

mỗi giá trị trong quan hệ cũng là nguyên tố

Theo lý thuyết ban đầu Codd đưa ra có 3 dạng chuẩn của quan hệ:

Trang 10

Về sau Boyce và Codd đã định nghĩa một phiên bản sửa đổi của dạng 3NF, thường được gọi là dạng chuẩn Boyce-Codd (BCNF) Tiếp sau đó là các dạng chuẩn 4NF [Fagin, 1977] và chuẩn 5NF [Fagin, 1979]

Yêu cầu của chuẩn hóa là không làm mất mát thông tin khi thay một quan hệ bằng các quan hệ khác Nếu chúng ta có thể nối các quan hệ kết quả để tạo thành quan hệ ban đầu, thì quá trình phân rã đó được gọi là phân rã không mất thông tin

Một yêu cầu khác đối với quá trình chuẩn hóa là bảo toàn phụ thuộc (dependency

preservation) Phân rã được gọi là bảo toàn phụ thuộc nếu hợp của các phụ thuộc

hàm của các quan hệ được phân rã tương đương với bao đóng (closure) của các phụ thuộc hàm trong quan hệ ban đầu

Định nghĩa dạng chuẩn 1NF Một lược đồ quan hệ R được gọi là ở dạng chuẩn 1NF

nếu và chỉ nếu toàn bộ các miền có mặt trong R đều chỉ chứa các giá trị nguyên tố [2]

Định nghĩa dạng chuẩn 2NF Lược đồ quan hệ R ở dạng chuẩn 2NF nếu nó ở dạng

chuẩn 1NF và nếu mỗi thuộc tính không khóa của R phụ thuộc hàm đầy đủ vào mỗi một khóa [2]

Định nghĩa dạng chuẩn 3NF Lược đồ quan hệ R ở dạng chuẩn 3NF nếu nó ở dạng

chuẩn 1NF và nếu mỗi thuộc tính không khóa của R là không phụ thuộc hàm bắc cầu vào mỗi một khóa [2]

Định nghĩa dạng chuẩn BCNF Lược đồ quan hệ với tập các phụ thuộc hàm được

gọi là ở dạng chuẩn BCNF nếu XA thỏa trên R, AX thì X là một siêu khóa của R [2]

Ngày đăng: 11/11/2016, 22:56

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

w