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
技巧:排除明顯錯(cuò)誤選項(xiàng),在沒有明顯錯(cuò)誤的選項(xiàng)中選擇最合理的選項(xiàng)。
一家在 AWS 上運(yùn)營的網(wǎng)上購物公司,開發(fā)了一個(gè)在線商業(yè) Web 應(yīng)用程序,該應(yīng)用程序在高峰時(shí)段為數(shù)十萬用戶提供服務(wù)。公司需要一個(gè)可擴(kuò)展、近實(shí)時(shí)的解決方案,以便與其他幾個(gè)內(nèi)部應(yīng)用程序共享數(shù)百萬筆金融交易的詳細(xì)信息。同時(shí),在將交易存儲到文檔數(shù)據(jù)庫中以實(shí)現(xiàn)低延遲檢索之前,還需要對交易進(jìn)行處理以刪除敏感數(shù)據(jù)。
A. 不正確。將交易數(shù)據(jù)存儲到 Amazon DynamoDB 中。在 DynamoDB 中設(shè)置規(guī)則以在每次寫入時(shí)從每筆交易中刪除敏感數(shù)據(jù)。使用 DynamoDB Stream 與其他應(yīng)用程序共享交易數(shù)據(jù)。Amazon DynamoDB 是一種完全托管的 NoSQL 數(shù)據(jù)庫服務(wù),適用于需要低延遲數(shù)據(jù)訪問的應(yīng)用程序。然而,DynamoDB 本身并不提供在寫入時(shí)自動(dòng)刪除敏感數(shù)據(jù)的功能,它更適用于實(shí)時(shí)處理或數(shù)據(jù)復(fù)制等場景。
B. 不正確。將交易數(shù)據(jù)流式傳輸?shù)?Amazon Kinesis Data Firehose 中,以將數(shù)據(jù)存儲在 Amazon DynamoDB 和 Amazon S3 中。使用與 Kinesis Data Firehose 集成的 AWS Lambda 來刪除敏感數(shù)據(jù)。其他應(yīng)用程序可以消費(fèi)存儲在 Amazon S3 中的數(shù)據(jù)。Amazon Kinesis Data Firehose 是一種完全托管的服務(wù),用于將實(shí)時(shí)數(shù)據(jù)流加載到 AWS 數(shù)據(jù)存儲中,如 Amazon S3、Amazon Redshift 和 Amazon Elasticsearch Service。然而,Kinesis Data Firehose 主要用于數(shù)據(jù)加載,而不是實(shí)時(shí)處理。雖然可以通過 Lambda 集成來處理數(shù)據(jù),但這不是最高效的方式。
C. 正確。將交易數(shù)據(jù)流式傳輸?shù)?Amazon Kinesis Data Stream 中。使用與 Kinesis Data Stream 集成的 AWS Lambda 來從每筆交易中刪除敏感數(shù)據(jù),然后將交易數(shù)據(jù)存儲到 Amazon DynamoDB 中。其他應(yīng)用程序可以從 Kinesi 數(shù)據(jù)流中消費(fèi)交易數(shù)據(jù)。Amazon Kinesis Data Streams 是一種完全托管的服務(wù),用于實(shí)時(shí)收集和處理大型數(shù)據(jù)流。使用與 Kinesis Data Stream 集成的 AWS Lambda 可以實(shí)時(shí)處理每筆交易,刪除敏感數(shù)據(jù),并將處理后的數(shù)據(jù)存儲到 DynamoDB 中。其他應(yīng)用程序可以直接從 Kinesi 數(shù)據(jù)流中消費(fèi)處理后的數(shù)據(jù),實(shí)現(xiàn)近實(shí)時(shí)的數(shù)據(jù)共享。這種方法既滿足了可擴(kuò)展性和近實(shí)時(shí)的要求,又能夠處理敏感數(shù)據(jù)。
D. 不正確。將批處理后的交易數(shù)據(jù)作為文件存儲在 Amazon S3 中。使用 AWS Lambda 處理每個(gè)文件,并在更新 Amazon S3 中的文件之前刪除敏感數(shù)據(jù)。然后,Lambda 函數(shù)將數(shù)據(jù)存儲在 Amazon DynamoDB 中。其他應(yīng)用程序可以消費(fèi)存儲在 Amazon S3 中的交易文件。該方案使用批處理,無法滿足近實(shí)時(shí)的要求。此外,將數(shù)據(jù)作為文件存儲在 S3 中,然后處理這些文件,增加了延遲和復(fù)雜性。