In-Memory Data Cache Speeds Up Amazon DynamoDB NoSQL Service

Amazon Web Services Inc. (AWS) has made generally available an in-memory data cache that boosts the performance of its Amazon DynamoDB, which provides a NoSQL database service.

Announced in preview in April, Amazon DynamoDB Accelerator (DAX) promises to deliver up to a 10x performance improvement in DynamoDB queries.

"DAX does all the heavy lifting required to add in-memory acceleration to your DynamoDB tables, without requiring you to manage cache invalidation, data population, or cluster management," AWS say on its site. "Now you can simply focus on building great applications for your customers without worrying about performance at scale."

In a blog post yesterday, AWS spokesperson Jeff Barr said the company used the preview period to fine-tune the service, whose reach has now been expanded into additional AWS Regions to bring the total to five.

What hasn't been expanded is the choice of SDKs with which developers can leverage DAX. A DAX SDK for Java is the only one available, though Barr said AWS is working to make more SDKs available for other programming languages.

"DAX returns cached responses in microseconds, making it a great fit for eventually-consistent read-intensive workloads," Barr said. "DAX supports the DynamoDB API, and is seamless and easy to use. As a managed service, you simply create your DAX cluster and use it as the target for your existing reads and writes. You don’t have to worry about patching, cluster maintenance, replication, or fault management."

Company CTO Werner Vogels wrote his own extensive post on his "All Things Distributed" blog yesterday, providing a peek into the technical details and history of DAX. All developers have to do, he said, is point an application to a DAX endpoint using just three lines of Java code.

"With DAX, we've created a fully managed caching service that is API-compatible with DynamoDB," Vogels said. "What this means to you as a developer is that you don't have to re-write your DynamoDB application to use DAX. Instead, using the DAX SDK for Java, you just point your existing application at a DAX endpoint, and DAX handles the rest."

As referenced on the DynamoDB pricing page, users pay for the DAX add-on service on a per-node-hour-consumed model, starting at $0.269 per hour in the US East (Northern Virginia) and US West (Oregon) regions -- other regions are slightly more.

More information is available in the DAX documentation.

About the Author

David Ramel is the editor of Visual Studio Magazine.