Monday, May 28, 2012

thoughts on AWS DynamoDB

I am impressed with Amazon's vision for its DynamoDB NoSQL database service.  This FAQ document provides a good introduction to the service.  DynamoDB has tremendous potential.  Most importantly, it enables a company or institution to deploy a service and scale it as needed, both in terms of the number of items and the read/write throughput for a table.  (As noted in the FAQ, the ability to scale up write throughput to any level that's needed is a significant break from the capabilities of Amazon Web Service's SimpleDB service, another NoSQL service option.)  Having a service that can scale up for success and scale down as needed again illustrates the economic advantages of cloud-based services.

On the negative side:  DynamoDB is still a relatively new service.  Earlier this month, the ability to view, add, and delete table items was added to the AWS Management Console, a respectable add-on, most notably, enabling a spreadsheet view of a table's data without using the API.  I found the Developer Guide documentation examples for read and scan operations to be barely adequate at this point- though equivalent for the Java, .NET, and PHP SDKs.  In short, these examples are well-organized and useful, but limited.  Additionally, searching on the web for code examples for read and scan operations didn't yield as much information as I expected.