views:

33

answers:

0

There're quite a few posts discussing relations vs document databases, however they are all quite generic.

I'd like to understand their differences in a specific example.

Let's imagine we're building another scrum-oriented project management web app.

While we'd like to experiment with a new technology, we don't want to sacrifice design and increase overall complexity just to do something new that's hype. We want to make the right decision, even if that means using an old technology.

So, think of PivotalTracker. We'll be storing projects, stories, story comments, maybe rare attachments, and maybe sub-tasks (story split into actual tasks).

There's support for iterations as well, so each task actually belongs to a project and can be in iteration. Inside iteration, tasks need to be arranged in specific order. User can rearrange the stories by dragging them up and down.

For each story we also want to track time spent on it, using separate time entries.

I might want to generate reports, but nothing too fancy (burndown, maybe something related to time)

Which DB would you use, relational or document? Or some other? And why?

How would you design its structure? For example if you would use document DB, would you normalize at all?