I went along to DDD8 at the weekend, a free community event hosted at Microsoft in Reading. It was the first time I’d attended the event, and would really recommend it (if you manage to sign up in the first 12 minutes after registration opens). I think the highlights for me were Hello Document Databases by Neil Robbins, and C#4 by Jon Skeet.
I had heard a little about document databases being an alternative to relational databases (a slightly alien idea) but hadn’t got around to much research. In particular the session was looking at how to use CouchDB. The design goals are more based around assuming that individual nodes will fail, and having a lightweight, multiple-master setup with changes replicating across nodes.
From the introduction (which I recommend you read)… A CouchDB document is an object that consists of named fields. Field values may be strings, numbers, dates, or even ordered lists and associative maps. A CouchDB database is a flat collection of these documents. Each document is identified by a unique ID.
Unfortunately the session didn’t really cover how to apply this concept to a real-world scenario and how to perform useful queries against the data. However it was definately enough to encourage some reading around the subject – I think it’s important to understand the kind of problems where this could be a viable and better solution.
