Our friends at CloudSpokes ran a challenge with the goal of creating some awesome demos for Amazon DynamoDB. The challenge is now complete and they have taken the time to write a guest post to share the results with the AWS community.
-- Jeff;
Last November CloudSpokes was invited to participate in the DynamoDB private beta. We spent some time kicking the tires, participating in the forums and developing use cases for their Internet-scale NoSQL database service. We were really excited about the possibilities of DynamoDB and decided to crowdsource some challenge ideas from our 38,000 strong developer community. Needless to say, the release generated quite a bit of buzz.
When Amazon released DynamoDB in January, we launched our CloudSpokes challenge Build an #Awesome Demo with Amazon DynamoDB along with a blog post and a sample ”Kiva Loan Browser Demo” application to get people started. The challenge requirements were wide open and all about creating the coolest application using Amazon DynamoDB. We wanted to see what the crowd could come up with.
The feedback we received from numerous developers was extremely positive. The API was very straightforward and easy to work with. The SDKs and docs, as usual, were top-notch. Developers were able to get up to speed fast as DynamoDB’s simple storage and query methods were easy to grasp. These methods allowed developers to store and access data items with a flexible number of attributes using the simple “Put” or “Get” verbs that they are familiar with. No surprise here, but we had a number of comments regarding the speed of both read and write operations.
When our challenge ended a week later we were pleasantly surprised with the applications and chose to highlight the following top five:
1st Place (tie) - Wcheung (Canada) submitted Flickr on DynamoDB (video - code) which is a Grails application that caches Flickr photos in Amazon DynamoDB. You can then search for cached feed entries by primary key (author + published date/time range) or by table scan. You can also “like” a photo, resulting in the atomic “like” counter for the item in DynamoDB getting incremented:
1st Place (tie) - Mbleigh (US) submitted Posterity (video - code), a simple, barebones Twitter-esque service created in Ruby using Sinatra. It is far from complete but uses a number of DynamoDB's key features including Hash/Range Keys and Atomic Set Push Operations:
2nd Place - Darthdeus (Czech Republic) wrote his AWS DynamoDB Task Management app (demo - video - code) in Ruby using Sinatra. It uses a custom ORM he wrote called DynamoRecord to access DynamoDB. His main idea was to get at least some of the ActiveRecord-ish API to DynamoDB using some basic metaprogramming:
3rd Place - Peakpado (US) created a Simple Survey (video - code) application using Ruby on Rails. For each table he created a sophisticated hask/range key model class which resulted in an API very similar to ActiveRecord for DynamoDB:
4th Place - Romin (India) developed an API (demo - code) that exposes data sets of Mumbai city in JSON format. The solution uses Amazon DynamoDB for storing the data and a NodeJS application that exposes the REST interface and talks to Amazon DynamoDB via a backend Java application.
Make sure you take a look videos and code for each application and then start building your own on Amazon DynamoDB. Check out the Getting Started with Amazon DynamoDB guide or Amazon DynamoDB to get started.
Jeff Douglas
Community Evangelist
CloudSpokes






May I ask where to download the 'aws management software' in the 3rd place?
Posted by: Justin | April 10, 2012 at 08:26 PM
Thanks to everyone who viewed my "Flickr on Dynamo" video. I got over 60 views since this blog entry was posted. Since there was so much interest, I decided to start up the app again at the original URL on Cloud Foundry for people interested in DynamoDB to try out. Also I added it as a mashup on the ProgrammableWeb: http://www.programmableweb.com/mashup/flickr-on-dynamo
They (ProgrammableWeb) featured it as their "Mashup of the Day" (Apr 13), so more exposure for DynamoDB!
Posted by: William Cheung | April 13, 2012 at 05:48 AM
Cool, ProgrammableWeb selected "Flickr on Dynamo" as their "Mashup of the Day" yesterday with a mention in a blog post today: http://blog.programmableweb.com/2012/04/14/17-apis-used-in-7-days-nexmo-cloudmine-and-scribd/ saying "Some of the newer or less frequently seen APIs include Amazon DynamoDB..." We should get more apps using DynamoDB highlighted there!
Posted by: William Cheung | April 14, 2012 at 09:28 AM
Wow, found out today that DynamoDB now supports BatchWriteItem. "Flickr on Dynamo" is a great use case for this new API call to import batches of items in parallel into Dynamo from a feed like Flickr. Or for "squirreling away" intermediate job output into Dynamo when you're using EC2 Spot instances -- squirrel away as fast as possible at each checkpoint in case your Spot instance goes down, then resume later. Can't wait to try out this new API call! http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/API_BatchWriteItems.html
Posted by: William Cheung | April 20, 2012 at 08:41 AM