Hi,

a week ago, I had a talk on CouchDB at the WebExpo 2010 conference in Prague (http://webexpo.net/talk/couchdb-database-for-the-web/). The talk itself was in Czech, but the slides and accompanying app is in English.

In case anyone would like to reuse anything from my slides or code, both are freely available:

1/ The presentation SOURCE is downloadable from Github: 
http://github.com/downloads/karmi/couchdb-showcase/CouchDB.KarelMinarik.WebExpo2010.key
You can preview the slides in PDF on Slideshare: 
http://www.slideshare.net/karmi/couchdb-a-database-for-the-web
Don't forget that the Keynote.app format is essentially just a folder, so on a Mac you can do "Show Package Contents" to rip it open, or use terminal on every platform, in case you'd like to reuse pictures like this one: http://img.skitch.com/20100930-kme7jwerm6jkkwx4nhrs27kthg.png.

2/ The example code is available at Github: 
http://github.com/karmi/couchdb-showcase
It's essentially an addressbook-type "couchapp", but without the CouchApp dependency -- thus avoiding confusion as "do I need Python to work with Couch" etc. There's a set of Rake tasks to upload some fake documents and code into the database, demonstrating basic features of views, as well as _list a _show functions. There's also a Rake task and simple Ruby class to show off the _changes feed (http://img.skitch.com/20100930-j9ye6p7bdcwri7mx6g4g21cmic.png ).

Of course, I am interested in any opinion or feedback you'd have with regard either to the presentation or the code examples.

The feedback for Couch from the audience was quite encouraging, by the way. I have talked to some 10-20 people all interested in *starting* to use some non-traditional database, all keen to evaluate Couch. Everyone was impressed by the usual suspects: easy replication, crash- resistant design, binary attachments, focus on read-time speed, etc.

The conclusion I made, though, is that people were generally quite un- informed about the relative benefits and shortcomings of different NoSQL solutions. For example, I have refrained from any extensive direct comparison to Mongo during the talk, due to bad experiences with the Git vs. Mercurial debates; in the end Git won anyway and everything is fine :) But almost nobody knew about "single server durability" issues and such. Almost nobody understood that there's quite a difference between JSON an BSON, philosophically and technically. Etc. People thought Couch and Mongo are "almost the same", a misunderstanding I took to dispel in hallway converstations.

As you can see from the slides, I have emphasized the "schema-free" and "HTTP top to bottom" topics. To traditional developers, both were "interesting", but some people seemed to me quite ignorant as to what this _really_ means (that the storage is flexible and adapts to "real world" nicely, that you can reuse your existing knowledge related to HTTP scaling, etc.) Maybe it would be good to focus even more on these issues in blog posts and, more importantly, use cases.

Thanks,

Karel

--
http://karmi.cz

Reply via email to