Khi sử dụng tính năng chèn luồng dữ liệu (streaming inserts) vào BigQuery thông qua API Legacy hoặc Storage Write API, dữ liệu sẽ được ghi vào một bộ đệm lưu trữ tạm thời (streaming buffer) trước khi được chuyển chính thức vào hệ thống lưu trữ cột của BigQuery.
- D. Ước lượng độ trễ trung bình và chờ đợi trước khi truy vấn: Trong tài liệu chính thức của Google Cloud BigQuery về tính khả dụng của dữ liệu streaming (streaming availability), dữ liệu vừa chèn có thể mất từ vài giây đến một khoảng thời gian ngắn để sẵn sàng cho việc truy vấn một cách nhất quán (consistency). Để giải quyết vấn đề báo cáo bị thiếu dữ liệu đang trong quá trình xử lý (in-flight data) mà vẫn giữ nguyên mô hình streaming insert thời gian thực, một giải pháp thực tế là tính toán độ trễ trung bình từ lúc ghi đến lúc dữ liệu sẵn sàng truy vấn, sau đó trì hoãn các câu lệnh truy vấn phân tích (hoặc báo cáo) một khoảng thời gian an toàn (thường là gấp đôi độ trễ đó).
Các lựa chọn khác không phù hợp:
- A & B: Tải dữ liệu tích lũy sau mỗi 2 phút hoặc chuyển thành batch load cho từng thông điệp riêng lẻ sẽ loại bỏ khả năng xử lý thời gian thực/gần như thời gian thực của ứng dụng, vi phạm yêu cầu "near real-time" với 10,000 tin nhắn/phút.
- C: Lưu qua Cloud SQL rồi xuất sang BigQuery hàng giờ không đáp ứng được yêu cầu phân tích dữ liệu gần như thời gian thực.
(Đáp án được gợi ý bởi AI)