We know good things happen when users control their data and have access to application source code. The web gave us an incredibly simple model for application development, but the downside was code locked up on servers, with users feeling out-of-control of their data. Maybe we trust Flickr, but if my network connection drops unexpectedly when I'm in the middle of showing baby photos to Grandma, the fact that Flickr holds my data remotely can't be denied. Standalone CouchDB applications give users control over their data in a way that we've never seen on the web or the desktop before. CouchDB serves Ajax applications directly to the browser, and can manage vast databases using map reduce views. The combination of simple web applications with powerful queries is exciting on its own, but what really sets CouchDB apart is it's peer based replication. Using replication your data can be anywhere: your laptop, the cloud, your phone. Grandma will be happy about CouchDB's transparent offline mode, but the bigger win is that users have their data and the applications together on their own machines, giving them the opportunity to view and modify the source code. I sincerely believe that an ecosystem of CouchDB web apps will do more to further the open source cause than anything else we've seen in the web era. In my Erlang Factory talk I'll give an introduction to CouchDB, explain the way it makes data portability and open source the default, and show a few example applications to inspire you to build your own.
by Enda Farrell
The BBC is building a new environment that allows cost-effective building of dynamic content platforms. A key component of the new RESTful service-based platform is a Key Value store - an API which uses 32 CouchDB storage nodes in two datacentres. We have a Java/Tomcat API which handles SSL-based user authorisation and sharding, independent (of each other) CouchDB nodes which are replicated with (replication mapped nodes) between our datacentres. We can also show results from a load/stress/soak test to see what - on our servers - is the long-term maximum throughput of an individual node.
25th–26th June 2009