Reflections on MongoDB
My good friend, Brandon Keepers, just took some time out of his day to chronicle his reflections on MongoDB. The post is more of an overview and probably most interesting for those that are not heavily using MongoDB, but worth a read either way.
In the article, Brandon states that MongoDB is now the default database for new projects at Collective Idea. He also brings up a good point about design verse usage. He states that we rarely consider how the data will be used when designing relational databases. With MongoDB, however, the exact opposite is true.
Figure out how the data will be used, then figure out how to structure it.
My favorite quote from the article was:
There is a distinct moment of epiphany when you realize that you don’t have to create a separate collection just to store repeating phone numbers, or add a join table to associate an article with multiple categories.
Could not agree more. Be sure to check out the full article for more.
2 Comments
Jul 05, 2010
… and there are some parts in the article I couldn’t disagree more and covered those here: http://nosql.mypopescu.com/post/703837964/when-should-i-use-mongodb
Aug 22, 2010
Great post. I’ve been working on some projects that involve scraping tons of data. What’s great about Mongo is that I can completely separate my logic for data retrieval and data parsing. In many cases, I don’t actually have to do any parsing on the retrieval side at all. I can literally store entire HTML documents or huge sections, and then use Map/Reduce to pull the data I need, and I can do all that in a reasonable amount of time.
Next time I come back to my project, if there are new questions I have, I don’t have to worry about re-retrieving my data. I just run a new query.
Thoughts? Do Tell...