Dave Johnson on open web technologies, social software and Java
Worth a read:
Werner Vogels: Amazon DynamoDB is a fully managed NoSQL database service that provides fast performance at any scale. Today’s web-based applications often encounter database scaling challenges when faced with growth in users, traffic, and data. With Amazon DynamoDB, developers scaling cloud-based applications can start small with just the capacity they need and then increase the request capacity of a given table as their app grows in popularity. Their tables can also grow without limits as their users store increasing amounts of data. Behind the scenes, Amazon DynamoDB automatically spreads the data and traffic for a table over a sufficient number of servers to meet the request capacity specified by the customer. Amazon DynamoDB offers low, predictable latencies at any scale.
(I just returned to work after vacation and a week of conferences in the SF bay area. Instead of posting my trip reports to the limited audience that reads my internal IBM blog, I'm going to post them here so that everybody can benefit from them.)
After arriving at ~ApacheCon on Monday night and eating way too much sushi with Cote, I realized that there was a ~NoSQL meetup in progress and free beer was involved. Needless to say, I was there.
At ~NoSQL Oakland, there were talks on ~CouchDB, Hadoop, JCR, Voldemort, PNUTS and Cassandra. I was surprised how many people were in attendance; the idea of "no SQL" is apparently very popular about the alpha-geek Apache crowd.
I arrived a little late and saw that the Hadoop talk was packed, as usual for Hadoop. J. Chris Anderson's ~CouchDB talk was also packed, but I managed to find a seat. Chris is a very entertaining speaker and I learned a lot about ~CouchDB. Some keys points that Chris made were that ~CouchDB is "of the web" -- you interact with it via a RESTful protocol and it accepts, returns and stores JSON formatted data. ~CouchDB is schema-less. ~CouchDB is "fast by default" due in part to it's append-only approach to data storage. It's written in Erlang and therefore perfect for use in small devices.
A core feature of ~CouchDB is replication and that's one of the reasons it is now included in Ubuntu Linux, keeping contact/address data in sync across desktop and mobile devices. Chris said that, in 50 years, all applications will replicate in ~CouchDB fashion. Chris also delved into the details of how ~CouchDB stores data, complete with detailed hand-drawn diagrams. Want to learn more: