Quay lại bộ đề
Question #149 Topic 1
You currently use a SQL-based tool to visualize your data stored in BigQuery. The data visualizations require the use of outer joins and analytic functions. Visualizations must be based on data that is no less than 4 hours old. Business users are complaining that the visualizations are too slow to generate. You want to improve the performance of the visualization queries while minimizing the maintenance overhead of the data preparation pipeline. What should you do?
Bạn hiện đang sử dụng một công cụ dựa trên SQL để trực quan hóa dữ liệu được lưu trữ trong BigQuery. Việc trực quan hóa dữ liệu yêu cầu sử dụng các liên kết ngoài (outer joins) và các hàm phân tích (analytic functions). Các trực quan hóa phải dựa trên dữ liệu không cũ quá 4 giờ. Người dùng nghiệp vụ đang phàn nàn rằng các trực quan hóa được tạo ra quá chậm. Bạn muốn cải thiện hiệu suất của các truy vấn trực quan hóa trong khi giảm thiểu chi phí bảo trì của đường dẫn chuẩn bị dữ liệu. Bạn nên làm gì?
A
Create materialized views with the allow_non_incremental_definition option set to true for the visualization queries. Specify the max_staleness parameter to 4 hours and the enable_refresh parameter to true. Reference the materialized views in the data visualization tool.
Tạo các chế độ xem được vật liệu hóa (materialized views) với tùy chọn allow_non_incremental_definition được đặt thành true cho các truy vấn trực quan hóa. Chỉ định tham số max_staleness thành 4 giờ và tham số enable_refresh thành true. Tham chiếu các chế độ xem được vật liệu hóa trong công cụ trực quan hóa dữ liệu.
B
Create views for the visualization queries. Reference the views in the data visualization tool.
Tạo các chế độ xem logic (views) cho các truy vấn trực quan hóa. Tham chiếu các chế độ xem trong công cụ trực quan hóa dữ liệu.
C
Create a Cloud Function instance to export the visualization query results as parquet files to a Cloud Storage bucket. Use Cloud Scheduler to trigger the Cloud Function every 4 hours. Reference the parquet files in the data visualization tool.
Tạo một thực thể Cloud Function để xuất kết quả truy vấn trực quan hóa dưới dạng các tệp parquet sang một bucket Cloud Storage. Sử dụng Cloud Scheduler để kích hoạt Cloud Function cứ sau mỗi 4 giờ. Tham chiếu các tệp parquet trong công cụ trực quan hóa dữ liệu.
D
Create materialized views for the visualization queries. Use the incremental updates capability of BigQuery materialized views to handle changed data automatically. Reference the materialized views in the data visualization tool.
Tạo các chế độ xem được vật liệu hóa cho các truy vấn trực quan hóa. Sử dụng khả năng cập nhật tăng dần (incremental updates) của các chế độ xem được vật liệu hóa trong BigQuery để tự động xử lý dữ liệu thay đổi. Tham chiếu các chế độ xem được vật liệu hóa trong công cụ trực quan hóa dữ liệu.
Giải thích & Tài liệu tham khảo
Để tối ưu hiệu suất của các câu truy vấn phức tạp (outer joins và analytic functions) cho công cụ trực quan hóa dữ liệu với độ trễ tối đa 4 giờ mà không phát sinh chi phí bảo trì đường dẫn dữ liệu:
- A là đúng: Do các truy vấn phức tạp chứa outer joins hoặc analytic functions không hỗ trợ cập nhật tăng dần trong BigQuery materialized views, bạn cần bật cờ
allow_non_incremental_definition = truekhi tạo view. Việc đặtmax_staleness = '04:00:00'(4 giờ) vàenable_refresh = truecho phép BigQuery tự động làm mới ngầm materialized view này và cho phép truy vấn trả về kết quả đã được tính toán trước (cũ tối đa 4 giờ), giúp cải thiện hiệu suất vượt trội mà không cần lập lịch thủ công. - B là sai: Chế độ xem logic thông thường sẽ chạy lại toàn bộ truy vấn phức tạp mỗi khi người dùng truy cập, do đó không giải quyết được vấn đề tốc độ.
- C là sai: Giải pháp này yêu cầu viết mã nguồn và quản trị nhiều dịch vụ khác nhau (Cloud Function, Scheduler, Cloud Storage), làm tăng đáng kể chi phí bảo trì hệ thống.
- D là sai: Mặc định materialized view sẽ báo lỗi nếu không thiết lập
allow_non_incremental_definition = truecho các câu truy vấn chứa outer joins hoặc analytic functions.
(Đáp án được gợi ý bởi AI)