exam questions

Exam AWS Certified Solutions Architect - Professional All Questions

View all questions & answers for the AWS Certified Solutions Architect - Professional exam

Exam AWS Certified Solutions Architect - Professional topic 1 question 38 discussion

You are the new IT architect in a company that operates a mobile sleep tracking application.
When activated at night, the mobile app is sending collected data points of 1 kilobyte every 5 minutes to your backend.
The backend takes care of authenticating the user and writing the data points into an Amazon DynamoDB table.
Every morning, you scan the table to extract and aggregate last night's data on a per user basis, and store the results in Amazon S3. Users are notified via
Amazon SNS mobile push notifications that new data is available, which is parsed and visualized by the mobile app.
Currently you have around 100k users who are mostly based out of North America.
You have been tasked to optimize the architecture of the backend system to lower cost.
What would you recommend? (Choose two.)

  • A. Have the mobile app access Amazon DynamoDB directly Instead of JSON files stored on Amazon S3.
  • B. Write data directly into an Amazon Redshift cluster replacing both Amazon DynamoDB and Amazon S3.
  • C. Introduce an Amazon SQS queue to buffer writes to the Amazon DynamoDB table and reduce provisioned write throughput.
  • D. Introduce Amazon Elasticache to cache reads from the Amazon DynamoDB table and reduce provisioned read throughput.
  • E. Create a new Amazon DynamoDB table each day and drop the one for the previous day after its data is on Amazon S3.
Show Suggested Answer Hide Answer
Suggested Answer: CE 🗳️

Comments

Chosen Answer:
This is a voting comment (?). It is better to Upvote an existing comment if you don't have anything to add.
Switch to a voting comment New
Moon
Highly Voted 3 years, 7 months ago
Answer: C, E. C: it is great solution to use SQS as it spread the write load, and absorb the high load per second, which allow for less read and write capacity on DynamoDB. D: There is no high reparative access to similar data, so we would cache them using ElastiCache!! it is once per morning, where the user see the report of last night. E: Comparing to deleting the table every morning after storing the information on S3, which would save DyB capacity, and reduce cost!! any other ideas?
upvoted 29 times
Warrenn
3 years, 7 months ago
Agree C E reducing the size of DynamoDb reduces the required RCU and WCU
upvoted 4 times
...
hilft
2 years, 9 months ago
No idea. CE is the perfect combo
upvoted 1 times
...
RVivek
3 years, 3 months ago
Makes perfect sens
upvoted 2 times
...
...
amministrazione
Most Recent 8 months, 1 week ago
C. Introduce an Amazon SQS queue to buffer writes to the Amazon DynamoDB table and reduce provisioned write throughput. E. Create a new Amazon DynamoDB table each day and drop the one for the previous day after its data is on Amazon S3.
upvoted 1 times
...
2cool2touch
1 year, 1 month ago
Dropping DB table every day is a horrible idea and has a lot of management overhead. This wont be a recommended approach at all. D still make sense. New data is uploaded everyday but there is no mention of caching on the mobile devices. Meaning if a user is looking everyday at their data, its likely pulling historic data as well where Read cache could come into play and reduce provisioned read throughput cost. C, D should be answers
upvoted 1 times
...
shammous
1 year, 3 months ago
Selected Answer: CE
C: SQS is good to throttle writes to DynamodDB: https://newsletter.simpleaws.dev/p/sqs-throttle-database-writes-dynamodb D: ruled out as there is only a "one-off" read of the data each morning to get the data. Caching is not needed in that case E: This is a good cost optimization tip as the db is not used anymore after data is processed and persisted in an S3 bucket
upvoted 1 times
...
TigerInTheCloud
2 years, 4 months ago
Selected Answer: CE
agree with bobsmith2000
upvoted 1 times
...
bobsmith2000
2 years, 11 months ago
Selected Answer: CE
I'm more inclined to choose CE. A) Accessing S3 is much more cheaper, than DDB. Moreover it gonna be used a few times per user or cached on a mobile device. S3 lifecycle is gonna be more useful in that case. B) Redshift is a red herring. C) Even though 1 WCU = 1KB, we have to spread the load to not depleting all WCU capacity. D) There's no reason to pay for ElastiCache because the data is read once and then is put in S3. E) Creating new DDB and dropping the previous one makes sense as long as you put data in S3. In reduces a query/scan volume and consumes less RCU.
upvoted 2 times
...
ghfalcon7
2 years, 11 months ago
C,E: https://stackoverflow.com/questions/32813873/avoid-throttle-dynamodb
upvoted 1 times
...
cldy
3 years, 3 months ago
C and E.
upvoted 2 times
...
seanfang
3 years, 3 months ago
Selected Answer: CE
I'll go with C&E. D it is not necessary
upvoted 2 times
...
Tan0k
3 years, 4 months ago
Selected Answer: CE
C & E is correct
upvoted 2 times
...
01037
3 years, 5 months ago
C & E for sure
upvoted 2 times
...
hihismkskks
3 years, 5 months ago
C & E is right
upvoted 1 times
...
Madwyn
3 years, 5 months ago
ElastiCache won't work as the data is scanned once, nothing needs to be cached.
upvoted 1 times
...
ChauPhan
3 years, 6 months ago
Agree with C and E. DynamoDB will charge based on 02 things: the table you stored on disk based on capacity Gb and Read/Write throughput. So after querying and processing the table, storing the result in S3, you can remove old table. The user will read from S3 result, you don't need to keep old data 100k user every 5 mins 5k each. To reduce the write throughput, C can be used. We don't need to use Elasticcache to reduce the read throughput because we read from S3 where we stored processed result.
upvoted 1 times
ChauPhan
3 years, 6 months ago
Sorry I consider D as well, because as question, we need to scan the table and aggregate the result. So read CU is also important. So maybe D,E. We ignore write CU because SQS does not help to reduce write CU
upvoted 1 times
...
...
qkhanhpro
3 years, 6 months ago
I disagree with C SQS is not free, neither is the poller need to be employed since there is no direct free SQS - DynamoDB integration yet The workload is also highly stable for SQS to do anything meaningful here
upvoted 1 times
01037
3 years, 5 months ago
The point is SQS is much cheaper comparing to write capacity of DynamoDB.
upvoted 1 times
...
...
newme
3 years, 6 months ago
Why C. After all, the amount of data to write to Dynamodb is the same, isn't it? So needed write capacity doesn't change, and it's not free to use SQS.
upvoted 3 times
lalitsrana
3 years, 5 months ago
I think they are assuming that there is a processor between SQL and DynamoDB. So data would be processed before writing to DynamoDB and not after storing to DB (the processes results are again assumed to be stored in Dynamo DB).
upvoted 1 times
...
...
srknbngl
3 years, 6 months ago
C & E is correct
upvoted 1 times
...
Community vote distribution
A (35%)
C (25%)
B (20%)
Other
Most Voted
A voting comment increases the vote count for the chosen answer by one.

Upvoting a comment with a selected answer will also increase the vote count towards that answer by one. So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.

SaveCancel
Loading ...
exam
Someone Bought Contributor Access for:
SY0-701
London, 1 minute ago