A company runs an online marketplace web application on AWS. The application serves hundreds of thousands of users during peak hours. The company needs a scalable, near-real-time solution to share the details of millions of financial transactions with several other internal applications. Transactions also need to be processed to remove sensitive data before being stored in a document database for low-latency retrieval.
What should a solutions architect recommend to meet these requirements?
A. Store the transactions data into Amazon DynamoDB. Set up a rule in DynamoDB to remove sensitive data from every transaction upon write. Use DynamoDB Streams to share the transactions data with other applications.
B. Stream the transactions data into Amazon Kinesis Data Firehose to store data in Amazon DynamoDB and Amazon S3. Use AWS Lambda integration with Kinesis Data Firehose to remove sensitive data. Other applications can consume the data stored in Amazon S3.
C. Stream the transactions data into Amazon Kinesis Data Streams. Use AWS Lambda integration to remove sensitive data from every transaction and then store the transactions data in Amazon DynamoDB. Other applications can consume the transactions data off the Kinesis data stream.
D. Store the batched transactions data in Amazon S3 as files. Use AWS Lambda to process every file and remove sensitive data before updating the files in Amazon S3. The Lambda function then stores the data in Amazon DynamoDB. Other applications can consume transaction files stored in Amazon S3.
C
技巧:排除明显错误选项,在没有明显错误的选项中选择最合理的选项。
一家在 AWS 上运营的网上购物公司,开发了一个在线商业 Web 应用程序,该应用程序在高峰时段为数十万用户提供服务。公司需要一个可扩展、近实时的解决方案,以便与其他几个内部应用程序共享数百万笔金融交易的详细信息。同时,在将交易存储到文档数据库中以实现低延迟检索之前,还需要对交易进行处理以删除敏感数据。
A. 不正确。将交易数据存储到 Amazon DynamoDB 中。在 DynamoDB 中设置规则以在每次写入时从每笔交易中删除敏感数据。使用 DynamoDB Stream 与其他应用程序共享交易数据。Amazon DynamoDB 是一种完全托管的 NoSQL 数据库服务,适用于需要低延迟数据访问的应用程序。然而,DynamoDB 本身并不提供在写入时自动删除敏感数据的功能,它更适用于实时处理或数据复制等场景。
B. 不正确。将交易数据流式传输到 Amazon Kinesis Data Firehose 中,以将数据存储在 Amazon DynamoDB 和 Amazon S3 中。使用与 Kinesis Data Firehose 集成的 AWS Lambda 来删除敏感数据。其他应用程序可以消费存储在 Amazon S3 中的数据。Amazon Kinesis Data Firehose 是一种完全托管的服务,用于将实时数据流加载到 AWS 数据存储中,如 Amazon S3、Amazon Redshift 和 Amazon Elasticsearch Service。然而,Kinesis Data Firehose 主要用于数据加载,而不是实时处理。虽然可以通过 Lambda 集成来处理数据,但这不是最高效的方式。
C. 正确。将交易数据流式传输到 Amazon Kinesis Data Stream 中。使用与 Kinesis Data Stream 集成的 AWS Lambda 来从每笔交易中删除敏感数据,然后将交易数据存储到 Amazon DynamoDB 中。其他应用程序可以从 Kinesi 数据流中消费交易数据。Amazon Kinesis Data Streams 是一种完全托管的服务,用于实时收集和处理大型数据流。使用与 Kinesis Data Stream 集成的 AWS Lambda 可以实时处理每笔交易,删除敏感数据,并将处理后的数据存储到 DynamoDB 中。其他应用程序可以直接从 Kinesi 数据流中消费处理后的数据,实现近实时的数据共享。这种方法既满足了可扩展性和近实时的要求,又能够处理敏感数据。
D. 不正确。将批处理后的交易数据作为文件存储在 Amazon S3 中。使用 AWS Lambda 处理每个文件,并在更新 Amazon S3 中的文件之前删除敏感数据。然后,Lambda 函数将数据存储在 Amazon DynamoDB 中。其他应用程序可以消费存储在 Amazon S3 中的交易文件。该方案使用批处理,无法满足近实时的要求。此外,将数据作为文件存储在 S3 中,然后处理这些文件,增加了延迟和复杂性。