NoSQL is the name given to a broad array of nonrelational database technologies that have developed to address Big Data challenges
The name does not describe what the NoSQL technologies are, but rather what they are not
There are hundreds of products that can be considered as being under the broadly defined term NoSQL
Most fit into one of four categories: key-value data stores, document databases, column-oriented databases, and graph databases
Key-Value Database
Key-value (KV) databases are conceptually the simplest of the NoSQL data models
A KV database is a NoSQL database that stores data as a collection of key-value pairs
Key-value pairs are typically organized into “bucket”
A bucket can roughly be thought of as the KV database equivalent of a table
A bucket is a logical grouping of keys
Document Databases
Document databases are conceptually similar to key-value databases
A document database stores data in key-value pairs in which the value component is composed of a tag-encoded document
JSON (JavaScript Object Notation) is a human-readable text format for data interchange that defines attributes and values in a document
BSON (Binary JSON) is a computer-readable format for data interchange that expands the JSON format to include additional data types including binary objects
A collection, in document databases, is a logical storage unit that contains similar documents, roughly analogous to a table in a relational database