Soru

Zorluk: OrtaHigh-Performing Data Ingestion and Transformation Solutions

A healthcare provider is designing a data ingestion pipeline to collect real-time health metrics from 20,00020,000 patient monitoring devices. Each device transmits a 4 KB4\text{ KB} JSON payload every 10 seconds10\text{ seconds} to a public endpoint. The provider needs to ingest these payloads, transform them into Apache Parquet format, and save them to Amazon S3. The data must be queryable in Amazon Athena within 3 minutes3\text{ minutes} of generation. Additionally, the chronological order of records sent by each device must be maintained during ingestion to ensure clinical analysis accuracy. The architecture must scale dynamically to handle peak traffic with minimal management overhead. Which architecture meets these requirements?

  1. A
    Use Amazon Kinesis Data Streams (KDS) configured with 44 provisioned shards to ingest the data, and set up Amazon Kinesis Data Firehose as the destination to convert the format to Apache Parquet before writing to Amazon S3.
  2. Use Amazon Kinesis Data Firehose (Amazon Data Firehose) to ingest the stream. Configure Firehose to perform inline format conversion to Apache Parquet using an AWS Glue Data Catalog schema, and deliver the files to Amazon S3 with a buffer interval of 120 seconds120\text{ seconds}.Cevap
  3. C
    Use a standard Amazon SQS queue to ingest the payloads, and trigger an AWS Lambda function to batch and transform the payloads to Apache Parquet format before writing them to Amazon S3.
  4. D
    Use Amazon Kinesis Data Streams (KDS) configured with 22 provisioned shards to ingest the data, and use an AWS Glue streaming ETL job to transform and write the data to Amazon S3 in Apache Parquet format.

Cevap

The correct architecture uses Amazon Kinesis Data Firehose to ingest the data, performs format conversion to Apache Parquet using AWS Glue, and buffers the data for 120 seconds before writing to Amazon S3.
The ingestion architecture using Amazon Kinesis Data Firehose (Amazon Data Firehose) with AWS Glue inline format conversion is the most operationally efficient. Amazon Data Firehose is a fully managed, serverless service that automatically scales to handle incoming throughput without shard provisioning. It natively integrates with the AWS Glue Data Catalog to perform real-time format conversion from JSON to Apache Parquet before writing to Amazon S3. A buffer interval of 120 seconds120\text{ seconds} ensures that the files are delivered to S3 within the 3 minutes3\text{ minutes} requirement. Furthermore, Firehose preserves the ingestion order of incoming records.

Adım Adım Çözüm

1
Calculate the required ingestion throughput of the pipeline.
20,000 devices×(1 payload/10 seconds)=2,000 records/second20,000\text{ devices} \times (1\text{ payload} / 10\text{ seconds}) = 2,000\text{ records/second}. Total throughput is 2,000 records/second×4 KB/record=8,000 KB/second=8 MB/s2,000\text{ records/second} \times 4\text{ KB/record} = 8,000\text{ KB/second} = 8\text{ MB/s}.
Determining the aggregate message rate and bandwidth is essential to select and size the ingestion service appropriately.
2
Evaluate the capability of Kinesis Data Streams shard configurations against the calculated throughput.
A single Kinesis Data Streams shard supports a maximum write capacity of 1 MB/s1\text{ MB/s} or 1,000 records/sec1,000\text{ records/sec}. Standard configurations with 22 or 44 shards only support 2 MB/s2\text{ MB/s} and 4 MB/s4\text{ MB/s} respectively, resulting in throttling under the 8 MB/s8\text{ MB/s} load.
To ensure data ingestion reliability, the service capacity must meet or exceed the peak ingestion throughput.
3
Assess the ordering and operational overhead constraints of the ingestion options.
Standard SQS queues do not guarantee message ordering, violating the chronological constraint. Using Amazon Data Firehose with inline AWS Glue format conversion provides automatic scaling up to the required throughput, preserves record order, and transforms JSON to Parquet natively without custom code or infrastructure management.
Selecting the service that satisfies both structural constraints (ordering) and operational principles (minimal overhead) leads to the optimal AWS architecture.

Anahtar Kavram

Serverless streaming ingestion and inline format conversion using Amazon Kinesis Data Firehose and AWS Glue.
Tahmini Süre:2m 0s
Bu soruyu puanla