CƠ SỞ DỮ LIỆU PHÂN TÁN VÀ MỘT SỐ NGUYÊN LÝ CHUNG CỦA TỐI ƯU HOÁ TRUY VẤN

42 879 2
CƠ SỞ DỮ LIỆU PHÂN TÁN VÀ MỘT SỐ NGUYÊN LÝ CHUNG CỦA TỐI ƯU HOÁ TRUY VẤN

Đ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

MỤC LỤC LỜI NÓI ĐẦU 1 CHƯƠNG 1: CƠ SỞ DỮ LIỆU PHÂN TÁN VÀ MỘT SỐ NGUYÊN LÝ CHUNG CỦA TỐI ƯU HOÁ TRUY VẤN 3 1. Các khái niệm về CSDL PT 4 2. Các mục tiêu của hệ quản trị CSDL PT 5 3. Kiến trúc hệ quản trị CSDL PT 6 4. Một số nguyên lý chung của tối ưu hóa truy vấn 8 4.1. Mục tiêu của bài toán xử lý truy vấn 9 4.2. Độ phức tạp của các phép toán đại số quan hệ 13 4.3. Mô tả bộ xử lý truy vấn 13 4.4 Phân rã truy vấn 17 4.4.1 Đưa về dạng chuẩn tắc (normalization) 17 4.4.2 Phân tích (analysis) 18 4.4.3. Loại bỏ dư thừa (simplification) 20 4.4.4. Viết lại truy vấn (restructuring) 21 CHƯƠNG 2 : TỐI ƯU HÓA TRUY VẤN PHÂN TÁN 24 2.1. Tối ưu hóa truy vấn 25 2.1.1. Không gian tìm kiếm 25 2.1.2. Chiến lược tìm kiếm 27 2.1.3. Mô hình chi phí 28 2.2. Các thuật toán tối ưu hóa truy vấn trong môi trường phân tán 31 2.2.1. Các thuật toán dựa trên sắp xếp thứ tự nối (Ordering Joins) 32 2.2.1.1. Thuật toán INGRES phân tán 34 2.2.1.2. Thuật toán của System R* 36 2.3. Kết luận 39 TÀI LIỆU THAM KHẢO 41 LỜI NÓI ĐẦU 1 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, bài thu hoạch này 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 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ượcthự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 2 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. CHƯƠNG 1: CƠ SỞ DỮ LIỆU PHÂN TÁN VÀ MỘT SỐ NGUYÊN LÝ CHUNG CỦA TỐI ƯU HOÁ TRUY VẤN Cơ sở dữ liệu phân tán là sự hợp nhất của hai cách tiếp cận xử lý dữ liệu dường như đối lập nhau: công nghệ CSDL và công nghệ mạng máy tính. Một trong những mục đích, động cơ chính của việc sử dụng các hệ CSDL là việc tích hợp các dữ liệu, giao tác của một xí nghiệp, tổ chức và cho phép truy xuất tập trung, do vậy có thể điều khiển được các truy xuất đến dữ liệu đó. Còn công nghệ mạng lại đi ngược lại với mọi nỗ lực tập trung hóa. Mấu chốt của vấn đề là mục tiêu quan trọng của công nghệ CSDL là sự tích hợp mà không phải là sự tập trung hóa, như vậy ta vẫn có thể có được sự tích hợp mà không cần sự tập trung hóa và đó chính là mục tiêu của CSDL phân tán (CSDL PT). Chúng ta có thể định nghĩa một CSDL PT là một tập hợp nhiều CSDL có liên đới logic và được phân bố trên một mạng máy tính. Vậy hệ quản trị CSDL PT được định nghĩa là một hệ thống phần mềm cho phép quản lý các CSDL PT, và làm cho việc phân tán trở nên trong suốt đối với người sử dụng. Với các hệ CSDL PT chúng ta dễ dàng nhận thấy những ưu điểm tiềm năng như sau:  Quản trị dữ liệu phân tán với nhiều mức trong suốt khác nhau. Hệ quản trị CSDL PT cung cấp khả năng trong suốt phân tán (distribution transparent) với ý nghĩa là che dấu các chi tiết như dữ liệu được lưu trữ ở đâu trong hệ thống… Hệ quản trị CSDL PT có thể cung cấp các khả năng trong suốt sau:  Trong suốt phân tán, hay trong suôt mạng  Trong suốt nhân bản  Trong suốt phân mảnh  Tăng tính tin cậy và tính sẵn sàng. 3  Cho phép dùng chung dữ liệu trong khi vẫn duy trì được biện pháp điều khiển cục bộ.  Cải tiến hiệu năng.  Tính dễ mở rộng. 1. Các khái niệm về CSDL PT Ở mức phần cứng vật lý, những nhân tố chính phân biệt một hệ CSDL PT với một hệ CSDL tập trung là: Có nhiều máy tính duợc gọi là trạm hay nút (node) Các trạm phải duợc kết nối bởi một kiểu mạng truyền thông nào dó dể truyền dữ liệu và các lệnh giữa các trạm. Hình 1. 1 CSDL trung tâm trên một mạng Hình 1. 2 Môi truờng của hệ CSDL PT Một hệ quản trị CSDL PT là một tập các phần mềm hệ thống bao gồm các phần mềm quản trị các dữ liệu phân tán, các phần mềm quản trị truyền thông và các hệ quản trị CSDL địa phương/ cục bộ lưu trú trên mỗi trạm của hệ CSDL PT. 4 Ngoài chức năng của các hệ quản trị CSDL và của phần mềm quản trị truyền thông, hệ quản trị CSDL PT còn có các chức năng đặc biệt sau:  Quản lý một từ điển dữ liệu tổng thể lưu trữ thông tin liên quan đến các dữ liệu phân tán  Định nghĩa các dữ liệu phân tán.  Kiểm tra ngữ nghĩa của các dữ liệu phân tán.  Định giá các câu truy vấn phân tán do người dùng đưa ra.  Quản lý các giao tác phân tán.  Bảo mật giao tác và dữ liệu.  Phục hồi CSDL phân tán, cung cấp khả năng phục hồi dữ liệu từ những trạm (site) bị lỗi (sập).  Quản trị nhân bản dữ liệu. Một tính chất quan trọng của các CSDL PT là tính thuần nhất hay không thuần nhất. Một CSDL PT thuần nhất (homogeneous DDB) có được bằng cách chia một CSDL thành một tập các CSDL cục bộ, mỗi CSDL cục bộ này được quản trị bởi cùng một hệ quản trị CSDL. Một CSDL PT thuần nhất thường là kết quả của cách tiếp cận thiết kế trên xuống, trong đó ta thiết kế một CSDL PT từ một CSDL tập trung. Một CSDL PT không thuần nhất (heterogeneous DDB) là một CSDL PT có được bằng cách tích hợp một tập các CSDL cục bộ (có thể được xây dựng từ các mô hình dữ liệu khác nhau) được quản trị bởi các hệ quản trị CSDL khác nhau, thành một CSDL duy nhất. 2. Các mục tiêu của hệ quản trị CSDL PT Sự độc lập dữ liệu và trong suốt phân bố. Người dùng có thể không quan tâm đến sự phân tán dữ liệu. Các thông tin này được lưu giữ trong từ điển dữ liệu (catalog), và được hệ quản trị CSDL PT sử dụng để định vị dữ liệu. Đây là một dạng trong suốt cơ bản cần có trong một hệ CSDL PT, nó liên quan đến tính độc lập dữ liệu (data independence) và làm tăng khả năng thích ứng của các ứng dụng đối với những thay đổi trong định nghĩa và tổ chức của dữ liệu và ngược lại. Khi đó không có sự khác biệt nào giữa các ứng dụng chạy trên CSDL tập trung với ứng dụng chạytrên CSDL PT. Trong suốt phân mảnh. Việc truy cập tới dữ liệu thường được xác định trên các quan hệ con (thu được từ việc chia nhỏ các quan hệ gốc) được gọi là các mảnh (fragment). Việc phân mảnh (ngang, dọc, hỗn hợp) làm tăng hiệu năng, tính sẵn sàng, độ tin cậy của CSDL PT. Trong suốt phân mảnh che dấu sự phân đoạn đối với người dùng. Trong suốt nhân bản. Một giải pháp cho sự tin cậy dữ liệu là việc tạo ra dư thừa dữ liệu dưới một hình thức nào đó. Mỗi mảnh dữ 5 liệu được sao lưu thành hai hay nhiều bản, mỗi bản được lưu trên một trạm khác nhau, được gọi là sự nhân bản. Nó giúp hệ CSDL PT nâng cao hiệu năng, độ tin cậy và tính sẵn sàng. Tuy nhiên việc nhân bản sẽ gây khó khăn cho việc cập nhật CSDL, và việc duy trì và quản lý các bản sao là phức tạp và tốn kém. Việc trong suốt nhân bản là việc che dấu khiến người dùng chỉ nhìn thấy các quan hệ không có nhân bản. Tính trong suốt đối với hệ quản trị CSDL. Cho phép che dấu đối vói người dùng việc các hệ quản trị CSDL cục bộ có thể khác nhau. Tính tự trị của các trạm. Đây là mục tiêu cho phép mỗi trạm điều khiển và thao tác dữ liệu địa phương của nó độc lập với các trạm khác. Do đó việc quản trị của CSDL PT có thể hoàn toàn phi tập trung. Tính mở rộng. Là khả năng mở rộng bằng việc đưa thêm các trạm mới vào mạng với ảnh hưởng tối thiểu lên các CSDL cục bộ và các chương trình ứng dụng hiện có. 3. Kiến trúc hệ quản trị CSDL PT Có nhiều kiểu kiến trúc CSDL như, các hệ CSDL client/server, các phức hệ CSDL, hay các CSDL trong môi trường phân tán đầy đủ (không có sự phân biệt nào giữa client và server ) hay còn gọi là các hệ phân tán ngang hàng. Và kiểu kiến trúc này cũng là kiểu được tập trung thảo luận ở phần này. Các hệ phân tán ngang hàng. Tổ chức vật lý trên mỗi máy có thể rất khác nhau, do đó ta cần phải có một định nghĩa tổ chức dữ liệu vật lý cho mỗi trạm, mà chúng ta gọi là lược đồ trong cục bộ (LIS). Hình ảnh về toàn thể CSDL được mô tả bởi lược đồ khái niệm toàn cục (GCS), nó mô tả cấu trúc logic của dữ liệu ở mọi vị trí. Để xử lý việc phân mảnh và nhân bản ta sử dụng lược đồ khái niệm cục bộ (LCS), mô tả tổ chức logic của dữ liệu tại mỗi trạm. Do đó trong kiến trúc này lược đồ khái niệm toàn cục là “hợp” của các lược đồ khái niệm cục bộ. Và các ứng dụng truy xuất dữ liệu thông qua lược đồ ngoài (ES), được định nghĩa là một tầng nằm trên lược đồ khái niệm toàn cục. Các khái niệm trên được mô tả trong hình 1.3 Các thành phần cụ thể của một hệ CSDL PT . Ở đây hệ QT CSDL PT gồm 2 thành phần (mô tả trong Hình 1.4). Một thành phần xử lý mọi tương tác với người sử dụng là Bộ xử lý tiếp nhận người dùng (User Processor), còn thành phần kia lo việc xử lý dữ liệu (Data Processor). 6 Hình 1. 3 Kiến trúc tham chiếu CSDL PT Thành phần đầu tiên bao gồm: Bộ giao tiếp người dùng (user interface handler) diễn dịch các lệnh của người sử dụng, và định dạng dữ liệu để chuyển cho người sử dụng các kết quả. Bộ kiểm soát dữ liệu ngữ nghĩa (semantic data controller) sử dụng các ràng buộc toàn vẹn (integrity constraints) và thông tin cấp phép, quyền hạn (authorization), được định nghĩa như thành phần của lược đồ khái niệm toàn cục, để kiểm tra, xác định xem các câu truy vấn có xử lý được hay không. Bộ tối ưu truy vấn toàn cục (Global query optimizer) xác định một chiến lược hoạt động để giảm thiểu chi phí, và phiên dịch các câu truy vấn toàn cục thành câu truy vấn cục bộ thông qua việc sử dụng các lược đồ toàn cục, khái niệm cục bộ và thư mục toàn cục, ngoài ra còn chịu trách nhiệm tạo ra một chién lược thực thi tốt cho các phép nối phân tán. Bộ theo dõi hoạt động toàn cục (Global execution Monitor) có trách nhiệm điều phối việc thực hiện phân tán các yêu cầu của người dùng và cũng được gọi là bộ quản lý giao dịch phân tán (Distributed transaction manager). Thành phần thứ hai gồm: Bộ tối ưu truy vấn cục bộ (Local query processor) chịu trách nhiệm chọn ra một đường truy xuất thích hợp nhất để truy xuất các dữ liệu. Bộ khôi phục cục bộ (Local recovery manager) đảm bảo cho các CSDL cục bộ duy trì được tính nhất quán khi có sự cố xảy ra. 7 Bộ hỗ trợ thực thi (Runtime support processor) truy xuất CSDL tùy vào các lệnh trong lịch (schedule) do bộ tối ưu vấn tin sinh ra. Nó là giao diện với bộ điều hành và chứa bộ quản lý vùng đệm CSDL (database bu|er manager), chịu trách nhiệm quản lý vùng đệm và quản lý việc truy xuất dữ liệu. Một điểm lưu ý là hai thành phần này chỉ là phân chia về mặt tổ chức chứ không phải bắt buộc phải cài đặt trên các trạm khác nhau. Tuy nhiên cũng có những gợi ý tách biệt những trạm chỉ thực hiện truy vấn ra khỏi những hệ thống có đầy đủ chức năng, và khi đó các trạm này chỉ cần có bộ xử lý tiếp nhận người dùng. Hình 1. 4 Các thành phần của một hệ quản trị CSDL PT 4. Một số nguyên lý chung của tối ưu hóa truy vấn Ở phần này chúng ta sẽ thảo luận những kỹ thuật được sử dụng trong hệ QT CSDL để xử lý, tối ưu hóa và thực hiện các câu truy vấn bậc cao – như SQL. Thành cô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 của ngôn ngữ 8 phi thủ tục như SQL. Nhờ che dấu các chi tiết cấp thấp về tổ chức vật lý của dữ liệu, các ngôn ngữ CSDL quan hệ đã cho phép biểu diễn được các câu truy vấn phức tạp một cách chính xác và đơn giản. Để có câu trả lời cho một câu truy vấn, người sử dụng không cần phải xác định thứ tự tiến hành các phép toán.Việc này sẽ do bộ xử lý truy vấn (Query processor) thực hiện, đồng thời nó cũng thực hiện tối ưu hóa câu truy vấn. Việc xử lý, tối ưu hóa truy vấn có tầm ảnh hưởng quan trọng tới hiệu năng xử lý dữ liệu của hệ thống, do vậy nó nhận được sự quan tâm trong cả ngữ cảnh tập trung lẫn phân tán. Tất nhiên bài toán xử lý truy vấn trong môi trường phân tán có rất nhiều phức tạp, do có nhiều yếu tố ảnh hưởng đến hiệu năng của các truy vấn phân tán. Ví dụ như việc quan hệ có mặt trong câu truy vấn có thể bị phân mảnh hay nhân bản ở nhiều trạm, do vậy hệ thống phải tiêu tốn thêm chi phí truyền thông trong việc xử lý truy vấn, hay việc có nhiều trạm phải truy xuất nên thời gian đáp ứng có thể là lâu. 4.1. Mục tiêu của bài toán xử lý truy vấn Bộ xử lý truy vấn có nhiệm vụ phân tích, biến đổi các câu truy vấn cấp cao (ở dạng các phép tính quan hệ) thành một câu truy vấn tương đương ở cấp thấp hơn (dạng đại số quan hệ). Với câu truy vấn cấp thấp này việc cài đặt các chiến lược thực thi sẽ được thực hiện. Việc biến đổi câu truy vấn phải đáp ứng được cả tính đúng đắn, lẫn tính hiệu quả. Một biến đổi được coi là đúng đắn nếu câu truy vấn cấp thấp cho cùng một kết quả như câu truy vấn cấp cao. Việc đưa ra được một chiến lược thực thi thích hợp để đạt được tính hiệu quả lại là một bài toán khó. Một câu truy vấn cấp cao có thể được biến đổi thành nhiều câu truy vấn cấp thấp tương đương, và mỗi một chiến lược thực thi này lại tiêu tốn tài nguyên hệ thống rất khác nhau. Việc khó khăn là phảitìm ra một chiến lược nhằm hạ thấp tối đa việc tiêu dùng tài nguyên. Thí dụ 1.1: 9 Để tiện miêu tả ta sẽ sử dụng một CSDL mẫu mô hình hóa cho một công ty dể làm ví dụ. Các thực thể đuợc mô hình hóa là nhân viên -NHANVIEN và các dự án - DUAN. Với mỗi nhân viên thì có những thông tin sau: mã số nhân viên – MSNV, tên nhân viên – TENNV, nghề nghiệp - NNGH, lương – LUONG, mã số dự án – MSDA mà nhân viên dó đang làm việc, nhiệm vụ - NVU trong dự án đó, thời gian – TGIAN được phân công trong dự án tính theo tháng. Tương tự như vậy với mỗi dự án thì cũng có nhiều thông tin như: MSDA, tên dự án – TENDA, ngân sách dự án – NSDA, địa điểm tiến hành dự án - DD. Các lược đồ quan hệ cho CSDL này có thể được định nghĩa như sau: NHANVIEN(MSNV,TENNV,NNGH,LUONG,MSDA,NVU,TGIAN) DUAN(MSDA,TENDA,NSDA,DDDA) Sau khi thực hiện các bước chuẩn hóa ta thu được: NHANVIEN(MSNV,TENNV,NNGH) NHANVIEN(MSNV,TENNV,NNGH) MUCLUONG(NNGH,LUONG) DUAN(MSDA,TENDA,NSDA,DD) PHANCONG(MSNV,MSDA,NVU,TGIAN) Với câu truy vấn “Tìm tên các nhân viên đang quản lý một dự án có thời gian lớn hơn 37 tháng” SELECT TENNV FROM NHANVIEN, PHANCONG WHERE NHANVIEN.MSNV=PHANCONG.MSNV AND TGIAN > 37 Với câu truy vấn trên chúng ta có thể có các biểu thức đại số quan hệ tương đương như sau: Π TENNV (σ TGIAN>37 ∧ NHANVIEN.MSNV=PHANCONG.MSNV (NHANVIEN × PHANCONG)) Và: Π TENNV ( NHANVIEN   MSNV (σ TGIAN>37 (PHANCONG))) Tất nhiên do trong biểu thức đại số thứ hai không có chứa tích Descartes nên sẽ tiêu tốn ít tài nguyên hơn nên sẽ được giữ lại để sử dụng. Trong môi trường tập trung, chiến lược thực thi truy vấn có thể được diễn tả chính xác bằng một mở rộng của đại số quan hệ. Nhiệm vụ chính của bộ xử lý truy vấn trong môi trường tập trung là phải chọn ra một câu truy vấn dạng biểu thức đại số tốt nhất trong các câu truy vấn tương đương. Đây là một bài toán phức tạp khi số lượng các quan hệ lớn, nên nói chung là chúng ta chỉ hướng đến là tìm được một lời giải tốt (gần tối ưu). Trong môi trường phân tán, các biểu thức đạ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 toán trao đổi dữ liệu giữa các trạm. Và cùng với việc chọn các phép toán đại số quan hệ, thì bộ xử lý truy vấn phân tán cũng phải chọn các trạm tốt nhất để xử lý dữ liệu. Do vậy việc tìm 10 [...]... xử lý truy vấn được phân rã thành nhiều bài toán con tương ứng với các tầng khác nhau trong xử lý vấn tin phân tán 16 Hình 2 2 Lược đồ tổng quát xử lý truy vấn phân tán Nguồn của quá trình xử lý truy vấn là câu truy vấn dạng phép tính trên các quan hệ phân tán Các tầng tham gia vào việc phân tích xử lý truy vấn thành một dãy tối ưu các phép toán cục bộ là: phân rã câu truy vấn, định vị dữ liệu, tối ưu. .. mục tiêu của việc xử lý truy vấn trong môi trường phân tán là biến đổi câu truy vấn cấp cao trên CSDL PT thành các câu truy vấn (ở ngôn ngữ cấpthấp) trên các CSDL cục bộ Và một việc quan trọng của xử lý truy vấn là vấn đề tối ưu hóa Trong các chiến lược thực thi (kết quả của các quá trình biến đổi) thì một chiến lược sử dụng các tài nguyên của hệ thống tối ưu nhất thì sẽ được giữ lại Chỉ số đánh giá... toán trong câu truy vấn có thể đưa ra nhiều chiến lược truy vấn Việc tìm ra một cách sắp xếp tối ưu các phép toán cho một câu truy vấn là nhiệm vụ của bộ tối ưu hóa (optimizer) Chọn một chiến lược tối ưu là một bài toán NP-hard theo số lượng quan hệ [Ibaraki and Kameda, 1984] Vì thế nhiệm vụ của bộ tối ưu hóa là tìm ra một chiến lược/phương án thực thi tốt, không cần thiết phải tối ưu, và quan trọng... 24 Với đầu vào là câu truy vấn đã được phân rã, cục bộ hóa nhiệm vụ của bộ tối ưu hóa tìm ra được một chiến lược thực thi câu truy vấn (QEP) đã tối ưu, gồm các câu truy vấn đại số quan hệ được đặc tả theo các mảnh, và các phép toán truy n dữ liệu, hỗ trợ cho việc thực thi câu truy vấn qua các trạm Việc chọn lựa chiến lược tối ưu nói chung là việc tìm cách tiên đoán được chi phí thực thi và giảm thiểu... xử lý các nối 2.1 Tối ưu hóa truy vấn Ở phần này ta sẽ thảo luận về quá trình tối ưu hóa nói chung, bất kể là trong môi trường tập trung hay phân tán Câu truy vấn cần tối ưu giả thiết là được diễn tả bằng đại số quan hệ trên các quan hệ CSDL (có thể là các mảnh) Tối ưu hóa truy vấn là quá trình sinh ra một chiến lược thực thi truy vấn QEP Chiến lược được chọn phải hạ thấp tối đa hàm cho phí Bộ tối ưu. .. truy n Hình 2 19 Thí dụ về truy n dữ liệu cho một truy vấn Giả sử thời gian truy n một đơn vị dữ liệu và thời gian khởi tạo một thông báo được biểu thị theo đơn vị thời gian, ta có: Tổng thời gian = 2 * thời gian khởi tạo một thông báo + thời gian truy n một đơn vị dữ liệu *(x+y) Thời gian đáp ứng = max(thời gian khởi tạo một thông báo + thời gian truy n một đơn vị dữ liệu * x, thời gian khởi tạo một. .. hóa toàn cục, và tối ưu hóa cục bộ Phân rã truy vấn và cục bộ hóa dữ liệu tương ứng với quá trình viết lại câu truy vấn Ba tầng đầu tiên được thực hiện bởi một trạm trung tâm và sử dụng thông tin toàn cục, tầng thư tư được thực hiện tại các trạm cục bộ Các tầng nầy sẽ được bàn luận chi tiết ở phần sau 4.4 Phân rã truy vấn Phân rã câu truy vấn chịu trách nhiệm ánh xạ câu truy vấn phân tán dạng phép... tối ưu hóa truy vấn tĩnh cũng như động Trong CSDL phân tán, số liệu thống kê được tính theo mảnh, và gồm kích thước, lực lượng cũng như kích thước và số lượng các giá trị phân biệt của mỗi thuộc tính (distinct value) Độ chính xác của số liệu thống kê có được là nhờ vào sự cập nhật theo định kỳ Đối với phương pháp tĩnh sự thay đổi lớn của số liệu thống kê có thể dẫn đến việc phải thực hiện lại tối ưu. .. dụng các phép toán một ngôi (như chọn/ chiếu) càng sớm càng tốt, nhằm làm giảm kích thước của các quan hệ trung gian 23 Hình 2 7 Cây truy vấn đã được viết lại CHƯƠNG 2 : TỐI ƯU HÓA TRUY VẤN PHÂN TÁN Câu truy vấn thu được từ quá trình phân rã và cục bộ hóa dữ liệu có thể cho thực hiện bằng cách đưa thêm vào các yếu tố truy n tin (communication primitive) một cách có hệ thống Việc hoán vị thứ tự các... sắp thứ tự nối và tạo tiền đề cho phần tiếp theo có sử dụng nối nửa để tối ưu các câu truy vấn phân tán Trước khi đi vào vấn đề chính chúng ta đưa ra một số giả thiết như sau:  Câu truy vấn được định vị trên các mảnh, ta dùng thuật ngữ quan hệ để chỉ một mảnh được lưu trữ tại một trạm cụ thể  Tập trung vào việc sắp xếp thứ tự nối, bỏ qua thời gian xử lý cục bộ  Chỉ xem xét các câu truy vấn nối mà các . 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. CHƯƠNG 1: CƠ SỞ DỮ LIỆU PHÂN TÁN VÀ MỘT SỐ NGUYÊN LÝ CHUNG CỦA TỐI ƯU HOÁ. việc phân tích xử lý truy vấn thành một dãy tối ưu các phép toán cục bộ là: phân rã câu truy vấn, định vị dữ liệu, tối ưu hóa toàn cục, và tối ưu hóa cục bộ. Phân rã truy vấn và cục bộ hóa dữ liệu. CƠ SỞ DỮ LIỆU PHÂN TÁN VÀ MỘT SỐ NGUYÊN LÝ CHUNG CỦA TỐI ƯU HOÁ TRUY VẤN 3 1. Các khái niệm về CSDL PT 4 2. Các mục tiêu của hệ quản trị CSDL PT 5 3. Kiến trúc hệ quản trị CSDL PT 6 4. Một số

Ngày đăng: 11/04/2015, 08:09

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan