Deciding Between NoSQL and RDMS
Join the DZone community and get the full member experience.Join For Free
To start with, I'll say you should assume that an RDBMS is probably the safest bet. Almost anything you can do with a document store can be done with an RDBMS, with the exception that it may not scale and/or perform as well as NOSQL solution. The big advantages of RDBMS solutions is that they have an enormous ecosystem of tools, documentation, and skilled administrators.
Given the above, why would anyone ever even look at a NOSQL solution? Here are a couple indicators that a NOSQL solution might be a better fit for your problem:
#1 You are storing simple key/value pairs. If your RDBMS "solution" ends up being a single table with a couple key fields and a CLOB with XML in it... you're probably using the wrong tool for the job.
#2 You are storing complex data structures that are non-relational. If you store hierarchal data structures that each "master" has different children on it, you're going to run into problems with an RDBMS.
#3 You need massive scaleability and distribution, and the economics of scaling are important to you. Many RDBMS solutions offer partitioning schemes that offer very good scalability, but the cost (licensing and runtime overhead) of that scalability is often an order of magnitude higher than with a NOSQL solution.
Published at DZone with permission of Michael Mainguy, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.