Quay lại bộ đề
Question #66 Topic 1
You have a requirement to insert minute-resolution data from 50,000 sensors into a BigQuery table. You expect significant growth in data volume and need the data to be available within 1 minute of ingestion for real-time analysis of aggregated trends. What should you do?
Bạn có yêu cầu chèn dữ liệu có độ phân giải theo phút từ 50.000 cảm biến vào một bảng BigQuery. Bạn dự kiến lượng dữ liệu sẽ tăng trưởng đáng kể và cần dữ liệu phải sẵn sàng trong vòng 1 phút kể từ khi tiếp nhận để phân tích xu hướng tổng hợp theo thời gian thực. Bạn nên làm gì?
A
Use bq load to load a batch of sensor data every 60 seconds.
Sử dụng lệnh `bq load` để tải một lô dữ liệu cảm biến sau mỗi 60 giây.
B
Use a Cloud Dataflow pipeline to stream data into the BigQuery table.
Sử dụng một đường ống Cloud Dataflow để truyền trực luồng (stream) dữ liệu vào bảng BigQuery.
C
Use the INSERT statement to insert a batch of data every 60 seconds.
Sử dụng câu lệnh `INSERT` để chèn một lô dữ liệu sau mỗi 60 giây.
D
Use the MERGE statement to apply updates in batch every 60 seconds.
Sử dụng câu lệnh `MERGE` để áp dụng các bản cập nhật theo lô sau mỗi 60 giây.
Giải thích & Tài liệu tham khảo
Câu hỏi yêu cầu một giải pháp để chèn dữ liệu có độ phân giải theo phút từ 50.000 cảm biến vào BigQuery, kèm theo mong đợi về sự tăng trưởng đáng kể của dữ liệu và yêu cầu dữ liệu có sẵn trong vòng 1 phút để phân tích xu hướng theo thời gian thực. Điều này chỉ ra một trường hợp sử dụng dữ liệu luồng (streaming data) với yêu cầu về độ trễ thấp và khả năng mở rộng cao.
Phân tích các lựa chọn:
- A. Use
bq loadto load a batch of sensor data every 60 seconds. Lệnhbq loadđược thiết kế cho việc tải dữ liệu hàng loạt (batch loading). Mặc dù có thể cấu hình để chạy 60 giây một lần, phương pháp này không hiệu quả và không tối ưu cho dữ liệu luồng với yêu cầu độ trễ thấp và số lượng cảm biến lớn. Việc tạo và quản lý 50.000 tệp để tải mỗi phút là không thực tế và sẽ gặp vấn đề về hiệu suất và độ trễ.
- B. Use a Cloud Dataflow pipeline to stream data into the BigQuery table. Đây là lựa chọn tốt nhất. Cloud Dataflow là một dịch vụ xử lý dữ liệu được quản lý hoàn toàn, có khả năng mở rộng cao, hỗ trợ cả xử lý dữ liệu hàng loạt và dữ liệu luồng. Với dữ liệu luồng, Dataflow có thể xử lý luồng dữ liệu từ các cảm biến (ví dụ: thông qua Pub/Sub) và chèn trực tiếp vào BigQuery bằng cách sử dụng BigQuery I/O connector của Apache Beam. Điều này đáp ứng các yêu cầu về khả năng mở rộng (xử lý 50.000 cảm biến và tăng trưởng dữ liệu), độ trễ thấp (dữ liệu có sẵn trong vòng 1 phút) và độ tin cậy cao cho dữ liệu luồng.
- C. Use the
INSERTstatement to insert a batch of data every 60 seconds. Sử dụng câu lệnhINSERTtrực tiếp vào BigQuery, ngay cả khi theo lô, không phải là cách tối ưu cho dữ lượng lớn và liên tục như vậy. Mỗi câu lệnhINSERTcó thể phát sinh chi phí và có giới hạn về số lượng hàng hoặc kích thước dữ liệu trong một lần chèn. Với 50.000 cảm biến, việc thực hiện cácINSERTstatement lặp đi lặp lại mỗi phút sẽ tạo ra một tải trọng lớn và không hiệu quả, dẫn đến độ trễ cao và khó quản lý.
- D. Use the
MERGEstatement to apply updates in batch every 60 seconds. Câu lệnhMERGEchủ yếu được sử dụng để hợp nhất các bản ghi (insert, update, delete) từ một nguồn vào một bảng đích. Trong trường hợp này, dữ liệu từ cảm biến thường là dữ liệu mới được thêm vào chứ không phải cập nhật các bản ghi hiện có. Mặc dù có thể sử dụngMERGEcho việc chèn, việc này sẽ phức tạp hơn và không hiệu quả bằng việc sử dụng các API chèn luồng hoặc Dataflow được tối ưu hóa cho mục đích này. Hơn nữa, việc chạyMERGEtheo lô mỗi 60 giây sẽ gặp phải các vấn đề tương tự nhưINSERTvới khối lượng dữ liệu lớn về độ trễ và hiệu suất.
Do đó, Cloud Dataflow là giải pháp lý tưởng nhất vì nó được thiết kế để xử lý các khối lượng dữ liệu luồng lớn, có độ trễ thấp và có khả năng mở rộng cao vào BigQuery.
(Đáp án được gợi ý bởi AI)