Quay lại bộ đề
Question #229 Topic 1
You work for an airline and you need to store weather data in a BigQuery table. Weather data will be used as input to a machine learning model. The model only uses the last 30 days of weather data. You want to avoid storing unnecessary data and minimize costs. What should you do?
Bạn làm việc cho một hãng hàng không và cần lưu trữ dữ liệu thời tiết trong bảng BigQuery. Dữ liệu thời tiết sẽ được sử dụng làm đầu vào cho một mô hình học máy. Mô hình này chỉ sử dụng dữ liệu thời tiết của 30 ngày gần nhất. Bạn muốn tránh lưu trữ dữ liệu không cần thiết và giảm thiểu chi phí. Bạn nên làm gì?
A
Create a BigQuery table where each record has an ingestion timestamp. Run a scheduled query to delete all the rows with an ingestion timestamp older than 30 days.
Tạo một bảng BigQuery trong đó mỗi bản ghi có một nhãn thời gian nạp dữ liệu (ingestion timestamp). Chạy một truy vấn lập lịch để xóa tất cả các hàng có nhãn thời gian nạp cũ hơn 30 ngày.
B
Create a BigQuery table partitioned by datetime value of the weather date. Set up partition expiration to 30 days.
Tạo một bảng BigQuery được phân vùng theo giá trị datetime của ngày thời tiết. Thiết lập thời gian hết hạn phân vùng (partition expiration) là 30 ngày.
C
Create a BigQuery table partitioned by ingestion time. Set up partition expiration to 30 days.
Tạo một bảng BigQuery được phân vùng theo thời gian nạp dữ liệu (ingestion time). Thiết lập thời gian hết hạn phân vùng là 30 ngày.
D
Create a BigQuery table with a datetime column for the day the weather data refers to. Run a scheduled query to delete rows with a datetime value older than 30 days.
Tạo một bảng BigQuery có cột datetime cho ngày mà dữ liệu thời tiết đề cập đến. Chạy một truy vấn lập lịch để xóa các hàng có giá trị datetime cũ hơn 30 ngày.
Giải thích & Tài liệu tham khảo
Để lưu trữ dữ liệu thời tiết và tự động dọn dẹp dữ liệu cũ hơn 30 ngày nhằm tối ưu hóa chi phí:
- Phân vùng theo giá trị datetime của ngày thời tiết và đặt thời gian hết hạn phân vùng là 30 ngày (Lựa chọn B): Đây là giải pháp tối ưu nhất. Cơ chế tự động hết hạn phân vùng của BigQuery được quản lý hoàn toàn ở cấp độ hạ tầng, giúp tự động xóa các phân vùng cũ mà không tốn chi phí quét truy vấn hay tài nguyên tính toán để chạy DML.
Các lựa chọn khác không tối ưu:
- C: Phân vùng theo thời gian nạp (ingestion time) có thể dẫn đến việc xóa nhầm hoặc giữ lại sai dữ liệu nếu dữ liệu lịch sử của các ngày trước được nạp muộn.
- A, D: Sử dụng truy vấn lập lịch để chạy lệnh
DELETEhàng ngày sẽ làm phát sinh chi phí quét toàn bộ bảng và tài nguyên tính toán cho lệnh DML, đồng thời làm tăng độ phức tạp quản trị.
(Đáp án được gợi ý bởi AI)