PROFESSIONAL-DATA-ENGINEER · Question #276
A live TV show asks viewers to cast votes using their mobile phones. The event generates a large volume of data during a 3 minute period. You are in charge of the Voting restructure* and must ensure…
The correct answer is C. Write votes to a Pub/Sub tope and toad into both Bigtable and BigQuery via a Dataflow pipeline Query Bigtable for real-time results and BigQuery for later. Option C is correct because it uses the right tool for each job: Pub/Sub acts as a durable, high-throughput buffer absorbing the massive vote spike without dropping messages, Dataflow provides exactly-once processing semantics (critical for accurate vote counting), Bigtable…
Question
Exhibit
Options
- ACreate a Memorystore instance with a high availability (HA) configuration
- BWrite votes to a Pub Sub tope and have Cloud Functions subscribe to it and write voles to BigQuery
- CWrite votes to a Pub/Sub tope and toad into both Bigtable and BigQuery via a Dataflow pipeline Query Bigtable for real-time results and BigQuery for later
- DCreate a Cloud SQL for PostgreSQL database with high availability (HA) configuration and multiple read replicas
How the community answered
(35 responses)- A26% (9)
- B17% (6)
- C49% (17)
- D9% (3)
Explanation
Option C is correct because it uses the right tool for each job: Pub/Sub acts as a durable, high-throughput buffer absorbing the massive vote spike without dropping messages, Dataflow provides exactly-once processing semantics (critical for accurate vote counting), Bigtable serves low-latency reads for real-time partial results during the voting window, and BigQuery handles cost-efficient analytical counting after voting closes.
Option A fails because Memorystore (Redis/Memcached) is an in-memory cache - it has no durable ingestion pipeline, no exactly-once guarantees, and data is volatile, meaning votes could be lost.
Option B is close but wrong: Cloud Functions use at-least-once delivery from Pub/Sub, risking duplicate vote counts, and BigQuery is a data warehouse with seconds-level query latency - it cannot serve the real-time partial results required while voting is live.
Option D fails at scale: Cloud SQL is a vertically-scaled relational database that cannot absorb millions of concurrent writes during a 3-minute burst, even with read replicas, making it the wrong architectural choice for this spike workload.
Memory tip: Map each requirement to its service - spike ingestion → Pub/Sub, exactly-once → Dataflow, real-time reads → Bigtable, cheap post-event analytics → BigQuery. If an option skips Dataflow for exactly-once counting or uses BigQuery for live reads, eliminate it.
Topics
Community Discussion
No community discussion yet for this question.
