1. Trang chủ
  2. » Kinh Doanh - Tiếp Thị

Nghiên cứu tối ưu hóa truy vấn hệ cơ sở dữ liệu

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

Header Page of 113 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 liệu 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 Footer Page of 113 Header Page of 113 MỞ ĐẦU Lý chọn đề tài Thực trạng Viễn thông hóa sử dụng phần mềm phục vụ công tác quản lý điều hành sản xuất mình, ứng dụng 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 hóa… Dữ liệu cực lớn lên tới hàng triệu 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 gặp nhiều khó khăn vấn đề máy chủ, băng thông đường truyền, tính sẵn sàng 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 hệ quản trị CSDL Oracle Mục đích đề tài Nghiên cứu phương pháp xây dựng sở liệu phân tán, tối ưu hóa truy vấn sở liệu phân tán Đối tượng phạm vi nghiên cứu - Đối tượng nghiên cứu sở liệu phân tán - Phạm vi nghiên cứu kỹ thuật đồng tối ưu truy vấn sở liệu Phương pháp nghiên cứu - Nghiên cứu lý thuyết : tìm hiểu nghiên cứu tài liệu sách , tạp chí viết 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 Các kết dự kiến đạt - Giới thiệu tổng quan 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 Footer Page of 113 Header Page of 113 CHƯƠNG CƠ SỞ DỮ LIỆU PHÂN TÁN 1.1 Khái niệm hệ sở liệu phân tán 1.1.1 Khái niệm Cơ sở liệu phân tán tập hợp liệu phục thuộc lôgic lẫn hệ thống lưu trữ trạm mạng máy tính Cơ sở liệu phân tán làm tăng khả truy nhập tới sở liệu lớn mạng Trong hệ thống máy tính quản lý sở liệu thành phần gọi node site [4] Định nghĩa nhấn mạnh hai khía cạnh quan trọng sở liệu phân tán - Tính phân tán: Thực tế liệu không cư trú trạm, phân biệt sở liệu phân tán với sở liệu tập trung - Sự tương quan logic: Các liệu có số tính chất ràng buộc lẫn phân biệt sở liệu phân tán với tập sở liệu địa phương với tệp trạm khác mạng 1.1.2 Hệ quản trị sở liệu phân tán(DDBMS) Khác DDBMS có chức hỗ trợ việc tạo bảo trì sở liệu phân tán, chúng có thành phần tương tự hệ quản trị sở liệu tập trung thành thành phần hỗ trợ việc chuyển tải liệu đến trạm ngược lại Hệ quản trị sở liệu phân tán phân làm loại - Cơ sở liệu phân tán - Cơ sở liệu phân tán hỗn tạp 1.1.3 Những ưu điểm sở liệu phân tán Lợi ích sở liệu phân tán liệu sở liệu vật lý riêng biệt tích hợp logic với làm cho nhiều người sử dụng mạng truy nhập [7] Cho phép quản lý liệu với nhiều mức suốt Tăng độ tin cậy khả sẵn sàng Cải thiện hiệu Footer Page of 113 Header Page of 113 Dễ dàng mở rộng 1.1.4 Những nhược điểm sở liệu phân tán [3] - Độ phức tạp thiết kế cài đặt hệ thống tăng: Hệ quản trị sở liệu phân tán phải bổ sung thêm chức như: - Khó điều khiển tính quán liệu - Các phần mềm hệ thống đảm bảo quản trị, trì kết nối, trao đổi liệu mạng - Bảo mật khó khăn Ở mức phần cứng vật lý, nhân tố sau để phân biệt hệ sở liệu phân tán với hệ sở liệu tập trung : - Có nhiều máy tính gọi trạm hay nút - Các trạm phải kết nối kiểu mạng truyền thông để truyền liệu 1.2 Các đặc trưng suốt sở 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 tính không 1.3 Kiến trúc tham chiếu sở liệu phân tán Kiến trúc tham chiếu không cài đặt rõ ràng tất sở liệu phân tán, nhiên mức khái quát xác, thích hợp để mô tả tổ chức chung cho hệ sở liệu phân tán [3] - Lược đồ tổng thể: Mô tả tổng thể thống chung tất liệu sở 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ể chia thành vài phần không giao gọi đoạn Lược đồ phân đoạn định nghĩa ánh xạ quan hệ tổng thể phân đoạn Ánh xạ nhiều: Một số đoạn tương ứng với quan hệ tổng thể, quan hệ tổng thể Footer Page of 113 Header Page of 113 tương ứng với đoạn Ký hiệu Ri đoạn thứ i quan hệ tổng thể R - Lược đồ định vị: Định nghĩa ánh xạ từ phân đoạn vào trạm chứa phân đoạn Tất đoạn tương ứng với quan hệ tổng thể R đặt trạm j tạo thành hình ảnh vật lý quan hệ tổng thể R trạm j - Lược đồ ánh xạ địa phương: Ánh xạ hình ảnh vật lý tới đối tượng thao tác hệ quản trị sở liệu địa phương Trong hệ không ta có kiểu ánh xạ địa phương khác trạm khác định vị Hình 1.1: Kiến trúc tham chiếu sở liệu phân tán Footer Page of 113 Header Page of 113 1.4 Các kỹ thuật xây dựng sở liệu phân tán - Kỹ thuật phân tách liệu từ sở liệu để lưu trữ trạm khác gọi phân mảnh - Sử dụng cho phép liệu lưu trữ nhiều trạm - Quá trình định vị phân mảnh liệu định vị phân mảnh lưu trữ liệu trạm khác 1.4.1 Phân mảnh Sự phân mảnh chia liệu bảng liệu thành bảng liệu Có ba kiểu phân mảnh quan hệ tổng thể: Phân mảnh ngang, phân mảnh dọc phân mảnh hỗn hợp[9] Một phân mảnh đắn thoả mãn ba điều kiện sau: - Điều kiện không thông tin: Tất liệu quan hệ tổng thể phải đựơc ánh xạ tới mảnh, có nghĩa phần tử liệu thuộc quan hệ tổng thể phải thuộc hay nhiều mảnh - Điều kiện xây dựng lại: Luôn xây dựng lại quan hệ tổng thể từ mảnh có - Điều kiện rời (chỉ áp dụng cho phân mảnh ngang): Để tối thiểu hoá lặp lại liệu 1.4.1.1 Phân mảnh ngang Phân mảnh ngang phân chia quan hệ thành tập bộ, tập xác định phép chọn với tân từ p quan hệ tổng thể R: Ri =p , với pi tân từ Ri Để khôi phục R ta dùng phép hợp i 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 phân chia quan hệ ban đầu thành quan hệ thứ hai khác mà quan hệ liên hệ với quan hệ ban đầu khoá Điều liên hệ liệu quan hệ ban đầu quan hệ thứ hai phân đoạn cách Footer Page of 113 Header Page of 113 1.4.1.3 Phân mảnh dọc Phân mảnh dọc chia quan hệ thành tập bộ, tập xác định phép chiếu áp dụng cho quan hệ: Ri = ПATTRi R, ATTRi tập thuộc tính R Tiêu chuẩn cho phân mảnh dọc đắn: - Điều kiện đầy đủ: Nếu thuộc tính xuất quan hệ tổng thể phải xuất mảnh dọc - Điều kiện xây dựng lại: Cần phải thêm vào mảnh khoá chính, việc xây dựng lại nhờ vào phép kết nối mảnh dọc theo thuộc tính chung - Điều kiện rời nhau: khoá phải lặp lại tất mảnh phép xây dựng lại, nên xem rời hoàn toàn 1.4.1.4 Phân mảnh hỗn hợp Là kết hợp phân mảnh dọc phân mảnh ngang 1.4.2 Nhân liệu Các chiến lược nhân liệu: Nhân liệu đầy đủ: Toàn sở liệu tạo tất trạm Ưu điểm: Điều cải thiện tính sẵn sàng cao cố trạm có liệu trạm khác cải thiện hiệu lấy liệu mạng cho truy vấn toàn liệu lấy từ trạm cục Nhược điểm: Các thao tác cập nhập liệu chậm phải copy, đồng liệu cho trạm Kỹ thuật điểu khiển tương tranh phục hồi phức tạp Không có nhân liệu: Mỗi phân mảnh lưu trữ trạm, phương án gọi định vị không dư thừa liệu Trong trường hợp phân đoạn phải tách rời để tránh lặp ghi giống cho phân đoạn ngang phân đoạn hỗn hợp Footer Page of 113 Header Page of 113 Nhân liệu phần: Một vài phân mảnh tạo số phân mảnh Việc tạo có tác dụng cho nhân viên làm việc di động, nơi xa trung tâm liệu, tạo liệu laptop theo chu kỳ đồng liệu với sở liệu server 1.4.3 Định vị liệu Là trình gán phân đoạn, phân đoạn cho trạm cụ thể hệ thống phân tán Việc chọn trạm số phụ thuộc vào yêu cầu hiệu mục tiêu sẵn sàng hệ thống với loại giao tác trạm Đối với hệ yêu cầu tính sẵn sàng cao, giao dịch thao tác lấy liệu, giao dịch cập nhật làm trạm nên tổ chức tạo đầy đủ Nếu giao dịch thường cập nhật phần liệu trạm phân đoạn cho phần liệu nên định vị trạm 1.5 Kết luận Cơ sở liệu phân tán quan trọng nhiều lý khác nhau, cài đặt mạng máy tính diện rộng mạng cục nhỏ Có hai lý tổ chức kỹ thuật phát triển sở liệu phân tán là: Cơ sở liệu phân tán xây dựng để khắc phục thiếu sót sở liệu tập trung phù hợp cấu trúc phân quyền nhiều tổ chức Kỹ thuật sở liệu phân tán mở rộng phát triển từ kỹ thuật sở liệu truyền thống Trong môi trường này, số vấn đề kỹ thuật đòi hỏi giải pháp khác, số giải pháp hoàn toàn Tính suốt phân tán cung cấp độc lập chương trình khỏi phân tán sở liệu Các mức suốt phân tán khác cung cấp hệ quản trị sở liệu phân tán; Tại mức, tính suốt làm cho người lập trình ứng dụng phân tán liệu Footer Page of 113 Header Page of 113 CHƯƠNG 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 SQUARE, SEQUEL, SQL, cho phép viết nhiều câu truy vấn với quan tâm nhiều đến thời gian thực hiện, thời gian thực giảm đáng kể xử lý ngôn ngữ hỏi viết lại (bằng cách khác) câu truy vấn trước thực Sự cải tiến thường gọi "Sự tối ưu hoá", câu truy vấn viết lại không cần tối ưu tất cách cài đặt câu truy vấn 2.1 Giới thiệu xử lý truy vấn Mục đích 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 trạm 2.1.1 Các yêu cầu 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 hữu hiệu phần lớn dạng câu truy vấn hay lớp câu truy vấn thường dùng mà chi phí nhiều để thực trình biến đổi - Các phép biến đổi phải bảo toàn kết câu truy vấn trước sau biến đổi, có nghĩa hai biểu thức trước sau biến đổi phải cho kết thay lược đồ biểu thức thể cụ thể - Các phép biến đổi phải làm giảm chi phí để thực câu truy vấn Chi phí cho xử lý câu truy vấn có nhiều yếu tố, nhiên ta quan tâm đến số thông báo sau đây: số lần truy xuất khối nhớ nhớ nhớ ngoài; số ghi cần phải xử lý thiết bị trung tâm; phần nhớ để lưu trữ kết trung gian trình thực câu truy vấn 2.1.2 Các phương pháp xử lý truy vấn Phương pháp biến đổi đại số : Footer Page of 113 Header Page 10 of 113 Đơn giản hóa câu truy vấn nhờ phép biến đổi đại số tương đương nhằm giảm thiểu thời gian thực phép toán, phương pháp không quan tâm đến cấu trúc kích thước liệu Phương pháp ước lượng chi phí : Xác định kích thước liệu, thời gian thực phép toán câu truy vấn Phương pháp phải xác định kích thước liệu chi phí thời gian thực phép toán câu truy vấn 2.2 Các kỹ thuật tối ưu hóa tập trung Phần trình bày hai kỹ thuật tối ưu hoá câu truy vấn hệ tập trung Sự biểu diễn đ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 biến đổi thành câu truy vấn địa phương 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 mở rộng kỹ thuật hệ tập trung - Tối ưu hoá tập trung thường vấn đề đơn giản, 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 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 truy vấn phép tính quan hệ thành truy vấn nhỏ Một truy vấn đa biến phân tích thành dãy truy vấn có biến chung, truy vấn dựa vào kết truy vấn trước Sau đó, truy vấn xử lý "bộ xử lý truy vấn biến" (OVQP: one-variable query processor) OVQP tối ưu truy nhập tới quan hệ đơn, cách lựa chọn phương pháp truy nhập tốt (chỉ số, quét tuần tự) Ví dụ: với tân từ dạng nên dùng số A; với tân từ dạng nên dùng quét Câu truy vấn q phân tích thành hai câu truy vấn qi-1 qi, ký hiệu qi1 qi, nghĩa qi-1 thực trước kết sử dụng qi Footer Page 10 of 113 10 Header Page 11 of 113 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 sử dụng hai kỹ thuật phân tách thay 2.2.2 Thuật toán SYSTEM R System R thực tối ưu hóa truy vấn tĩnh, đầu vào đại số quan hệ phân tích truy vấn SQL, đầu sơ đồ thực đạ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 quan hệ đơn tốt dựa - giả thiết chọn Với quan hệ R, đánh giá thứ tự kết nối tốt nhất, R truy - nhập trước tiên sử dụng phương pháp truy nhập quan hệ - đơn tốt Có hai phương pháp để xét phép kết nối Khi kết nối hai quan hệ, quan hệ có đọc trước gọi quan hệ ngoài, quan hệ có tìm thấy tùy theo giá trị có từ quan hệ gọi quan hệ Quyết định quan trọng với phương pháp kết nối xác định hướng truy nhập tới quan hệ rẻ Phương pháp 1, gọi vòng lặp lồng nhau, thực tích hai quan hệ Với quan hệ ngoài, quan hệ thoả mãn giả thiết kết nối gọi để tạo quan hệ kết Nếu không đánh số, với quan hệ lưu trữ theo thứ tự n1, n2 ghi, thuật toán có chi phí n1* n2 Phương pháp 2, gọi kết nối trộn, kết nối hai quan hệ xếp thuộc tính kết nối Nếu kết nối bằng, chi phí việc kết nối hai quan hệ lưu trữ n n2 ghi n1+ n2 Vì vậy, phương pháp chọn có kết nối bằng, quan hệ xếp trước Nếu quan hệ xếp, chi phí vòng lặp lồng so sánh với chi phí phương pháp trộn + chi phí xếp Chi phí xếp n ghi nlog2n Footer Page 11 of 113 11 Header Page 12 of 113 2.3 Tối ưu hóa truy vấn phân tán 2.3.1 Mục tiêu toán truy vấn Mục tiêu toán truy vấn môi trường phân tán biến đổi câu vấn tin cáp cao CSDL phân tán (mà người sử dụng tưởng CSDL tập trung) thành chiến lược thực thể hiệu diễn tả ngôn ngữ cấp thấp CSDL cục Giả sử ngôn ngữ cấp cao phép tính quan hệ, ngôn ngữ cấp thấp dạng mở rộng đại số quan hệ kèm với thao tác truyền liệu Xét quan hệ EMP (ENO, ENAME, TITLE) ASG (ENO, PNO, RESP, DUR) Và câu vấn tin: “Cho biết nhân viên quản lý 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ệ biến đổi từ câu vấn tin là: ENAME(RESP = “Manager”  EMP.ENO = ASG.ENO (EMP x ASG)) (*) ENAME(EMP ENO(RESP = “Manager” (ASG))) Và (**) 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 (**) dùng Nhiệm vụ thể xử lý vấn tin tập trung câu vấn tin cho phải chọn câu vấn tin đại số quan hệ tốt số câu vấn tin đại số tương đương Bởi toán phức tạp mặt tính toán số lượng quan hệ lớn, nên nói chung thường đưa yều cầu chọn lời giải tối ưu Trong quan hệ phân tán, đại số quan hệ không đủ để diễn tả chiến lược thực thi Nó phải bổ sung thêm phép tính toán trao đổi liệu vị trí Bên cạnh chọn thứ tự cho phép toán đại số quan hệ, thể XLVT phân tán phải chọn vị trí tốt để xử lý liệu cách biến đổi liệu Do yêu cầu mà không gian lời giản tăng lên làm cho việc XLVT plhân tán khó nhiều Ví dụ 2.4: Ví dụ minh hoạ tầm quan việc chọn lựa vị trí cách truyền liệu câu vấn tin đại số ENAME(EMP ENO(RESP = “Manager” (ASG))) Giả sử EMP ASG phân mảnh ngang sau: Footer Page 12 of 113 12 (**) Header Page 13 of 113 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ự lưu vị trí 1, 2, 3, kết lưu vị trí Vị trí Rerult = EMP1’  EMP2’ EMP1’ EMP2’ Vị trí Vị trí EMP1’ = EMP1 ENO ASG1’ EMP2’ = EMP2 ENO ASG2’ ASG1’ Vị trí ASG1’ = RESP = “Manager” ASG2’ ASG2’ = RESP = (ASG1) Vị trí “Manager” (ASG2) (a) chiến lược A Result = (EMP1  EMP2) ENO (RESP = “Manager” (ASG1  ASG2)) Vị trí Vị trí (b) chiến lược B Vị trí Vị trí 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 kiện quan hệ EMP ASG phân mảnh theo cách để thực song song phép chọn phép nối Chiến lược B tập trung tất liệu vị trí lưu kết trước xử lý vấn tin Footer Page 13 of 113 13 Header Page 14 of 113 2.3.2 Các giai đoạn xử lý câu truy vấn Vấn đề xử lý câu truy vấn chia làm bốn giai đoạn sau Vấn tin dạng phép tính quan hệ phân tán Phân rã câu truy vấn Lược đồ toàn cục Vấn tin dạng đại số quan hệ phân tán Vị trí điều khiển Định vị liệu Lược đồ mảnh Vấn tin theo mảnh Tối ưu hoá toàn cụ SL mảnh Vấn tin theo mảnh kèm với phép toán truyền Các vị trí cục Tối ưu hoá cục Lược đồ cục Vấn tin cục tối ưu 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 biến đổi câu truy vấn phép tính quan hệ thành câu truy vấn đại số quan hệ tổng thể Cả hai câu truy vấn vào quan hệ tổng thể không quan tâm đến tính phân tán liệu Vì Footer Page 14 of 113 14 Header Page 15 of 113 vậy, phân rã câu truy vấn chung cho quan hệ tập trung phân tán Trong phần này, giả sử câu truy vấn vào đắn (chỉnh) Khi việc phân rã thực xong câu truy vấn chỉnh tránh công việc dư thừa Giai đoạn chia làm 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ị liệu phân tán Như biết, tầng định vị biến đổi câu truy vấn đại số quan hệ tổng thể, thành câu truy vấn đại số hiển thị phân đoạn vật lý Việc định vị sử dụng thông tin lưu trữ 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ừ phân đoạn gọi chương trình định vị Để đơn giản, phần không xét đến nhân đoạn liệu, điều cải tiến hiệu Sự nhân xét phần sau Một giải pháp tự nhiên để định vị câu truy vấn phân tán sinh câu truy vấn quan hệ tổng thể thay chương trình định vị Cách xem việc thay nút đại số quan hệ câu truy vấn phân tán tương ứng với chương trình định vị Nói chung, cách tiếp cận không hiệu câu truy vấn ban đầu cấu trúc lại đơn giản hoá Trong phần này, với kiểu phân đoạn có kỹ thuật rút gọn để sinh câu truy vấn tối ưu đơn giản 2.3.4.1 Rút gọn phân đoạn ngang nguyên thuỷ Phân đoạn ngang tách quan hệ dựa 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 quan hệ dựa thuộc tính chiếu Vì phép toán xây dựng lại phân đoạn dọc kết nối, nên chương trình định vị quan hệ phân đoạn dọc kết nối đoạn thuộc tính chung Footer Page 15 of 113 15 Header Page 16 of 113 2.3.4.3 Rút gọn phân đoạn gián tiếp Câu truy vấn phân đoán gián tiếp rút gọn, tân từ phân đoạn mâu thuẫn phép kết nối đưa quan hệ rỗng Chương trình định vị quan hệ phân đoạn ngang gián tiếp hợp đoạn 2.3.4.4 Rút gọn phân đoạn hỗn hợp Mục đích phân đoạn hỗn hợp hỗ trợ câu truy vấn liên quan đến phép chiếu, chọn, kết nối cách hiệu Chương trình định vị cho quan hệ phân đoạn hỗn hợp sử dụng phép hợp phép kết nối đoạn 2.3.4 Tối ưu hoá truy vấn phân tán Ta biết, câu truy vấn phép tính quan hệ biểu diễn quan hệ phân tán ánh xạ thành câu truy vấn đoạn quan hệ cách phân rã định vị liệu ánh xạ sử dụng lược đồ phân đoạn Trong xử lý này, việc áp dụng luật biến đổi cho phép đơn giản hoá câu truy vấn cách tìm biểu thức chung loại bỏ biểu thức vô ích Câu truy vấn thu từ giai đoạn phân rã định vị liệu thực thi cách đơn giản việc thêm vào thao tác truyền thông Tuy nhiên, hoán vị thứ tự phép toán câu truy vấn cung cấp nhiều chiến lược tương đương để thực thi chúng Tìm thứ tự “tối ưu” phép toán cho câu truy vấn cho chức tối ưu hoá câu truy vấn Sự lựa chọn thứ tự tối ưu câu truy vấn toán khó thực nên mục đích thực tối ưu tìm chiến lược gần tối ưu Sau ta gọi chiến lược (hoặc thao tác thứ tự) đưa tối ưu chiến lược tối ưu (hoặc chiến lược tối ưu) Đầu tối ưu lịch trình tối ưu bao gồm câu truy vấn đại số xác định trạm 2.3.4.1 Đầu vào tối ưu hoá câu truy vấn Mô hình chi phí Chi phí chiến lược thực phân tán biểu diễn theo tổng chi phí (total cost) theo thời gian trả lời Tổng chi phí tổng tất thành phần chi phí, thời gian trả lời tính từ lúc bắt đầu đến lúc kết thúc Footer Page 16 of 113 16 Header Page 17 of 113 câu truy vấn Công thức chung để tính tổng chi phí sau [8]: Total_cost = CCPU*#insts + CI/O*#I/Os + CMSG #msgs + CTR*#bytes Trong đó: Total_cost - tổng chi phí; CCPU - chi phí lệnh CPU; CI/O- chi phí truy xuất/nhập đĩa; CMSG - chi phí cố định việc khởi đầu nhận thông báo; CTR - chi phí truyền đơn vị liệu từ trạm tới trạm khác, ta xem CTR số; #insts, #I/Os, #msgsm, #byte: Tương ứng tổng trạm tất số lệnh CPU, số lần truy xuất/ nhập đĩa, số thông báo, kích thước tất thông báo Khi thời gian trả lời câu truy vấn hàm mục tiêu tối ưu xử lý địa phương song song truyền thông song song phải xét Công thức tổng quát tính thời gian trả lời (response time) [8]: Response_time = CCPU*seq_#insts + CI/O*seq_#I/Os + CMSG *seq_#msgs + CTR*seq_#bytes Trong đó: seq_#x (x lệnh CPU, I/O, thông báo, byte) số lớn x phải thực thực thi câu truy vấn Các thống kê sở liệu Yếu tố ảnh hưởng đến hiệu suất chiến lược thực thi kích thước quan hệ trung gian sinh trình thực Khi gặp phép toán đặt trạm khác, quan hệ trung gian phải truyền lên mạng Do vậy, để tối thiểu hoá khối lượng liệu truyền, điểm quan tâm đánh giá kích thước kết trung gian phép toán đại số quan hệ Đánh giá dựa thông tin thống kê quan hệ sở công thức ước tính lực lượng kết ph p toán quan hệ Quan hệ R xác định A = {A1, A2, ,An} phân đoạn thành R1, R2, ,Rr Khi liệu thống kê điển hình bao gồm [7]: Với thuộc tính Ai , độ dài Ai ký hiệu length(Ai); với Ai Rj, lực lượng phép chiếu đoạn Rj Ai ký hiệu card(Ai(Rj)) (số giá trị phân biệt thuộc tính) Footer Page 17 of 113 17 Header Page 18 of 113 Miền xác định Ai tập số nguyên tập số thực, có max(Ai) min(Ai) Lực lượng miền Ai kí hiệu card(dom[Ai]), số giá trị miền trị thuộc tính Ai Số đoạn Rj ký hiệu card(Rj) Ngoài ra, liệu thống kê bao gồm hệ số chọn phép kết nối (SFJ) số cặp quan hệ; hệ số SFJ quan hệ R S số thực 1: Hệ số SFJ nhỏ 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ê có lợi để đánh giá kích thước quan hệ trung gian Kích thước quan hệ trung gian R sau: Size(R)= card(R)*length(R) Trong đó: card(R) số R tính theo công thức phần sau Lực lượng kết trung gian Phần đưa công thức để ước tính lực lượng kết phép toán sở đ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 phép trừ) Các toán hạng quan hệ ký hiệu R S Hệ số chọn phép toán (SFOP , OP biểu thị phép toán) tỷ lệ toán hạng quan hệ tham gia vào kết phép toán 2.3.4.2 Thứ tự kết nối câu truy vấn đoạn Ta thấy thứ tự kết nối có vai trò quan trọng việc tối ưu hoá câu truy vấn tập trung Thứ tự kết nối môi trường phân tán quan trọng phép kết nối đoạn làm tăng chi phí truyền thông Có hai cách tiếp cận để thứ tự phép kết nối câu truy vấn đoạn - Cố gắng tối ưu thứ tự phép kết nối cách trực tiếp - Thay phép kết nối kết hợp phép nửa kết nối để cực tiểu Footer Page 18 of 113 18 Header Page 19 of 113 hoá 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ự phép kết nối 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 R* đại diện cho lớp Phần đề cập đến việc sử dụng phép nửa kết nối để tối ưu hoá câu truy vấn kết nối Trước vào vấn đề chính, ta giả thiết sau: - Câu truy vấn định vị biểu diễn đoạn, ta không cần phân biệt đoạn quan hệ đoạn quan hệ khác - Dùng thuật ngữ quan hệ để đoạn lưu trữ trạm cụ thể - Bỏ qua chi phí xử lý địa phương - Chỉ xét câu truy vấn kết nối mà toán hạng quan hệ lưu trạm khác - Bỏ qua chi phí truyền liệu trạm kết Vấn đề truyền toán hạng phép kết nối đơn, hiển nhiên gửi quan hệ nhỏ tới trạm quan hệ lớn hơn, có hai khả hình 4.2 Hình 2.16: Truyền toán hạng phép toán hai Trường hợp có hai quan hệ kết nối, trường hợp kết nối đơn, mục đích thuật toán thứ tự kết nối truyền toán hạng nhỏ Vấn đề khó khăn phép kết nối giảm tăng kích thước kết kết nối Một giải pháp đánh giá chi phí truyền thông tất chiến lược chọn chiến lược tốt Tuy nhiên số chiến lược tăng nhanh số quan hệ tăng nên thường dùng phương pháp dò tìm (heuristic) để loại trừ 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 Footer Page 19 of 113 19 Header Page 20 of 113 Phần minh hoạ cách sử dụng kỹ thuật trình bày cho bốn thuật toán tiêu biểu cho lớp khác 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 INGRES phân tán, thuật toán System R*, thuật toán SDD -1 thuật toán AYH (Apers, Hevner, and Yao) Sự khác chúng tóm tắt 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 SDD-1 R*: tối thiểu hoá tổng chi phí, INGRES phân tán AYH: tối thiểu thời gian trả lời tổng chi phí - Các thành phần tối ưu hàm chi phí, SDD-1: kích thước thông báo, AYH: kích thước thông báo số thông báo; System R*: kích thước thông báo, số thông báo chi phí I/O CPU; INGRES phân tán: kích thước thông báo chi phí I/O + CPU - Kiểu mạng, SDD-1 AHY: mạng diện rộng điểm tới điểm, INGRES phân tán R*: mạng cục diện rộng - SDD_1 AHY sử dụng phép nửa kết nối kỹ thuật tối ưu hoá câu truy vấn, INGRES phân tán R* thực kết nối tương tự giải thuật tối ưu hoá câu truy vấn tập trung INGRES System R: - Mỗi thuật toán có nhận thông tin thống kê liệu: + INGRES phân tán: lực lượng quan hệ + R*: lực lượng quan hệ, số giá trị thuộc tính SDD-1: lực lượng quan hệ, hệ số chọn kết nối, kích thước phép chiếu tính kết nối, kích thước thuộc tính kích thước 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 kích thước liệu - INGRES phân tán sử dụng đoạn, R*, SDD-1, AHY không sử dụng 2.4 Kết Luận Footer Page 20 of 113 20 Header Page 21 of 113 Chương trình bày khái niệm tối ưu hóa truy vấn phân tán, thuật toán tối ưu Distributed INGRES, System R*,… đưa phần Các hệ CSDL phân tán ban đầu thường dùng hàm mục tiêu cho chi phí truyền theo kích thước thông báo, thời gian gần vói phát triện đáng kể mạng “nhanh” chi phí xử lý cục ý Nguyên liệu đầu vào quan trọng toán tối ưu hóa truy vấn số liệu thống kê CSDL công thức dùng để đánh giá kết trung gian Thao tác chủ yếu nói chung phép nối quan hệ phân tán Đối với nối thường gặp dựa khóa, hệ số tuyển nối có giá trị lớn [Mackert and Lohman, 1986] Chúng ta tránh việc sử dụng số liệu thống kê cách áp dụng thuật toán đơn giản dựa heuristic để biến đổi câu truy vấn Tuy nhiên [Epstain and Stonebraker, 1980] ghi nhận việc tìm kiếm vét cạn không gian lời giải dựa số liệu thống kê có giá trị so với lối tiếp cận heuristic, chi phí phải trả cho chiến lược (được thực tĩnh lúc biên dịch) bù đắp nhanh câu truy vấn trở nên phức tạp hay thực thường xuyên Footer Page 21 of 113 21 Header Page 22 of 113 CHƯƠNG CÀI ĐẶT THUẬT TOÁN TỐI ƯU HÓA CÂU TRUY VẤN PHÂN TÁN Xác định thuật toán Chương trình cài đặt thuật toán tối ưu phân tán System R* mở rộng chất kỹ thuật phát triển cho tối ưu hóa môi trường tập trung System R Nó thuật toán tối ưu tĩnh, thực việc tìm kiếm vét cạn tất chiến lược khác để chọn chiến lược với chi phí thấp Cơ sở liệu thiết kế theo mô hình phân mảnh dọc dựa hệ thống sở liệu ORACLE viễn thông hóa: - Bảng DM_TTOAN chứa thông tin khác hàng người chịu trách nhiệm trả tiền cước loại dịch vụ, cài đặt máy trạm địa IP cuối 62, gọi tắt máy trạm 62 - Bảng DM_SOMAY chứa thông tin dịch vụ thuê bao cài đặt máy trạm địa IP cuối 21, gọi tắt máy trạm 21 - Việc kết nối tới trạm lại thực qua DBLINK chức hỗ trợ hệ sở liệu phân tán ORACLE - Thuật toán thực việc truy vấn với giả thiết thực kết nối tập trung, thực kết nối trạm 21 trạm 62 để chọn kết tối ưu Kết Luận Nghiên cứu sở liệu phân tán hướng đắn, phù hợp với tổ chức lớn, có nhiều chi nhánh Việc ứng dụng sở liệu phân tán giải tốt toán xử lý nhanh có yêu cầu truy xuất cục bộ, Và thực tốt vấn đề chia tải Hệ thống phân tán hệ thống sở 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 tối ưu hóa phân tán có ý nghĩa quan trọng định đến hiệu hệ thống, làm hệ thống sở liệu phân tán mang lợi ích giống sở liệu tập trung phát huy Footer Page 22 of 113 22 Header Page 23 of 113 ưu sở liệu phân tán mang lại Những kết luận văn - Trình bày 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, kỹ thuật tối ưu hóa bản,các biến đổi đại số, Các phép nối, nối nửa, phân rã câu hỏi thành câu hỏi con, Đánh giá câu hỏi định vị liệu tối ưu hóa câu hỏi phân tán - Giới thiệu thuật toán tối ưu hóa sở liệu phân tán, dựa vào mô hình chi phí thời gian đáp ứng hệ thống, thuật toán INGRES phân tán, Thuật toán System R*, thuật toán SDD-1 thuật toán AHY - Cài đặt thử nghiệm thuật toán System R* phân tán Hướng phát triển đề tài Với thời gian có hạn đề tài dừng mức độ tiếp cận tối ưu sở liệu phân tán, hướng phát triển tới nghiên cứu cài đặt sâu thuật toán System R* phân tán, bao gồm kết nối lồng nhau, cài đặt thuật toán mô hình nhiều trạm, phức tạp Các tiếp cận nhờ nối nửa, đại diện SDD-1 AHY Các nối nửa có lợi nối có độ tuyển chọn tốt, nối nửa đóng vai trò 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 sao, cài đặt phân rã câu truy vấn nút mạng, tích hợp liệu Footer Page 23 of 113 23 Header Page 24 of 113 TÀI LIỆU THAM KHẢO [1] Phạm Thế Quế (2009) “Giáo trình Cơ sở liệu phân tán”, NXB thông tin truyền thông [2] Nguyễn Bá Tường (2005), Nhập môn sở liệu liệu phân tán, NXB Khoa học kỹ thuật [3] Nguyễn Văn Nhuận, Phạm Việt Bình(2009), “Giáo trình hệ sở liệu phân tán & suy diễn:Lý thuyết thực hành”, NXB Khoa học kỹ thuật [4] Vũ Đức Thi (1997) Cơ sở liệu – kiến thức 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 tin học, NXB Khoa học kỹ thuật [6] M Tamer Ozsu, Patrick Valduriez, biên dịch Trần Đức Quang (1999), Nguyên lý 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 Footer Page 24 of 113 24 ... đích đề tài Nghiên cứu phương pháp xây dựng sở liệu phân tán, tối ưu hóa truy vấn sở liệu phân tán Đối tượng phạm vi nghiên cứu - Đối tượng nghiên cứu sở liệu phân tán - Phạm vi nghiên cứu kỹ thuật... 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 Footer Page of 113 Header Page of 113 CHƯƠNG CƠ SỞ DỮ LIỆU PHÂN TÁN 1.1 Khái niệm hệ sở liệu phân tán 1.1.1 Khái niệm Cơ. .. tải liệu đến trạm ngược lại Hệ quản trị sở liệu phân tán phân làm loại - Cơ sở liệu phân tán - Cơ sở liệu phân tán hỗn tạp 1.1.3 Những ưu điểm sở liệu phân tán Lợi ích sở liệu phân tán liệu sở liệu

Ngày đăng: 25/03/2017, 21:26

Xem thêm: Nghiên cứu tối ưu hóa truy vấn hệ cơ sở dữ liệu

TỪ KHÓA LIÊN QUAN