AWS DynamoDB – Introduction to DynamoDB Accelerator (DAX)
DynamoDB is a fast NoSQL Database that is managed by Amazon Web Services (AWS). It was developed by Amazon Web Services (AWB). DynamoDB is sometimes referred to as a key-value store, but it also has Streams, Global and Local Secondary Indexes, Multi-region and Multimaster replication with enterprise-grade security, and in-memory caching for large scale. Because it uses a pay-per-use basis and interfaces well with AWS Lambda and other AWS services, DynamoDB is an excellent choice for Serverless apps.
Amazon DynamoDB Accelerator (DAX)
The Amazon DynamoDB Accelerator (DAX) is a fully managed, highly accessible in-memory cache for Amazon DynamoDB that improves performance by up to ten times—from milliseconds to microseconds—even when millions of requests per second are made.
DAX takes care of all the heavy lifting when it comes to adding in-memory acceleration to DynamoDB tables, so developers don’t have to worry about cache invalidation, data populating, or cluster management.
You can now concentrate on creating fantastic applications for your customers without having to worry about scalability. Because DAX is compatible with existing DynamoDB API calls, you won’t have to change your application logic.
How does DAX work?
DAX is built to work in an Amazon Virtual Private Cloud (Amazon VPC). Amazon VPC defines a virtual network that strongly resembles a conventional data center. A VPC’s IP address range, subnets, routing tables, network gateways, and security settings are all within your control. Using Amazon VPC security groups, you may build a DAX cluster on your virtual network and control access to it.
The following diagram shows a high-level overview of DAX.
Advantages of Using DAX:
- Extreme performance: Although, DynamoDB guarantees continuous single-digit millisecond latency, DynamoDB + DAX takes speed to the next level with response times in microseconds for millions of requests per second for read-heavy applications. Even when a big event or news item brings enormous request volumes your way, DAX keeps your applications quick and responsive. There’s no need to tune anything.
- Highly scalable: You don’t have to choose between performance and scalability with DynamoDB + DAX. DAX allows you to scale up and down as needed. Starting with a three-node DAX cluster, you can expand capacity by adding more nodes. You can expand out to a 11-node cluster (the primary node plus and maximum10 read replicas) using DAX, allowing you to handle millions of queries per second.
- Fully managed: DAX, like DynamoDB, is completely managed. As you scale, you won’t have to worry about tasks like hardware or software provisioning, setup, and configuration, software patching, running a distributed cache cluster or replicating data across numerous instances. Many basic administration duties, like failure detection, recovery, and software patching, are automated with DAX.
- Ease of use: DAX and DynamoDB are tightly linked, so all you have to do is provision a DAX cluster, use the DAX client SDK to point your existing DynamoDB API calls at the DAX cluster, and DAX will take care of the rest. You won’t need to update any functional application code because DAX is API compatible with DynamoDB. To increase performance, DAX handles the heavy labor behind the scenes. Additionally, because retrieving cached data reduces read stress on current DynamoDB tables, you may be able to reduce their provisioned read capacity and cut down overall operational costs.
- Flexible: To provide you the most flexibility, DAX allows you to provision one DAX cluster for several DynamoDB tables, many DAX clusters for a single DynamoDB table, or somewhere in between.
- Secure: To improve security, DAX fully connects with AWS services. You may use Amazon Identity and Access Management (IAM) to provide each user their own set of security credentials and manage their access to services and resources. You may also use Amazon CloudWatch to monitor resource use, application performance, and operational health across your entire system. AWS CloudTrail integration allows you to simply log and audit changes to your cluster setup. For secure and quick access from your existing apps, DAX supports Amazon VPC. Tagging provides you more visibility into your DAX clusters, making it easier to manage them.