- 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 t
Trang 1Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN
-
PHẠM THỊ THU HUYỀN
TỐI ƯU HÓA TRUY VẤN TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS ĐOÀN VĂN BAN
Thái Nguyên - 2010
Trang 2Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS ĐOÀN VĂN BAN
Thái Nguyên - 2010
Trang 3-1-
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
MỤC LỤC
Trang phụ bìa
Lời cam đoan
Lời cám ơn
Mục lục i
Danh mục ký hiệu, các chữ viết tắt ii
Danh mục hình vẽ, ảnh chụp, đồ thị iii
PHẦN MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Phạm vi nghiên cứu và ứng dụng 1
3 Ý nghĩa khoa học 1
4 Phương pháp nghiên cứu 1
5 Các kết quả dự kiến đạt được 2
Chương 1 CƠ SỞ DỮ LIỆU PHÂN TÁN 3
1.1 Khái niệm về hệ cơ sở dữ liệu phân tán 3
1.1.1 Khái niệm 3
1.1.2 Những ưu điểm của cơ sở dữ liệu phân tán 3
1.1.3 Những nhược điểm của cơ sở dữ liệu phân tán 4
1.2 Các đặc trưng trong suốt của cơ sở dữ liệu phân tán 5
1.2.1 Trong suốt phân tán 5
1.2.2 Trong suốt giao dịch 6
1.2.3 Trong suốt thất bại 6
1.2.4 Trong suốt thao tác 6
1.2.5 Trong suốt về tính không thuần nhất 7
1.3 Kiến trúc tham chiếu của cơ sở dữ liệu phân tán 7
1.4 Các kỹ thuật xây dựng cơ sở dữ liệu phân tán 8
1.4.1 Phân đoạn 8
1.4.3 Định vị dữ liệu 13
1.5 Kết luận 14
Chương 2 CÁC NGUYÊN LÝ CHUNG CỦA TỐI ƯU HÓA CÂU TRUY VẤN PHÂN TÁN 15
2.1 Các chiến lược tối ưu hóa cơ bản 15
2.2 Các phép biến đổi đại số 16
2.2.1 Các yêu cầu của phép biến đổi tối ưu hoá câu truy vấn 16
2.2.2 Biểu thức tương đương 17
2.2.3 Các qui tắc liên quan đến phép kết nối và tích Decartes 17
2.2.4 Các qui tắc liên quan đến phép chọn và phép chiếu 18
2.2.5 Thuật toán cải tiến cây biểu diễn biểu thức quan hệ 19
2.3 Phân rã câu truy vấn thành những câu truy vấn con 24
2.3.1 Đồ thị nối các quan hệ 24
2.3.2 Tách câu truy vấn thành các câu truy vấn con 25
2.3.3 Dùng phép nửa kết nối để giảm kích thước quan hệ 26
2.3.4 Phương pháp thay thế n-bộ 26
2.4 Các kỹ thuật tối ưu hóa tập trung 27
2.4.1 Thuật toán INGRES 28
Trang 42.4.2 Thuật toán SYSTEM R 31
2.5 Kết luận 34
Chương 3 TỐI ƯU HÓA TRUY VẤN PHÂN TÁN 35
3.1 Phân rã câu truy vấn 35
3.1.1 Chuẩn hoá 35
3.1.2 Phân tích 36
3.1.3 Loại bỏ dư thừa 39
3.1.4 Viết lại 40
3.2 Định vị dữ liệu phân tán 42
3.2.1 Rút gọn phân đoạn ngang nguyên thuỷ 43
3.2.2 Rút gọn phân đoạn dọc 46
3.2.3 Rút gọn phân đoạn gián tiếp 47
3.2.4 Rút gọn phân đoạn hỗn hợp 49
3.3 Khái quát về xử lý câu truy vấn 50
3.3.1 Vấn đề xử lý truy vấn 51
3.3.2 Các mục tiêu của xử lý câu truy vấn 52
3.3.3 Các giai đoạn xử lý câu truy vấn 52
3.4 Tối ưu hoá các truy vấn phân tán 53
3.4.1 Đầu vào bộ tối ưu hoá câu truy vấn 54
3.4.2 Thứ tự kết nối trên các câu truy vấn đoạn 59
3.4.3 Các thuật toán tối ưu hoá câu truy vấn phân tán 65
3.4.3 Kết luận 82
Chương 4 CÀI ĐẶT VÀ THỬ NGHIỆM THUẬT TOÁN 85
4.1 Xác định thuật toán 85
4.2 Cài đặt thử nghiệm thuật toán tối ưu truy vấn trong cơ sở dữ liệu phân tán 85
4.2.1 Cấu trúc của CSDL 85
4.2.2 Xây dựng ứng dụng 88
4.3 Kết luận 95
KẾT LUẬN 96
TÀI LIỆU THAM KHẢO 97
Trang 5-1-
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
PHẦN MỞ ĐẦU
1 Lý do chọn đề tài
Xã hội ngày càng phát triển kèm theo yêu cầu khối lượng thông tin cần xử
lý, lưu trữ tăng lên Trên thực tế, các doanh nghiệp, các đơn vị và các tổ chức phải phân bố trên một vùng rộng lớn về mặt địa lý, có thể dàn trải trên phạm vi nhiều thành phố, hoặc toàn bộ quốc gia hay đến một vài quốc gia, thậm chí trên toàn cầu Do đó, dữ liệu không thể lưu trữ tập trung ở một địa điểm nhất định mà rải khắp các địa điểm mà cơ quan, tổ chức hay doanh nghiệp đó hoạt động Khi dữ liệu không còn lưu trữ tập trung thì vấn đề làm thế nào để quản lý, tốc độ truy xuất dữ liệu phục vụ cho công tác chuyên môn không bị ảnh hưởng, không bị gián đoạn được đặt ra Đó chính là tiền đề để cơ sở dữ liệu phân tán ra đời
Khi khối lượng thông tin phải xử lý ngày càng lớn, phong phú và đa dạng thì vấn đề đặt ra là xử lý thông tin như thế nào để giảm chi phí đến mức tối thiểu Một trong các giải pháp có tính khả thi là phải tối ưu hoá các câu lệnh khi
truy vấn dữ liệu nên tôi chọn nghiên cứu “Tối ưu hoá truy vấn trong cơ sở dữ
liệu phân tán” làm đề tài luận văn tốt nghiệp của mình
2 Phạm vi nghiên cứu và ứng dụng
Đề tài nghiên cứu về các vấn đề cơ bản của cơ sở dữ liệu phân tán, các nguyên lý chung, các kỹ thuật, các thuật toán liên quan đến vấn đề tối ưu hoá truy vấn và cài đặt thử nghiệm một thuật toán tối ưu truy vấn phân tán
3 Ý nghĩa khoa học
Trên cơ sở nghiên cứu các mô hình CSDL phân tán và các cơ chế truy vấn để xây dựng thuật toán truy vấn tối ưu Những kết quả dự kiến của luận văn sẽ góp phần vào việc thiết kế CSDL phân tán phục vụ cho việc truy vấn hiệu quả
4 Phương pháp nghiên cứu
Nghiên cứu lý thuyết CSDL, CSDL phân tán, các kỹ thuật truy vấn trong các sách, bài báo đã công bố Tổng hợp các kết quả đã công bố về truy vấn tối ưu và đề xuất một số cải tiến thực hiện tối ưu hóa truy vấn phân tán
Trang 65 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 các phương pháp, thuật toán tối ưu hóa truy vấn phân tán
- Cài đặt thử nghiệm một thuật toán tối ưu truy vấn phân tán
Trang 7-3-
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
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
Hệ quản trị cơ sở dữ liệu phân tán (DBMS) là phần mềm quản trị cơ sở dữ liệu, đảm bảo trong suốt đối với người sử dụng và cho phép tính tự trị nghĩa là mỗi
cơ sở dữ liệu thành phần vẫn được quản trị độc lập và riêng biệt
Đị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 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 [6]
1 Cho phép quản lý dữ liệu với nhiều mức trong suốt
- Trong suốt mạng - phân tán: Hệ quản trị cơ sở dữ liệu 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
- Trong suốt bản sao
- Trong suốt phân đoạn
2 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
Trang 8thời gian nào đó Khi dữ liệu và cơ sở dữ liệu 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 cơ sở dữ liệu 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
3 Cải thiện hiệu năng
Một hệ quản trị cơ sở dữ liệu phân tán, phân đoạn cơ sở dữ liệu có thể làm cho dữ liệu sẽ được lưu giữ tại gần nơi sử dụng nhất Dữ liệu được lưu giữ 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ố các giao tác trên cơ sở dữ liệu tập trung vì vậy cũng tăng hiệu suất hệ thống
4 Dễ dàng mở rộng
Việc thêm cơ sở dữ liệu mới, tăng kích cỡ cơ sở dữ liệu 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 cơ sở dữ liệu thành phần
1.1.3 Những nhược điểm của cơ sở dữ liệu phân tán
- Độ 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ư:
+ 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 cơ sở dữ liệu phân tán + Quản lý các bản sao
+ Quản lý thư mục - catalog phân tán
- Hệ thống phần cứng cũng phức tạp hơn vì cần có nhiều trạm và các trạm phải được kết nối trên mạng
- 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ơ
Trang 9-5-
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
sở dữ liệu phân tán với hệ cơ sở dữ liệu tập trung [6]:
- 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ư là ở hình 1.1
Hình 1.1 Kiến trúc cơ sở dữ liệu phân tán
Trong mô hình dữ liệu tập trung, tài nguyên tập trung tại một máy tính Trong hệ thống cơ sở dữ liệu phân tán, cơ sở dữ liệu được chứa trong nhiều máy tính, các máy tính này được nối với nhau qua các hệ thống truyền thông, chúng không chia sẻ bộ nhớ chung cũng như không dùng chung đồng hồ Các bộ xử lý trong hệ thống phân tán có kích cỡ và chức năng khác nhau (chẳng hạn có thể bao gồm các bộ vi xử lý, trạm làm việc, máy tính mini, hay các máy lớn vạn năng) Trong hệ thống cơ sở dữ liệu phân tán gồm nhiều trạm thì mỗi trạm có thể truy nhập dữ liệu ở các trạm khác
1.2 Các đặc trƣng trong suốt của cơ sở dữ liệu phân tán
1.2.1 Trong suốt phân tán
- Cho phép xử lý dữ liệu trên hệ cơ sở dữ liệu phân tán giống như đối với cơ
sở dữ liệu tập trung
- Người sử dụng không cần biết: Dữ liệu đã được phân đoạn 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
Trang 10- Trong suốt phân tán thể hiện:
+ Trong suốt địa điểm: User không cần biết lưu trữ vật lý của dữ liệu ở đâu, trong truy vấn chỉ cần chỉ ra tên đoạn mà không cần chỉ ra vị trí
+ 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ệ cơ sở dữ liệu 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 user 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 đoạn: Một quan hệ trong cơ sở dữ liệu phân tán có thể phân đoạn ngang hoặc phân đoạn 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 đoạn cho phép người sử dụng không cần biết có sự phân đoạn, các truy vấn dữ liệu vẫn được viết như cơ sở dữ liệu tập trung
1.2.2 Trong suốt giao dịch
Cơ sở dữ liệu 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 roll back khi một trạm bị thất bại
1.2.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 cơ sở dữ liệu 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ác trạm này hoặc là ủy thác hoặc là roll back lại giao tác đó
1.2.4 Trong suốt thao tác
Cho phép các câu lệnh thao các dữ liệu đơn giản để truy nhập được các cơ sở
Trang 11data error !!! can't not
read
Trang 12data error !!! can't not
read
Trang 13data error !!! can't not
read
Trang 14data error !!! can't not
read
Trang 15data error !!! can't not
read
Trang 17data error !!! can't not
read
Trang 18data error !!! can't not
read
Trang 19data error !!! can't not
read
Trang 20data error !!! can't not
read
Trang 21data error !!! can't not
read
Trang 22data error !!! can't not
read
data error !!! can't not
read
Trang 23data error !!! can't not
read
data error !!! can't not
read
Trang 24data error !!! can't not
read
data error !!! can't not
read
Trang 26read
Trang 27data error !!! can't not
read