A collection of concepts that enable efficient, effective and rapid processing of data sets which are characterised by reliability, scalability, flexibility, agility and performance. Because it is called ‘NoSQL’, which is a short notation for “not-SQL” or rather “not only SQL”, it does not mean that it employs the use of a language other than SQL. It utilises SQL as well as other query languages.
NoSQL is an advancement to databases that shows a drift from simple popular relational database management systems (RDBMS). When explaining NoSQL, caution is taken to ensure that we first explain SQL, which is a structured step by step query language employed by the RDBMS. These type of databases depend on relations/tables, rows, columns or schemas to categorize and recover data.
In comparison, NoSQL does not rely on the later. It rather uses much more reliable and flexible data models. Because Relational Database Management Systems have tremendously been unable to meet the flexibility, performance and scalability needs required by these data-intensive next-generation applications, NoSQL databases have been embraced by multiple mainstream organizations fulfil the shortcomings of these RDBMS.
NoSQL is specifically used to store data that is unstructured, grows much more rapidly than structured one and does not fit into tables in the RDBMS. Regular examples of unstructured data comprises of:
Massive objects such as videos and images, chat/messaging and log based data, user entered and session generated data and lastly time series(real-time) data such as IoT and device data.