0 votes
in AWS by

A company currently has an application that works with DynamoDB. The application is a high revenue generating application for the company. Their current response time for their read workloads is in the order of milliseconds.

But to bump up hits to their pages, they want to reduce the response time to microseconds.

Which of the following would you suggest to be most preferably used with DynamoDB to fulfill this requirement?

1 Answer

0 votes
by

Answer - C.

The AWS Documentation mentions the following.

DynamoDB Accelerator(DAX) is a DynamoDB-compatible caching service that enables you to benefit from fast in-memory performance for demanding applications.

DAX addresses three core scenarios.

As an in-memory cache, DAX reduces the response times of eventually-consistent read workloads by order of magnitude, from single-digit milliseconds to microseconds.

DAX reduces operational and application complexity by providing a managed service that is API-compatible with Amazon DynamoDB.

Thus it requires only minimal functional changes to use with an existing application.

Option A is invalid because ElastiCache would not guarantee for certain such a great reduction in response times.

The question also asks for a "preferred" service to be used along with DynamoDB, for which DAX would be a better answer than Elasticache.

Option B is invalid because it is used when you want to make replicas of the tables in different regions.

Option D is invalid because this option is used only when you have throttling errors for the table.

For more information on DAX, please refer to the below URL-

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DAX.html

To reduce the response time of DynamoDB read workloads from milliseconds to microseconds, the most preferable option would be to consider using DynamoDB Accelerator (DAX).

DynamoDB Accelerator (DAX) is a fully managed, highly available, in-memory cache for DynamoDB that delivers microsecond response times for read-intensive workloads. DAX is designed to seamlessly integrate with existing DynamoDB applications without requiring any application code changes.

Option A - Deploying an ElastiCache in front of DynamoDB may improve performance, but it is primarily used for caching frequently accessed data from the database to reduce the number of database calls. However, this would not provide the level of performance improvement required by the application, as it may not provide the sub-millisecond latency required by the application.

Option B - Using DynamoDB Global Tables can help with scalability and high availability by replicating data across multiple AWS Regions, but it is not directly related to improving read response times in the order of microseconds.

Option D - Using a higher throughput for the tables can help to increase the read and write capacity units, but it may not provide the required reduction in response time from milliseconds to microseconds.

Therefore, the best option to reduce response time from milliseconds to microseconds is to use DynamoDB Accelerator (DAX), which provides a highly available, in-memory cache for read-intensive workloads with sub-millisecond response times.

...