Amazon announced today DynamoDB, a fully managed cloud-based NoSQL database service that builds on the company's SimpleDB service by delivering faster, more consistent database performance to keep pace with the demands of ever-scaling cloud apps.
The secret sauce here is Amazon's homegrown Dynamo nonrelational database architecture, which the company built to suit the demands of its complex, service-oriented e-commerce architecture. Designed to be a highly reliable, ultrascalable key/value database, Dynamo has inspired such offerings as Red Hat's Infinispan data grid technology and Apache Cassandra.
But Dynamo, despite being more robust than SimpleDB, hasn't enjoyed broader adoption because "it did nothing to reduce the operational complexity of running large database systems," according to Amazon CTO Werner Vogels.
Indeed, SimpleDB's strength is its simplicity, as its moniker implies: It provides a straightforward table interface and a flexible data model while eliminating headaches associated with configuration, patching, replication, or scaling.
With DynamoDB, Amazon has attempted to bring together the best of both worlds: Dynamo's superior scalability, performance, and consistency delivered as an easy-as-pie service, effectively eliminating the complexity of forecasting and planning database deployments. Adding capacity takes a few clicks via the management console.
DynamoBD addresses four of SimpleDB's more significant shortcomings, according to Vogels:
- With SimpleDB, users need to add dataset containers, called domains, in increments of 10GB.
- SimpleDB indexes all attributes to each item stored in a domain, which means that every database write results in an update of not just the basic record, but all attribute indices. This can result in performance hiccups due to latency, especially as a dataset increases in size.
- As is the tendency among NoSQL databases, SimpleDB takes an "eventually consistent" approach to data presentation, which can be up to a second in duration.
- SimpleDB's pricing, based on "machine hours," has proven complex.