I'm slightly embarrassed to admit it, but I'm having trouble conceptualizing how to architect data in a non-relational world. Especially given that most document/KV stores have slightly different features.
I'd like to learn from a concrete example, but I haven't been able to find anyone discussing how you would architect, for example, a blog using CouchDB/Redis/MongoDB/Riak/etc.
There are a number of questions which I think are important:
- Which bits of data should be denormalised (e.g. tags probably live with the document, but what about users)
- How do you link between documents?
- What's the best way to create aggregate views, especially ones which require sorting (such as a blog index)