Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 24 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
24
Dung lượng
455,4 KB
Nội dung
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 ĐỒN VĂN BAN TĨM TĂT LUẬN VĂN THẠC SĨ KỸ THUẬT HÀ NỘI- 2012 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 xun 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 tốn tối ưu hóa truy vấn 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 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 qn 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 qt 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ể 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 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: Ln 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 khố ngồi Điều liên hệ liệu quan hệ ban đầu quan hệ thứ hai phân đoạn cách 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 khố 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 khơng thể xem rời hồn tồ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 tồ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 Nhân liệu phần: Một vài phân mảnh tạo số phân mảnh khơng có 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 hồn tồ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 khơng biết phân tán liệu 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 hố", 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à khơng phí q nhiều để thực q 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ố : Đơ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 tố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 hố 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 10 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ự đố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ệ ngồ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 tố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 ln chọn có kết nối bằng, quan hệ xếp trước Nếu khơng có 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 11 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)) 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 (**) 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 tốn phức tạp mặt tính tố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 tố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: 12 (**) 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 13 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 hố tồn cụ SL mảnh Vấn tin theo mảnh kèm với phép tố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ì 14 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 hố - 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 tố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 15 2.3.4.3 Rút gọn phân đoạn gián tiếp Câu truy vấn phân đố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 hố 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, hốn vị thứ tự phép tố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 hố câu truy vấn Sự lựa chọn thứ tự tối ưu câu truy vấn tố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 hố 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í, cịn thời gian trả lời tính từ lúc bắt đầu đến lúc kết thúc 16 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 q trình thực Khi gặp phép tố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) 17 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 cị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 18 hố 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 tố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 tốn hạng phép tốn hai ngơi 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 tốn thứ tự kết nối truyền tố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 19 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 tố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, cịn R*, SDD-1, AHY khơng sử dụng 2.4 Kết Luận 20 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 khơng phải 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 21 CHƯƠNG CÀI ĐẶT THUẬT TỐN TỐI ƯU HĨA CÂU TRUY VẤN PHÂN TÁN Xác định thuật tố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 tố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 tốn xử lý nhanh có 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 22 ư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 tố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 23 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 24 ... phương pháp tối ưu hóa truy vấn - Cài đặt thử nghiệm thuật tốn tối ưu hóa truy vấn 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... đí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 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