Course menuSAP-C03

Exams / SAP-C03 / Real-time and batch analytics (Kinesis, MSK, EMR, Redshift) / Question 1

SAP-C03 practice question: Real-time and batch analytics (Kinesis, MSK, EMR, Redshift)

Architecture Design and Implementation Built for the Cloud A free question from our original SAP-C03 practice exam. Try it, then open the answer to see why each option is right or wrong.

Last verified against current AWS documentation ·How we write our questions

A news site's clickstream produces about 50,000 events a second at peak. Editors need article view counts on a dashboard that is never more than about one minute behind, and the data team needs the raw events kept in Amazon S3 for seven years.

The dashboards run on Amazon Redshift, and the platform team wants the pipeline to keep working when traffic spikes, without a fleet of servers to manage.

Which solution meets these requirements?

Choose one answer.

  1. A. Send the events to a Kinesis Data Streams stream in on-demand mode, use Redshift streaming ingestion with materialized views for the dashboards, and have a Data Firehose stream archive the raw events to S3.
  2. B. Have a Lambda function triggered by the event source write each event to Amazon Redshift with a single-row INSERT statement, and have the same function also write each raw event to S3 for the seven-year archive.
  3. C. Deliver the events to S3 in hourly batches, and run a Redshift COPY job at the end of each hour to load the new files into the dashboard tables.
  4. D. Store the events in an Amazon EMR cluster running Spark Streaming on a fixed number of core nodes, and have the dashboards query the cluster's output tables.
Show the answer and explanation

Answer: A

  • A. Right: Correct. Redshift streaming ingestion reads from the stream directly and keeps the dashboard data within about a minute, and an on-demand stream scales with the event rate. Amazon Data Firehose reads the same stream and writes the raw events to S3 for the archive.
  • B. Wrong: Single-row inserts at 50,000 events a second would overwhelm the cluster, and a spike would cause timeouts and lost writes. The approach is also hard to keep within the one-minute target.
  • C. Wrong: The hourly batches make the dashboard up to an hour behind, which misses the one-minute target. The design does meet the archive requirement.
  • D. Wrong: The fixed cluster does not scale with spikes, and it adds servers to manage. The dashboards are also meant to run on Redshift, so this design moves them off the planned platform.

Explanation

An on-demand stream feeding Redshift streaming ingestion meets the one-minute freshness and spike requirements with no servers to run, and Firehose keeps the archive. Per-row inserts, hourly loads and a fixed Spark cluster each fail the latency, scale or operations requirement.

Study

Keep practicing

Answer questions with a score at the end, or practice just this topic with the explanation after each one. No sign-up needed.

Want more on Real-time and batch analytics (Kinesis, MSK, EMR, Redshift)? The 5 full-length practice sets have 5 more Real-time and batch analytics (Kinesis, MSK, EMR, Redshift) questions, 375 in all, none of them in the free exam. One payment of $14.99, no subscription. See the practice sets