In the last AWS Summit in San Francisco, Amazon announced a few new products and features. One of the announcements was for DynamoDB Accelerator (or “DAX”). The Eyeview engineering team was asked to test it out and provide feedback on the product before it was released. In this post, we’ll share our experience with the product and what instances we recommend it for.
Caching as an Integrated Entity
If you need caching on any type of database it must be implemented separately from your database. Database technology is different than caching technology and will have different technical requirements in terms of storage and memory. However, that also means your application has to do a double hop: look up the data in cache, then if you don’t find it, look it up in the database (and populate the cache). Even if the process is efficient and optimized, it still pushes this logic onto the application developer.
DAX is solving this overhead in a very elegant way. AWS knows that DynamoDB is already widely used in a lot of industries. DAX makes it easier to add a seamless caching layer. In just switching your client target from DynamoDB to DAX, you can keep all your API calls without changing anything, and you’ll have a new caching layer.
It seems like, as years go by, the real-time latency requirements are getting more demanding across more verticals. Eyeview’s world, ad tech’s real-time bidding, requires a sub 50 milliseconds response time, from which accessing our data store is just one part. Although the 5 milliseconds read time of DynamoDB is okay and definitely good for some business use cases, it wasn’t exactly right for ours.
Driving for Cost Efficiency
Although DynamoDB pricing is mostly based on provisioned IO operations, DAX cost is determined by the DAX cluster you will launch (DAX pricing is not published yet). Using DAX as a caching layer should help you lower your provisioned DynamoDB capacity and lower your end-of-the-month bill.
Overall, DAX seems like a cost-effective solution for read-heavy applications (where the same keys are being read frequently) that use DynamoDB already or have a need for a very low-latency key/value data stores. We liked DAX and would recommend it to other companies considering it. Check it now on a public preview.