Amazon DynamoDB Accelerator (DAX) is a fully managed, highly available, in-memory cache for Amazon DynamoDB that delivers up to a 10 times performance improvement—from milliseconds to microseconds—even at millions of requests per second.
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.
Now you can focus on building great applications for your customers without worrying about performance at scale. You do not need to modify application logic because DAX is compatible with existing DynamoDB API calls. Learn more in the DynamoDB Developer Guide.
You can enable DAX with just a few clicks in the Amazon Web Services Management Console or by using the Amazon Web Services SDKs. Just as with DynamoDB, you only pay for the capacity you provision.
Benefits
Great performance
Though DynamoDB offers consistent single-digit-millisecond latency, DynamoDB + DAX take performance to the next level with response times in microseconds for millions of requests per second for read-heavy workloads. With DAX, your applications remain fast and responsive, even when a popular event or news story drives unprecedented request volumes your way. No tuning required.
Highly scalable
With DynamoDB + DAX, you do not have to compromise on performance and scale. DAX lets you scale on demand. You can start with a three-node DAX cluster, and then add capacity by adding additional nodes. DAX lets you scale out to a 10-node cluster, giving you millions of requests per second.
Fully managed
Just like DynamoDB, DAX is fully managed. You no longer need to worry about management tasks such as hardware or software provisioning, setup and configuration, software patching, operating a distributed cache cluster, or replicating data over multiple instances as you scale. DAX automates many common administrative tasks such as failure detection, failure recovery, and software patching.
Ease of use
DAX is tightly integrated with DynamoDB—you simply provision a DAX cluster, use the DAX client SDK to point your existing DynamoDB API calls at the DAX cluster, and let DAX handle the rest. Because DAX is API-compatible with DynamoDB, you don't have to make any functional application code changes. DAX does the heavy lifting behind the scenes to deliver improved performance. Furthermore, because the retrieval of cached data reduces the read load on existing DynamoDB tables, you also may be able to reduce their provisioned read capacity and lower overall operational costs.
Flexible
DAX enables you to provision one DAX cluster for multiple DynamoDB tables, multiple DAX clusters for a single DynamoDB table, or somewhere in between to give you maximal flexibility.
Secure
DAX fully integrates with Amazon Web Services services to enhance security. You can use Amazon Identity and Access Management (IAM) to assign unique security credentials to each user and control each user's access to services and resources. You also can use Amazon CloudWatch to gain systemwide visibility into resource utilization, application performance, and operational health. Integration with Amazon CloudTrail lets you easily log and audit changes to your cluster configuration. DAX supports Amazon VPC for secure and easy access from your existing applications. Tagging gives you additional visibility to help you manage your DAX clusters.
How it works
DAX is designed to run within an Amazon Virtual Private Cloud (Amazon VPC) environment. Amazon VPC defines a virtual network that closely resembles a traditional data center. With a VPC, you have control over its IP address range, subnets, routing tables, network gateways, and security settings. You can launch a DAX cluster in your virtual network and control access to the cluster by using Amazon VPC security groups.
The following diagram shows a high-level overview of DAX.