Tối ưu truy vấn toàn cục(Global query optimization): ở giai đoạn này các truy vấn theo mảnh sẽ được tối ưu hóa.
Kế hoạch thực thi truy vấn phân tán
Truy vấn đại số trên các mảnh
Truy vấndạng đại số quan hệ trên các quan hệ toàn cục
Truy vấndạng phép tính trên các quan hệ toàn cục Phân rã truy vấn
Cục bộ hóa dữ liệu
Tối ưutruy vấntoàn cục
Thực thi truy vấn phân tán
Lược đồ toàn cục Lược đồ mảnh Lược đồ định vị Trạm điều khiển Các trạm cục bộ
truy cập tốt nhất, sử dụng các kỹ thuật tối ưu hóa tập trung.
3.1.1 Phân rã truy vấn
Phân rã truy vấn là giai đoạn đầu tiên trong mô hình xử lý truy vấn phân tán. Mục tiêu của giai đoạn này là chuyển câu truy vấn dạng phép tính (calculus query) - hay còn gọi là truy vấn ở ngôn ngữ bậc cao trên quan hệ toàn cục thành truy vấn dạng đại số quan hệ trên quan hệ toàn cục đó. Thông tin cần thiết cho quá trình chuyển đổi này là lược đồ quan niệm toàn cục mô tả cho các quan hệ, trong giai đoạn này, cú pháp và ngữ nghĩa của truy vấn cũng sẽ được kiểm tra. Trong cả hệ quản trị cơ sở dữ liệu tập trung và phân tán, quá trình phân rã truy vấn là như nhau. Có bốn bước trong phân rã truy vấn bao gồm[13]:
Chuẩn hóa (normalization): đầu tiên, truy vấndạng phép tính được viết lại dưới dạng chuẩn hóa thích hợp cho thao tác về sau. Chuẩn hóa của một quan hệ nói chung bao gồm việc thực hiện các định lượng truy vấn và các điều kiện truy vấn bằng việc áp dụng tính ưu tiên phép toán lôgic.
Phân tích (analysis): thứ hai, truy vấn đã chuẩn hóa được phân tích ngữ nghĩa sao cho các truy vấn sai được phát hiện và được bỏ đi càng sớm càng tốt.
Đơn giản hóa (simplification): thứ ba, truy vấn đúng đắn (vẫn còn được biểu diễn trong tính toán quan hệ) được đơn giản hóa bằng cách loại bỏ các vị từ dư thừa.
Xây dựng lại (query restructuring): cuối cùng, truy vấn tính toán được cấu trúc lại như một truy vấn đại số.
3.1.2 Cục bộ hóa dữ liệu
Dữ liệu vào cho bướcthứ hai là một truy vấn đại sốtrên các quan hệ được phân tán, bước này thực hiện cục bộ hóa dữ liệu của truy vấn bằng cách sử dụng thông tin phân tán dữ liệu nhằm xác định đoạn nào được đưa vào trong truy vấn và chuyển đổi truy vấn phân tán thành truy vấn mảnh. Việc tạo ra một truy vấn mảnh được thực hiện trong hai bước[13, 15].
Trước tiên, truy vấn phân tán được ánh xạ thành truy vấn mảnhbằng cách thay thế mỗi một quan hệ phân tán bằng chương trình xây dựng lại của nó. Thứ hai, truy vấn mảnh được đơn giản hóa và được cấu trúc lại để tạo ra
một truy vấn “tốt” khác. Việc đơn giản hóa và cấu trúc lại có thể được thực hiện theo cùng các quy tắc được sử dụng trong bước phân rã. Giống như trong bước phân rã, truy vấn mảnh cuối cùng thường còn xa với truy vấn tối ưu bởi vì thông tin xem xét các mảnh không được sử dụng.
3.1.3 Tối ưu truy vấntoàn cục
đại số trên các mảnh. Mục đích của tối ưu truy vấn là tìm một chiến lược thực hiện cho truy vấn gần với tối ưu.
Tối ưu truy vấn bao gồm việc tìm thứ tự “tốt nhất” của các phép toán trong truy vấn mảnh, bao gồm các phép toán truyền thông, tối thiểu hàm chi phí. Hàm chi phí, thường được định nghĩa theo đơn vị thời gian, liên quan đến các tài nguyên tính toán như không gian đĩa, các thao tác vào/ra đĩa, không gian bộ nhớ đệm, chi phí CPU, chi phí truyền thông. Để đơn giản hóa, tối ưu truy vấn toàn cục thưởng bỏ qua chi phí xử lý cục bộ vì chi phí truyền thông là nhân tố có ý nghĩa nhất. Điều này là có hiệu quả đối với các mạng diện rộng, ở đó băng thông có hạn làm cho sự truyền thông tốn kém hơn nhiều so với xử lý cục bộ. Việc xác định chi phí thực hiện trước khi thực hiện truy vấn (tức là tối ưu tĩnh) là dựa trên các thống kê mảnh và các công thức để ước lượng lực lượng của các kết quả trung gian của các phép toán quan hệ. Vì vậy các quyết định tối ưu phụ thuộc vào các thống kê sẵn có trên các mảnh.
Một khía cạnh quan trọng của tối ưu truy vấn là thứ tự nối, bởi vì việc giao hoán của các phép nối bên trong truy vấn có thể dẫn đến việc cải thiện chi phí truy vấn. Một kỹ thuật cơ bản để tối ưu một dãy các phép nối phân tán là thông qua phép toán nửa nối. Giá trị chính của nửa nối trong một hệ phân tán là làm giảm kích thước của các toán hạng nối và sau đó là chi phí truyền thông. Tuy nhiên, nhiều kỹ thuật mới xem xét chi phí xử lý cục bộ (địa phương) cũng như chi phí truyền thông không sử dụng các nửa nối bởi vì chúng có thể làm tăng chi phí xử lý cục bộ. Dữ liệu ra của tầng tối ưu truy vấn là một truy vấn đại số tối ưu với các phép toán truyền thông bao hàm trên các mảnh[13, 15].
3.1.4 Thực thi truy vấn phân tán
Bước cuối cùng được thực hiện bởi tất cả các trạm có các đoạn được bao hàm trong truy vấn. Mỗi truy vấn con đang thực hiện tại một trạm, được gọi là truy vấn cụcbộ, sau đó được tối ưu bằng cách sử dụng lược đồ cục bộ của trạm. Tại thời điểm này, các thuật toán để thực hiện các phép toán quan hệ có thể được lựa chọn. Tối ưu cục bộ sử dụng các thuật toán của các hệ thống tập trung [13, 15].
3.2 Mục đíchvà quy trình tối ưu truy vấn
Tối ưu hóa truy vấn được định nghĩa là hoạt động của việc lựa chọn một chiến lược thực hiện hiệu quả để xử lý một truy vấn. Tối ưu hóa truy vấn là một phần của xử lý truy vấn. Mục tiêu chính của tối ưu hóa tìm kiếm sẽ được lựa chọn một sự thay đổi để giảm thiểu sử dụng tài nguyên, giảm tổng thời gian thực
thi truy vấn (query execution plan - QEP) biểu diễn cho chiến lược thực thi truy vấn. QEP này phải hạ thấp tối đa hàm chi phí vấn tin. Bộ tối ưu truy vấn là một mô đun phần mềm bao gồm ba phần: một không gian tìm kiếm (search space), một mô hình định giá (cost model), và một chiến lược tìm kiếm(search strategy) (xem Hình 3.2). Không gian tìm kiếm là tập các kế hoạch thực thi biểu diễn cho câu truy vấn đầu vào. Nhữngkếhoạch này là tương đương, theo nghĩa là chúng sinh ra cùng một kết quả nhưng khác nhau ở thứ tự thực hiện các thao tác và cách thức cài đặt những thao tác này, vì thế khác nhau về hiệu suất. Không gian tìm kiếm thu được bằng cách áp dụng các quy tắc biến đổi, chẳnghạn những qui tắc cho đại số quan hệ. Mô hình chi phí nhằm dự đoán chi phí của mộtkếhoạch thực thi đã cho. Để cho chính xác, môhình chi phí phải có đủ thông tin cần thiết về môi trường thực thi phân tán. Chiến lượctìm kiếm sẽ khảo sát không gian tìm kiếm và chọn ra kế hoạch tốt nhất dựa theo mô hình chi phí. Nó định nghĩa xem kế hoạch nào cần được kiểm tra và theo thứ tự nào. Chi tiết về môi trường (tập trung hay phân tán) được ghi nhận trong không gianvà mô hình chi phí [15].