Should I use MongoDB or a NoSQL solution at all for this

database-designdatabase-recommendationnosql

I apologize if this belongs in web applications or something.

I'm creating a web application that is sort of a similar concept to github. Basically I plan to allow someone to create a design of something (lets say a recipe for a cake for instance) and they can add new ingredients (or from already existing, which will have attached calories, etc.). But I want to add in that revision control aspect, new versions, branches etc.. Also plan to allow cloning of a design.

That's a basic idea. But would those main functions of a revision-control-esque setup beg for nosql? Am I crazy and jumping into a hip looking db too fast?

Let me know if more details are necessary.

Best Answer

You certainly could do this but if revision control is what your after for documents use something like subversion or git. In general storing documents that do not depend on transactions and you are not storing sensitive information that requires immediate atomicy and consitency like financial transactions then a nosql solution may fit your needs and be appropriate.

To the best of my knowledge you'd have to be rolling your own in the revision diffs if that's something you're really looking for whether from a nosql or traditional sql solution.

Regardless, if you're working on something trivial and want to play around with newer technologies that you're unfamiliar with that's great, go for it.

At the same time, if this is for a commercial client and you aren't familiar with mongo, couch, etc it's probabaly better to stick with what you know and leave the sandbox for play time until you're ready.

Related Question