Soru

Zorluk: ZorHigh-Performing Data Ingestion and Transformation Solutions

A multiplayer gaming company is designing a high-performance ingestion pipeline to collect real-time player telemetry and match event data from millions of active game clients. At peak gaming hours, the telemetry stream reaches a throughput of 85 MB/s85\text{ MB/s} with a message count of approximately 90,000 messages/second90,000\text{ messages/second}.

The pipeline must satisfy the following architectural requirements:
* Automatically convert the incoming raw telemetry records to Apache Parquet format and store them in Amazon S3, partitioned by event date, within 55 minutes of ingestion.
* Handle sudden traffic spikes dynamically without manual intervention or custom scaling scripts.
* Maintain strict chronological sequencing of events for each individual player session when routing telemetry to downstream analytics engines.

Which combination of actions should a solutions architect select to build this pipeline? (Select TWO.)

  1. Configure an Amazon Kinesis Data Stream using on-demand capacity mode, and use the player session ID as the partition key for the incoming records.Cevap
  2. Configure an Amazon Data Firehose delivery stream with the Kinesis Data Stream as the source, enable format conversion to Apache Parquet referencing an AWS Glue schema, and set the buffering hint to 300300 seconds before writing to the Amazon S3 bucket.Cevap
  3. C
    Configure an Amazon SQS Standard queue as the ingestion endpoint, and trigger an AWS Lambda function to batch process events, convert them to Apache Parquet, and upload them to Amazon S3.
  4. D
    Configure an Amazon Kinesis Data Stream using provisioned capacity mode with 2020 shards, and configure an AWS Lambda function to monitor CloudWatch alarms and dynamically scale the shard count when throughput limits are approached.
  5. E
    Configure an Amazon SQS Standard queue with message grouping enabled by player session ID, and configure Amazon Data Firehose to poll the queue directly, transform the format to Apache Parquet, and deliver it to Amazon S3.

Cevap

To build a high-performing ingestion and transformation pipeline that handles spikes automatically, maintains ordering per player session, and converts data format within the required time window, you should configure an Amazon Kinesis Data Stream in on-demand capacity mode using the player session ID as the partition key, and couple it with an Amazon Data Firehose delivery stream that converts the source stream's JSON records to Apache Parquet using AWS Glue before writing to Amazon S3 with a 300-second buffer interval.
Configuring an Amazon Kinesis Data Stream in on-demand capacity mode ensures the stream automatically scales to handle throughput spikes up to 200 MB/s200\text{ MB/s} and 200,000 records/second200,000\text{ records/second}, which easily accommodates the peak of 85 MB/s85\text{ MB/s} and 90,000 messages/second90,000\text{ messages/second} without manual intervention. Using the player session ID as the partition key ensures that all events for a specific player session are written to the same shard, preserving chronological ordering. Integrating Amazon Data Firehose with the Kinesis Data Stream allows direct ingestion, and Firehose's native integration with the AWS Glue Data Catalog allows it to convert JSON data into Apache Parquet format automatically. Setting the buffering hint to 300300 seconds meets the requirement to store the data in Amazon S3 within 55 minutes.

Adım Adım Çözüm

1
Analyze stream throughput and ingestion scale.
Determine that the peak write throughput is 85 MB/s85\text{ MB/s} and the record rate is 90,000 messages/second90,000\text{ messages/second}. Kinesis Data Streams in on-demand capacity mode dynamically handles up to 200 MB/s200\text{ MB/s} and 200,000 records/second200,000\text{ records/second} for writes without pre-provisioning shards.
Using on-demand capacity mode eliminates the need to write custom autoscaling scripts and prevents throttling during sudden traffic spikes.
2
Ensure sequencing and message ordering requirements are met.
Select player session ID as the partition key. Because Kinesis Data Streams guarantees order within a specific shard, mapping session data to the same shard preserves chronological sequencing.
Downstream analytics engines rely on chronological transaction/action sequence to accurately model player behavior.
3
Select the high-performing transformation and delivery mechanism.
Utilize Amazon Data Firehose with the Kinesis Data Stream as the source. Enable format conversion to Parquet by referencing an AWS Glue Data Catalog schema, and set the buffering hint to 300300 seconds.
Firehose performs serverless, zero-maintenance format conversion and batching, delivering the converted Parquet files to Amazon S3 within the required 55-minute latency limit.

Anahtar Kavram

Combining Kinesis Data Streams on-demand mode with Amazon Data Firehose format conversion to deliver ordered, transformed analytics data to S3 at scale.
Bu soruyu puanla