A financial services company is building a real-time fraud detection and transaction auditing system. The system receives clickstream data from millions of mobile devices. During normal business hours, the data ingestion rate averages , but it peaks at . The average size of each clickstream payload is . The solutions architect must design a system that satisfies two requirements: first, a fraud-detection application must consume the data with sub-second latency and process user clickstreams in strict sequential order based on the user session ID; second, the raw data must be transformed into Apache Parquet format and stored in Amazon S3 within of ingestion for downstream batch analysis. Which architecture meets these performance and ordering requirements most cost-effectively?
- Ingest the data using Amazon Kinesis Data Streams configured with shards, using the user session ID as the partition key. Configure the fraud-detection application to consume records from the stream in real time. Create an Amazon Data Firehose delivery stream that reads from the same Kinesis data stream, transforms the incoming data into Parquet using an inline AWS Lambda function, and writes the output directly to Amazon S3 Standard.Cevap
- BIngest the data using an Amazon SQS Standard queue. Configure the fraud-detection application as a consumer of the queue to process messages with sub-second latency. Set up an Amazon Data Firehose delivery stream to read from the queue, transform the data into Parquet format using an AWS Lambda function, and write the output to Amazon S3 Standard.
- CIngest the data using Amazon Kinesis Data Streams configured with shards, using the user session ID as the partition key. Configure the fraud-detection application to consume records from the stream. Create an Amazon Data Firehose delivery stream that reads from the Kinesis data stream, transforms the data into Parquet using an inline AWS Lambda function, and writes the output to Amazon S3 Standard.
- DIngest the data using Amazon Kinesis Data Streams configured with shards, using the user session ID as the partition key. Configure the fraud-detection application to consume records from the stream. Create an Amazon Data Firehose delivery stream that reads from the Kinesis data stream, transforms the data into Parquet using an inline AWS Lambda function, and writes the output to Amazon S3 Standard-Infrequent Access (S3 Standard-IA). Configure an S3 Lifecycle policy to delete the files after .