Five years after its launch, AWS continues to bolster Amazon DynamoDB amid growing competition.
AWS recently added two features -- DynamoDB Accelerator (DAX) and Auto Scaling -- to allow users to more easily work directly in the fully managed NoSQL database service. The features do as their names imply: speed up application performance and address resource allocation as workloads scale up or down.
DynamoDB was advanced for its time when it launched in 2012, and has become a respected and mature database service, said Tony Baer, an analyst with Ovum.
"It's kind of the mainstream of where operational cloud databases are evolving toward," he said.
In-memory data stores were always more expensive than disk and other forms of storage, so organizations needed some form of specialized cache for services such as DynamoDB. Now that memory is more affordable and scalable, these types of features are more attractive to companies, Baer said.
DAX is a fully managed caching service tailored to read-intensive workloads with eventual consistency. Users create clusters that sit as a read-write target in front of DynamoDB tables. DynamoDB returns cached responses in milliseconds and beta testers have reported 10X speed improvements for their applications in production, according to Amazon.
Part of the movement to "flatten the stack," DAX replaces the need for a third party to do the work that users previously had to do with Redis or memcached, Baer said. These updates to DynamoDB are the latest example of Amazon successfully consolidating database steps under one umbrella.
DAX starts at $0.269 per hour per node, though Amazon claims it could actually reduce overall costs with its ability to cut back on provisioned throughput. It also takes care of patching, cluster maintenance, replication or fault management.
However, like many AWS products, DAX has its early limitations. It's currently only available in the US East (Northern Virginia), EU (Ireland), US West (Oregon), Asia Pacific (Tokyo) and US West (Northern California) regions. It's also restricted to Java, though AWS says it will add SDK support for other languages in the future.
How Auto Scaling helps contain costs
DynamoDB users don't have to provision servers or replicate across zones, but they must determine the read and write capacities required by their application -- Auto Scaling automates that process after it specifies a target utilization. Amazon CloudWatch alarms monitor throughput and capacity is adjusted accordingly.
This new feature is the default setting for new tables and indexes, and developers can configure it for existing ones too. Amazon recommends Auto Scaling in conjunction with DAX for applications with unpredictable bursts of reads.
Prior to Auto Scaling, users had to invest in reserved capacity. PropertyRoom.com, in Frederick, Md., turned to Amazon ElastiCache in the past to store read properties as a way to cut down on costs.
"When you start putting in a lot of read and write units [into DynamoDB] and provision that, you're in that space where you're wasting money, especially on the development side," said Kevin Felichko, PropertyRoom.com CTO.
Auto Scaling makes DynamoDB a more attractive storage medium. It would be particularly helpful when a project is started and it's unclear exactly how much capacity an application needs, he added.
DynamoDB has many users and increasingly serious workloads, said Merv Adrian, an analyst at Gartner. These efforts to extend automation to match AWS scaling capabilities only raises the ceiling for what users can do with DynamoDB.
Merv Adriananalyst at Gartner
"This is an example of coming transformations that will upend a lot of thinking about how to leverage infrastructure in the cloud," he said.
AWS launched DynamoDB in 2012. It currently has more than 100,000 users, but it faces increased competition for NoSQL in the cloud market. Users of MongoDB, an open-source favorite among developers, now have the MongoDB Atlas database as a service. At the other end of the spectrum is Microsoft's Azure Cosmos DB, which in many ways leapfrogs the market with a NoSQL database at a global scale with multiple consistency models, Baer said.
PropertyRoom.com can't use DAX now because it uses mostly Node.js and Python, Felichko said. Other improvements he would like to see include the capability for deep queries in DynamoDB without full table scans. Still, these upgrades and others make DynamoDB easier to use, so there's no reason to jump ship yet, Felichko said.
"It's a platform that's definitely living and Amazon still has time and money invested in it," he said. "I feel good about putting data in there."
Trevor Jones is a news writer with SearchCloudComputing and SearchAWS. Contact him at firstname.lastname@example.org.
How to perform a hot migration in DynamoDB
Trigger actions based on NoSQL events with Lambda and DynamoDB
DynamoDB Streams synchronize data tables