Types of NoSQL databases


In this post, I am going to explain about types of NoSQL databases.

What is NoSQL

  • NoSQL refers to 'Non SQL' or 'Non relational' databases.
  • NoSQL databases are called as non-relational databases to store unstructured data without a schema.

History of NoSQL

  • Initial days SQL databases are very famous.
  • Initially they are saving object data into SQL databases by mapping object fields to SQL database table fields.
  • Instead of mappings, they want to save direct objects into the database their NoSQL databases are coming.
  • SQL databases are not much effective in a cluster environment as compared to NoSQL databases.

Types of NoSQL

  1. Key Value Database
  2. Document Database
  3. Graph Database
  4. Object Database
  5. Tabular Database
  6. Tuple Database
  7. Triple/Quad Database or RDF Database
  8. Hosted Database
  9. Multivalue Database
  10. Multimodel Database
  11. Wide column Database
  12. Time Series Database

Basic division of NoSQL

  1. Document Database
  2. Graph Database
  3. Key - Value Database
  4. Column - Family Database

Aggregate Databases

  1. An aggregate is a group or collection of data treated as a single unit.
  2. These units of aggregate data forms a database boundaries.

Key-Value store

  • Database wich store Key and Value, here a key is String and Value is anything like String, Integer, Document, complex document, image, video ...
  • Simply it's just HasMap but stores in a disk, instead of memory.
  • It stores a collection of key-value pairs.
  • We can also create indexes for key-value databases.
  • It is Aggregated oriented Database
name : 'Trinix'

Document store

  • Database which stores a whole mass of documents where each document is some complex data structure.
  • Usually data structure is JSON, its language independent data structure.
  • We can retrieve documents, update some portion of a document.
  • It has no fixed schema like SQL table.
  • It is Aggregated oriented Database
{
  "user": {
       "id": 102,
       "name": "Trinix",
       "info": {
            "langs": [
                  {"java": "1.7", "exp": "6"},
                  {"ReactJS": "2", "exp": "1"}
            ]
        }
    }
}

Column-Family database

  • Database which stores the string as key and value as multiple key-value rows.
  • Column-Family database has a complex data model compare to remaining data models.
  • Benefits is the retrieval of documents is very easy.
  • It is Aggregated oriented Database

Graph Database

  • This database very good at handling relationship between things.
  • In this database we can optimize and make it fast on relationships of data.
  • It is not aggregated oriented Database.

Note: We can see how these databases are working with examples in next post