NoSQL Database Management Systems

In computing, NoSQL is a class of database management system identified by its non-adherence to the widely used relational database management system (RDBMS) model:

  • A NoSQL database management system does not use SQL as its query language
  • NoSQL database systems rose alongside major internet companies, such as Google, Amazon, and Facebook, which had significantly different challenges in dealing with huge quantities of data that the traditional RDBMS solutions could not cope with.
  • Several NoSQL systems employ a distributed architecture, with the data held in a redundant manner on several servers. In this way, the system can easily scale out by adding more servers, and failure of a server can be tolerated.

NoSQL database systems are often highly optimized for retrieve and append operations and often offer little functionality beyond record storage. The reduced run time flexibility compared to full SQL systems is compensated by significant gains in scalability and performance for certain data models.

In short, NoSQL database management systems are useful when working with a huge quantity of data and the data's nature does not require a relational model for the data structure. The data could be structured, but it is of minimal importance and what really matters is the ability to store and retrieve great quantities of data, and not the relationships between the elements.