Quay lại bộ đề
Question #68 Topic 1
You need to create a data pipeline that copies time-series transaction data so that it can be queried from within BigQuery by your data science team for analysis.Every hour, thousands of transactions are updated with a new status. The size of the initial dataset is 1.5 PB, and it will grow by 3 TB per day. The data is heavily structured, and your data science team will build machine learning models based on this data. You want to maximize performance and usability for your data science team. Which two strategies should you adopt? (Choose two.)
Bạn cần tạo một đường ống (pipeline) dữ liệu để sao chép dữ liệu giao dịch dạng chuỗi thời gian (time-series) nhằm cho phép đội ngũ khoa học dữ liệu của bạn truy vấn phân tích ngay từ trong BigQuery. Mỗi giờ, hàng nghìn giao dịch được cập nhật với trạng thái mới. Kích thước của tập dữ liệu ban đầu là 1,5 PB và sẽ tăng thêm 3 TB mỗi ngày. Dữ liệu có cấu trúc rất chặt chẽ, và đội ngũ khoa học dữ liệu của bạn sẽ xây dựng các mô hình học máy dựa trên dữ liệu này. Bạn muốn tối đa hóa hiệu suất và khả năng sử dụng cho đội ngũ khoa học dữ liệu của mình. Hai chiến lược nào bạn nên áp dụng? (Chọn hai.)
A
Denormalize the data as must as possible.
Phi chuẩn hóa (denormalize) dữ liệu nhiều nhất có thể.
B
Preserve the structure of the data as much as possible.
Bảo toàn cấu trúc của dữ liệu nhiều nhất có thể.
C
Use BigQuery UPDATE to further reduce the size of the dataset.
Sử dụng lệnh `UPDATE` của BigQuery để giảm thêm kích thước của tập dữ liệu.
D
Develop a data pipeline where status updates are appended to BigQuery instead of updated.
Phát triển một pipeline dữ liệu nơi các cập nhật trạng thái được thêm vào (append) BigQuery thay vì cập nhật đè (update).
E
Copy a daily snapshot of transaction data to Cloud Storage and store it as an Avro file. Use BigQuery's support for external data sources to query.
Sao chép một bản chụp (snapshot) hàng ngày của dữ liệu giao dịch sang Cloud Storage và lưu trữ dưới dạng tệp Avro. Sử dụng tính năng hỗ trợ nguồn dữ liệu bên ngoài của BigQuery để truy vấn.
Giải thích & Tài liệu tham khảo
Câu hỏi yêu cầu tạo một pipeline dữ liệu để sao chép dữ liệu giao dịch theo thời gian vào BigQuery cho phân tích bởi đội khoa học dữ liệu. Dữ liệu ban đầu lớn (1.5 PB) và tăng nhanh (3 TB/ngày), được cấu trúc chặt chẽ, và sẽ được dùng để xây dựng mô hình ML. Mục tiêu là tối đa hóa hiệu suất và khả năng sử dụng cho đội khoa học dữ liệu.
- Lựa chọn A (Denormalize the data as much as possible.) là một chiến lược hiệu quả cho BigQuery. BigQuery được thiết kế để xử lý dữ liệu ở dạng denormalized (phi chuẩn hóa) với các trường lặp lại và lồng nhau để tối ưu hóa hiệu suất truy vấn, đặc biệt là cho các tác vụ phân tích và học máy. Việc denormalize dữ liệu giúp giảm số lượng phép JOIN phức tạp, tăng tốc độ truy vấn và đơn giản hóa các truy vấn cho các nhà khoa học dữ liệu. Với dữ liệu lớn và nhu cầu phân tích nhanh, đây là một best practice của BigQuery.
- Lựa chọn D (Develop a data pipeline where status updates are appended to BigQuery instead of updated.) cũng là một chiến lược hiệu quả. BigQuery được tối ưu hóa cho các thao tác ghi dữ liệu theo kiểu append (ghi thêm) và xử lý dữ liệu bất biến (immutable data). Các câu lệnh
UPDATEhoặcDELETEtrong BigQuery, đặc biệt trên các bảng lớn, có thể tốn kém về mặt chi phí và thời gian vì chúng thực chất tạo ra các bản sao mới của dữ liệu đã sửa đổi. Thay vì cập nhật trạng thái của hàng hiện có, việc ghi thêm các bản ghi mới phản ánh trạng thái cập nhật (ví dụ: một bản ghi mới vớitransaction_id,new_status, vàtimestamp_of_update) và sau đó sử dụng các hàm cửa sổ hoặc các truy vấn để lấy trạng thái mới nhất là một mẫu thiết kế phổ biến và hiệu quả về mặt chi phí/hiệu suất. Điều này cũng hỗ trợ việc lưu giữ lịch sử thay đổi trạng thái, rất hữu ích cho phân tích và ML.
- Lựa chọn B (Preserve the structure of the data as much as possible.) không phải là best practice cho BigQuery trong trường hợp này. Mặc dù BigQuery hỗ trợ các cấu trúc dữ liệu phức tạp, việc bảo toàn hoàn toàn cấu trúc chuẩn hóa (normalized) có thể dẫn đến nhiều phép JOIN tốn kém hiệu suất cho các truy vấn phân tích. Denormalization thường được ưu tiên để tối ưu hóa hiệu suất.
- Lựa chọn C (Use BigQuery UPDATE to further reduce the size of the dataset.) là không chính xác.
UPDATEtrong BigQuery không làm giảm kích thước dataset, mà ngược lại, có thể làm tăng chi phí và đôi khi cả kích thước lưu trữ ẩn vì nó tạo ra các phiên bản bảng mới. Khả năng cập nhật của BigQuery chủ yếu để sửa đổi dữ liệu chứ không phải để giảm kích thước một cách hiệu quả theo nghĩa tối ưu hóa lưu trữ.
- Lựa chọn E (Copy a daily snapshot of transaction data to Cloud Storage and store it as an Avro file. Use BigQuery's support for external data sources to query.) là một giải pháp không tối ưu cho hiệu suất. Mặc dù BigQuery có thể truy vấn dữ liệu bên ngoài từ Cloud Storage, hiệu suất truy vấn trên dữ liệu bên ngoài thường chậm hơn đáng kể so với dữ liệu được lưu trữ nguyên bản trong BigQuery tables. Với dataset 1.5 PB và tốc độ tăng trưởng 3 TB/ngày, việc dựa vào dữ liệu bên ngoài sẽ gây ra các vấn đề về hiệu suất cho đội khoa học dữ liệu, những người cần truy cập nhanh để xây dựng mô hình ML. Việc tải dữ liệu vào BigQuery là lựa chọn tốt hơn cho hiệu suất.
Vì vậy, hai chiến lược tối ưu là A và D.
(Đáp án được gợi ý bởi AI)