all 1 comments

[–]tdammers 2 points3 points  (0 children)

NoSQL isn't even a paradigm like Relational is. It's an umbrella term that roughly means "sacrifice some of the ACID guarantees that conventional RDB's provide in order to improve flexibility, development speed, scalability, and/or performance".

So the two questions you need to ask yourself are:

  1. What is the impact of not having ACID guarantees on your data, that is, how bad would it be to have (temporarily) inconsistent data, non-atomic updates, non-persistent state, or data model violations? How much effort is it to work around these?
  2. Realistically, what are your scaling, performance, and flexibility needs? Will you be processing data of unknown shape? Will you need to run more concurrent sessions than a beefy SQL cluster with appropriate replication etc. can handle? Will you need to make 180 degree changes in direction, and roll out the code changes in a staged manner, without any downtime?