Answer - A
The key point here is that the data is being sent key-value pairs from the sensors. Whenever you see key-value, you should immediately think of the Amazon no-SQL database DynamoDB. DynamoDB has nearly infinite capacity, sub-second latency, and designed to ingest large amounts of data.
Option A is correct as DynamoDB is best suited to store and analysis key-value data.
Reference - https://aws.amazon.com/nosql/key-value/
Option B is incorrect as MySQL has a limit of 16 TB, and a no-SQL database is recommended for key-value pairs.
Reference - https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.FileSize
Option C is incorrect as Kinesis is not a storage solution and only stores data for up to 7 days. (24 hours by default) The data from the sensors doesn’t need to be analyzed in real-time or converted from a key-value pair. So Kinesis isn’t needed.
Reference - https://docs.aws.amazon.com/streams/latest/dev/kinesis-extended-retention.html
Option D is incorrect as it would require a change to the application. The PoC sent the data to a table in a database to use S3. We would need to change the application to add a log file to S3, as S3 is object storage. (.txt, .jpg, mp4, etc.). More importantly, S3 is not an ideal service for database storage. So it is not suitable for this case.
Reference - https://aws.amazon.com/s3/
If you are interested in learning more about how to use DynamoDB for high-volume, time-series data. Here is a reference link on the Database Blog from 2019:
https://aws.amazon.com/blogs/database/design-patterns-for-high-volume-time-series-data-in-amazon-dynamodb/