A company is designing an IoT telemetry ingestion pipeline. During peak hours, thousands of devices send JSON payload messages to AWS, resulting in a data ingestion rate of and (averaging per record). The data must be partitioned by region and timestamp, converted into Apache Parquet format, and stored in Amazon S3. The total latency from data generation to S3 delivery must not exceed . The pipeline must scale dynamically to handle traffic spikes without manual administration. Which architecture meets these requirements with the highest performance and least operational overhead?
- Configure Amazon Kinesis Data Firehose with Amazon Kinesis Data Streams in on-demand mode as the source. Enable dynamic partitioning in Kinesis Data Firehose using jq expressions to partition by region and timestamp, and enable format conversion to Parquet using the AWS Glue Schema Registry before delivering the data to Amazon S3.Cevap
- BConfigure a standard Amazon SQS queue to ingest the payloads. Set up an AWS Lambda function triggered by the queue to partition the data, convert it to Parquet, and write it to Amazon S3. Choose this configuration to guarantee strict first-in, first-out ordering of the incoming telemetry events.
- CConfigure Amazon Kinesis Data Streams in provisioned mode with shards to ingest the data. Attach an Amazon Kinesis Data Firehose delivery stream to the data stream to handle format conversion to Parquet and S3 partitioning. The stream will automatically scale its capacity dynamically to absorb the peak throughput.
- DConfigure Amazon Kinesis Data Streams in provisioned mode with a single shard. Use an AWS Lambda function triggered by the stream to convert the records to Parquet and save them to Amazon S3. The Lambda function will partition the records dynamically based on the payload attributes.
Cevap
The architecture using Kinesis Data Streams in on-demand mode combined with Kinesis Data Firehose's dynamic partitioning and format conversion provides the highest performance and lowest operational overhead.
The correct solution utilizes Amazon Kinesis Data Streams in on-demand mode, which instantly scales to accommodate ingestion rates up to or . Coupling this stream with Amazon Kinesis Data Firehose allows the pipeline to ingest, dynamically partition (using jq expressions on payload attributes), and convert JSON to Parquet format (using AWS Glue Schema Registry) before storing in S3. This managed solution meets the sub-2-minute latency requirement with zero administrative overhead.
Adım Adım Çözüm
Anahtar Kavram
High-throughput real-time ingestion requires automated scaling (Kinesis Data Streams on-demand mode) paired with managed, serverless delivery and transformation tools (Kinesis Data Firehose dynamic partitioning and Parquet conversion) to minimize operational overhead and latency.
Tahmini Süre:2m 0s