I guess this boil down to the following four points:
- NoSQL is good in scaling: but do you really need to scale? Is your business so great to handle 1M users? Simple MySQL (and PostgreSQL when mysql is not ok) will go a long way for many many installation.
- NoSQL are in good in scaling but it is pain to maintain it: it hard to hire somebody who knows it good, there are no good management tools, etc.
- NoSQL requires you to make your application logic more complex and not portable
- There is no clear NoSQL leader and clear mainstream knowledge. And a lot of these NoSQL implementation requires some secret sauce known only to engineers maintaining and developing big NoSQL installations at Facebook, Google and Amazon.
In short, for startups, NoSQL is one more variable introducing risks and unknowns. So I think startups should not go NoSQL unless that is the core of their offering.
"In short, for startups, NoSQL is one more variable introducing risks and unknowns. So I think startups should not go NoSQL unless that is the core of their offering."
Well said.
NoSQL may have a lot to offer in some cases, but I think "easy" is an illusion when you look at the full picture.
- NoSQL is good in scaling: but do you really need to scale? Is your business so great to handle 1M users? Simple MySQL (and PostgreSQL when mysql is not ok) will go a long way for many many installation.
- NoSQL are in good in scaling but it is pain to maintain it: it hard to hire somebody who knows it good, there are no good management tools, etc.
- NoSQL requires you to make your application logic more complex and not portable
- There is no clear NoSQL leader and clear mainstream knowledge. And a lot of these NoSQL implementation requires some secret sauce known only to engineers maintaining and developing big NoSQL installations at Facebook, Google and Amazon.
In short, for startups, NoSQL is one more variable introducing risks and unknowns. So I think startups should not go NoSQL unless that is the core of their offering.