Khi thực hiện việc tối ưu hoá truy vấn bằng phương pháp quyết định tập trung:
A.
A. Có thể được phân tán cho nhiều vị trí tham gia.
B.
B. Có một vị trí đưa ra giải pháp.
C.
C. Có nhiều vị trí đưa ra giải pháp.
D.
D. Có một hoặc nhiều vị trí đưa ra giải pháp.
Trả lời:
Đáp án đúng: B
Trong phương pháp tối ưu hóa truy vấn quyết định tập trung, một vị trí duy nhất sẽ chịu trách nhiệm đưa ra giải pháp tối ưu. Các vị trí khác có thể tham gia bằng cách cung cấp thông tin hoặc dữ liệu cần thiết, nhưng quyết định cuối cùng về kế hoạch truy vấn tối ưu thuộc về vị trí trung tâm. Vì vậy, đáp án B là chính xác nhất.
Quá trình cục bộ hóa trong truy vấn phân tán là quá trình ánh xạ một câu truy vấn phân tán, được mô tả trên các quan hệ toàn cục, thành các câu truy vấn tương ứng trên các mảnh dữ liệu. Điều này cho phép truy vấn được thực thi trên các mảnh dữ liệu cụ thể, thay vì trên toàn bộ cơ sở dữ liệu phân tán, giúp tăng hiệu suất và giảm chi phí truyền thông.
Vì vậy, đáp án đúng là C.
Quy trình xử lý truy vấn thường được chia thành các tầng sau:
1. **Phân tích cú pháp và ngữ nghĩa (Parsing and Semantic Analysis):** Kiểm tra cú pháp của truy vấn và đảm bảo nó tuân thủ quy tắc của ngôn ngữ truy vấn (ví dụ: SQL). Xác minh xem các đối tượng (bảng, cột) được tham chiếu trong truy vấn có tồn tại và hợp lệ không.
2. **Tối ưu hóa truy vấn (Query Optimization):** Tìm kiếm kế hoạch thực thi hiệu quả nhất cho truy vấn. Điều này bao gồm việc xem xét các chỉ mục, thống kê dữ liệu và các thuật toán khác nhau để chọn cách tốt nhất để truy cập và xử lý dữ liệu.
3. **Thực thi truy vấn (Query Execution):** Thực hiện kế hoạch truy vấn đã được tối ưu hóa. Điều này bao gồm việc truy xuất dữ liệu từ các bảng, thực hiện các phép toán (ví dụ: lọc, sắp xếp, kết nối) và trả về kết quả.
Vì vậy, số tầng của quy trình xử lý truy vấn là 3.
Chức năng tầng 4 (thường liên quan đến lớp ứng dụng trong mô hình OSI hoặc TCP/IP) thường được thực hiện tại một vị trí tập trung, nơi có thể truy cập và sử dụng thông tin toàn cục để đưa ra các quyết định hoặc thực hiện các tác vụ phức tạp. Điều này cho phép ứng dụng hoạt động hiệu quả hơn và đảm bảo tính nhất quán của dữ liệu. Vì vậy, đáp án A là chính xác nhất.
Phép kết nối (join) trong cơ sở dữ liệu có thể được rút gọn trong trường hợp phân mảnh ngang nguyên thủy bằng cách phân phối phép kết nối trên các phép hợp (union). Điều này cho phép chia nhỏ phép kết nối lớn thành nhiều phép kết nối nhỏ hơn, mỗi phép kết nối chỉ liên quan đến một phân mảnh. Kết quả của các phép kết nối nhỏ hơn này sau đó được hợp lại để tạo ra kết quả cuối cùng.
* **Phương án A:** Hoán vị phép chọn và phép kết nối không phải là phương pháp chính để rút gọn phép kết nối trong trường hợp phân mảnh ngang nguyên thủy.
* **Phương án B:** Phân phối các phép kết nối dưới các phép giao (intersection) không phù hợp vì phép giao thường dùng để tìm các bản ghi chung giữa các quan hệ, không phải để phân chia và kết hợp kết quả như phép hợp.
* **Phương án C:** Phân phối các phép kết nối trên các phép hợp là phương pháp đúng để rút gọn phép kết nối trong phân mảnh ngang. Việc này giúp chia nhỏ và xử lý song song các phần dữ liệu.
* **Phương án D:** "Dưới" và "trên" trong ngữ cảnh này có sự khác biệt về mặt logic. "Trên" phép hợp là cách diễn đạt chính xác hơn khi nói về việc phân phối một phép toán trên một phép toán khác.
Vì vậy, đáp án đúng là C.
Các câu truy vấn trên các mảnh dẫn xuất có thể được rút gọn bằng cách phân phối các phép kết nối trên các phép hợp. Đây là một kỹ thuật tối ưu hóa truy vấn quan trọng trong các hệ quản trị cơ sở dữ liệu phân tán. Phân phối phép kết nối trên phép hợp cho phép chia nhỏ truy vấn thành các truy vấn nhỏ hơn, độc lập hơn, có thể được thực thi song song trên các mảnh dữ liệu khác nhau. Điều này giúp tăng hiệu suất và giảm thời gian phản hồi của hệ thống. Các lựa chọn khác không phải là các phương pháp rút gọn truy vấn tiêu chuẩn trong bối cảnh này.