There has always been the age old question of which is best, NoSQL or Relational Databases (well since database have been around). Here's what we we think...
The term NoSQL Database embraces a myriad of different database technologies that were originally developed in response to a rise in the volume of data stored about users, objects and products, the frequency in which this data is accessed, and performance and processing needs. By reducing the reliance on full CAP (Brewers) Theorem (Consistency, Availability, Partition tolerance) which results in ACID based consistency (Atomic, Consistent, Isolated, Durable) they inherently scale-out extremely well thus are able to take full advantage of commodity based low cost hardware.
Relational databases, on the other hand, were not designed to cope with the scale and agility challenges that face modern applications, nor were they built to take advantage of the cheap storage and processing power available today. Hence they tend to be monolithic in terms of their scalability. i.e. exceptionally good at vertical scaling but extremely poor due to their BASE consistency model (Basic Availability, Soft-state, Eventual consistency) at horizontal or scale-out capabilities.
There’s no right answer to whether your application needs an ACID versus BASE consistency model. Developers and data architects should select their data consistency trade-offs on a case-by-case basis – not based just on what’s trending or what model was used previously.
This is where we use our consultancy services and leverage our experience in the field of both relational and NoSQL database technologies to help you make the right decision.