So yesterday I got caught up in the newbie trap. I was researching noSQL solutions, namely MongoDB and Raven, and found myself wanting to shoe horn the technology into something merely for the reason to use it. I have often heard in discussion with other senior developers that there are a few main steps in researching a new technology…
1.) Identify the new technology
2.) Want to use it everywhere
3.) Know when to use the technology appropriately
So what is the summary of this post? Just because it’s new and shiny, doesn’t really mean all that much. While noSQL databases do have a lot of promise, I have yet to see a solid reason to use it over a relational database inside of an enterprise solution. For instance, while researching Raven, I noticed that the data structures being wrote into the data store essentially are serialized objects. As any experienced developer would agree, object definitions are not always fixed. So if you have been storing the objects in a given format for the past n months, and the format changes. What happens?