Quay lại bộ đề
Question #172 Topic 1
dataset.inventory_vm sample records:
You have an inventory of VM data stored in the BigQuery table. You want to prepare the data for regular reporting in the most cost-effective way. You need to exclude VM rows with fewer than 8 vCPU in your report. What should you do?
Bạn có một kho dữ liệu VM lưu trữ trong bảng BigQuery. Bạn muốn chuẩn bị dữ liệu cho báo cáo định kỳ theo cách tiết kiệm chi phí nhất. Bạn cần loại trừ các hàng VM có ít hơn 8 vCPU trong báo cáo của mình. Bạn nên làm gì?
A
Create a view with a filter to drop rows with fewer than 8 vCPU, and use the UNNEST operator.
Tạo một view với bộ lọc để loại bỏ các hàng có ít hơn 8 vCPU, và sử dụng toán tử UNNEST.
B
Create a materialized view with a filter to drop rows with fewer than 8 vCPU, and use the WITH common table expression.
Tạo một materialized view với bộ lọc để loại bỏ các hàng có ít hơn 8 vCPU, và sử dụng biểu thức bảng chung WITH (common table expression).
C
Create a view with a filter to drop rows with fewer than 8 vCPU, and use the WITH common table expression.
Tạo một view với bộ lọc để loại bỏ các hàng có ít hơn 8 vCPU, và sử dụng biểu thức bảng chung WITH (common table expression).
D
Use Dataflow to batch process and write the result to another BigQuery table.
Sử dụng Dataflow để xử lý hàng loạt và ghi kết quả vào một bảng BigQuery khác.
Giải thích & Tài liệu tham khảo
Để chuẩn bị dữ liệu báo cáo một cách tiết kiệm chi phí nhất trong BigQuery:
- Standard View: Tạo một logic view thông thường là phương án tối ưu về chi phí nhất vì view chỉ lưu trữ câu lệnh SQL định nghĩa chứ không nhân bản hay chiếm dụng tài nguyên lưu trữ vật lý bổ sung.
- UNNEST Operator: Dữ liệu VM thường chứa thông tin cấu hình phần cứng dưới dạng các trường lặp lại (repeated fields hoặc nested arrays). Toán tử
UNNESTlà bắt buộc để có thể truy cập và lọc các phần tử trong mảng này (ví dụ như vCPUs).
- Tại sao chọn A: View là giải pháp zero-copy (không sao chép dữ liệu) tiết kiệm chi phí nhất, và
UNNESTgiải quyết được vấn đề xử lý các mảng lặp lại phổ biến trong kho dữ liệu hạ tầng (VM inventory). - Tại sao B sai: Materialized view sẽ tự động tính toán lại và ghi dữ liệu ra bộ nhớ vật lý, phát sinh thêm chi phí lưu trữ.
- Tại sao C sai: Dùng
WITH(CTE) chỉ giúp cấu trúc câu lệnh SQL dễ đọc hơn nhưng không thay thế được khả năng phá vỡ cấu trúc mảng lặp lại củaUNNEST. - Tại sao D sai: Chạy Dataflow để tạo bảng mới sẽ sinh thêm chi phí tài nguyên máy ảo Compute Engine của Dataflow lẫn chi phí lưu trữ bảng vật lý mới trong BigQuery.
(Đáp án được gợi ý bởi AI)