An energy utility company is designing an ingestion pipeline for smart grid sensors. Each sensor transmits consumption data every 20 seconds, resulting in an average ingestion rate of records per second. Each payload averages in size. During peak grid events, traffic spikes immediately to records per second (). The pipeline must satisfy the following architectural requirements: 1) Deliver the bulk metrics to Amazon S3 in Apache Parquet format within 5 minutes of ingestion for historical analysis. 2) Filter and route critical grid failure events (less than of total traffic) to an operational dashboard with sub-second latency. 3) Ensure that updates from each individual sensor are processed in the order they are received to maintain data integrity. Which architecture meets these requirements with the highest performance and the least risk of data ingestion throttling?
- AIngest the sensor data into an Amazon SQS Standard queue. Configure an AWS Lambda function to poll the SQS queue, extract critical grid failure events for real-time alerting, and forward the remaining data to Amazon Data Firehose. Configure Amazon Data Firehose to buffer the data for 5 minutes, convert it to Apache Parquet format, and store it in Amazon S3.
- BConfigure an Amazon Kinesis Data Stream in On-Demand mode, using the sensor ID as the partition key. Configure Amazon Data Firehose to read from the Kinesis Data Stream, buffer the data for 5 minutes, convert the format to Apache Parquet using AWS Glue Schema Registry, and write to Amazon S3. Simultaneously, configure an AWS Lambda function as a consumer of the Kinesis Data Stream to process and alert on grid failure events.
- Configure an Amazon Kinesis Data Stream in Provisioned mode with shards, using the sensor ID as the partition key. Configure Amazon Data Firehose to read from the Kinesis Data Stream, buffer the data for 5 minutes, convert the format to Apache Parquet using AWS Glue Schema Registry, and write to Amazon S3. Simultaneously, configure an AWS Lambda function as a consumer of the Kinesis Data Stream to process and alert on grid failure events.Cevap
- DConfigure an Amazon Kinesis Data Stream in Provisioned mode with shards. Write the ingested data directly to an Amazon DynamoDB table with a partition key of the ingestion timestamp rounded to the nearest second. Use DynamoDB Streams to trigger an AWS Lambda function for real-time alerting, and run a daily AWS Glue ETL job to export the table data to Amazon S3 in Apache Parquet format.