exam questions

Exam AWS Certified Solutions Architect - Associate SAA-C02 All Questions

View all questions & answers for the AWS Certified Solutions Architect - Associate SAA-C02 exam

Exam AWS Certified Solutions Architect - Associate SAA-C02 topic 1 question 127 discussion

A company has a mobile chat application with a data store based in Amazon DynamoDB. Users would like new messages to be read with as little latency as possible. A solutions architect needs to design an optimal solution that requires minimal application changes.
Which method should the solutions architect select?

  • A. Configure Amazon DynamoDB Accelerator (DAX) for the new messages table. Update the code to use the DAX endpoint.
  • B. Add DynamoDB read replicas to handle the increased read load. Update the application to point to the read endpoint for the read replicas.
  • C. Double the number of read capacity units for the new messages table in DynamoDB. Continue to use the existing DynamoDB endpoint.
  • D. Add an Amazon ElastiCache for Redis cache to the application stack. Update the application to point to the Redis cache endpoint instead of DynamoDB.
Show Suggested Answer Hide Answer
Suggested Answer: A 🗳️

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
Asad85
Highly Voted 3 years, 7 months ago
Should be A
upvoted 47 times
rob_724
3 years, 7 months ago
Agreed, ElasticCache is (as the name states) for cache. Cache is for frequently accessed data, but not necessarily are they new data. A DAX is best for this (textbook wise). Not sure IRL, but textbook wise I go for A.
upvoted 14 times
...
mode
3 years, 6 months ago
for a Chat application cache is not useful, C seem to be the answer.
upvoted 6 times
...
...
charuu71
Highly Voted 3 years, 6 months ago
For all those answering A can anyone tell what is the purpose of cache here when the questions states clearly " Users would like new messages to be read with as little latency as possible" .. Read "new messages" , answer should be C .
upvoted 21 times
RVoigt
3 years, 6 months ago
Its A because you are cacheing the new messages table; table is in memory = very fast. https://aws.amazon.com/premiumsupport/knowledge-center/dynamodb-high-latency/
upvoted 8 times
...
AMohanty
3 years, 6 months ago
Here new messages doesn't mean new key query to the DynamoDB what it means is a new update to the DunamoDB is carriedout with least latency SO answer is A, DAX.
upvoted 5 times
mode
3 years, 6 months ago
cache is not useful for a chat application, so anwer is C
upvoted 5 times
...
...
ShankarTheTechie
3 years, 6 months ago
C Since the question talks about "new messages", the options with "cache" (A & D) got ruled out. Out of the remaining options available, I would go for C, as it demands for minimal app changes.
upvoted 12 times
...
...
jacks8x
Most Recent 3 months, 3 weeks ago
Selected Answer: A
Consider between A, C: little latency as possible -> A is the answer.
upvoted 1 times
...
sassy2023
2 years, 3 months ago
Selected Answer: A
Use caching: If your traffic is read heavy, consider using a caching service, such as Amazon DynamoDB Accelerator (DAX). DAX is a fully managed, highly available, in-memory cache for DynamoDB that delivers up to a 10x performance improvement, from milliseconds to microseconds, even at millions of requests per second.
upvoted 1 times
...
Bar_t
2 years, 8 months ago
A has wrong solution, because: "You do not need to modify application logic because DAX is compatible with existing DynamoDB API calls. " https://aws.amazon.com/dynamodb/dax/
upvoted 1 times
...
apoorvwatsky
2 years, 9 months ago
Selected Answer: A
I don't get it. Why C? I understand minimal changes to application and increasing the RCU could help but what do you do after that? It says "Double the RCU" and that's it. What if it's still not enough when the traffic increases? Plus it's manual work.
upvoted 2 times
...
igor_nov1
2 years, 10 months ago
Selected Answer: C
IMHO The key point is - fewest possible application modifications Lets eliminate wrong answers one by one: D - not sure why we need to use Amazon ElastiCache if we have better option DynamoDB Accelerator (DAX). But anyway it requires application modification B - Add DynamoDB read replicas. DynamoDB uses leaderless approach to replicate data among nodes. This means that there is no thing like replica in the similar way like for RDS - they do it through global tables instead to distribute load among the regions. A. - Configure Amazon DynamoDB Accelerator (DAX) . It's the most one hard to skip, but taking into consideration business logic of application (it's chat application so I won't expect that caching for small part of persons in chat wouldn't provide huge benefit) + it anyway require application change. This why C is a best candidate - it will allow to improve number of read without changing application codebase.
upvoted 4 times
qax2022
2 years, 7 months ago
I am not 100% sure if A or C, but in A, They mentioned a new message table, all new messages will be in that table and a DAX is cashe which make the new message table faster.
upvoted 1 times
...
...
Mohamed_Mamdouh
3 years ago
Selected Answer: A
A. Configure Amazon DynamoDB Accelerator (DAX) for the new messages table. Update the code to use the DAX endpoint.
upvoted 1 times
...
osel
3 years, 2 months ago
Selected Answer: A
From ops perspective, any new msg must first be created and saved to the DDB by the sender client app. Then followed by the recipient client app to retrieve the "freshly" created msg from the DDB. Thus, DB cache will help in this use case.
upvoted 2 times
...
weilun_tann
3 years, 3 months ago
- C - A and D are wrong. Adding a cache will NOT speed up reading of NEW messages. Cache only speeds up the reading of OLD / SEEN messages - Between adding read replica (B) and increasing RCU (C), C will have a more direct impact (say from 1K reads/sec to 10K reads/sec)
upvoted 2 times
...
Gomer
3 years, 4 months ago
I'm pretty confident they are wanting C as the answer. In reading up on the "read capacity units" setting (user settable in DynamoDB Provisioned Mode), its clear that the DB cannot keep up sub-millisecond responses if this setting is too low in Provisioned Mode. The fact that they are requesting a fix that requires minimal application changes suggest this C. I'm sure the setting can be changed on the fly. If you run in On-Demand mode, DynamoDB adjusts this setting automatically, but you may risk getting a bigger bill than you expected.
upvoted 3 times
...
xyzray
3 years, 4 months ago
Selected Answer: A
It's A because no changes to the application are required
upvoted 1 times
alba99
3 years, 4 months ago
it says minimal?
upvoted 1 times
...
...
DracoL
3 years, 5 months ago
Must be A. DAX has a Write-Through mode where any new data that is written through to the DB will be cached so the next read after the write will be reading from the Cache. Quite similar to storage based caching concept. read - https://aws.amazon.com/blogs/database/amazon-dynamodb-accelerator-dax-a-read-throughwrite-through-cache-for-dynamodb/
upvoted 7 times
...
dhakad05
3 years, 5 months ago
Ans is A, One thing to note here is little latency is acceptable and therefore A is ans reason is given below: For read-heavy or bursty workloads, DAX provides increased throughput and potential operational cost savings by reducing the need to overprovision read capacity units. This is especially beneficial for applications that require repeated reads for individual keys. If DAX does not have the item available (a cache miss), DAX passes the request through to DynamoDB. When it receives the response from DynamoDB, DAX returns the results to the application. But it also writes the results to the cache on the primary node. Remember for strong consistency dax does not cache data and simply pass request and dynamoDB and response to client.
upvoted 2 times
...
GameBred
3 years, 5 months ago
I would go with A Explanation: "DAX does all the heavy lifting required to add in-memory acceleration to your DynamoDB tables, without requiring developers to manage cache invalidation, data population, or cluster management." Source: https://aws.amazon.com/dynamodb/dax/
upvoted 1 times
naveenagurjara
2 years, 10 months ago
what about fresh data?
upvoted 1 times
...
...
Lucky_
3 years, 5 months ago
Its DAX. Dynamo DB is already Serverless so why care about provisioning read capacities. Moreover DAX always refer back to the Dynamo DB and still provide response blazingly fast for new reads. Remember DAX is a write-through cache. Don't compare it with other in-cache services. Have a look : https://aws.amazon.com/blogs/aws/amazon-dynamodb-accelerator-dax-in-memory-caching-for-read-intensive-workloads/
upvoted 3 times
...
Jamati
3 years, 5 months ago
Answer is A. DAX is a fully managed caching service for DynamoDB, i.e. it makes DynamoDB even faster.
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