Saturday, August 27, 2016

About NoSQL and its Databases



If you have heard "NoSQL" word from your friends or colleague and curious to know more about "NoSQL". Then, you came at the right place. In this article, we will talk about NoSQL and its databases and how they are different from most commonly used relational databases like Oracle, MySQL, SQL Server and etc..


About NoSQL

A NoSQL sometimes refer as "Not Only SQL" or "Non Relational", which means it can use SQL as well but it will be using non relational structure to store data. 


About NoSQL Databases

Most of NoSQL database are primarily non-relational database or distributed database, which stores data in form of key-value, wide column, graph, or document, which are different from those used by default in relational databases, which makes some operations faster in NoSQL. There are more than 255 NoSQL databases currently available to use on which MongoDB, CouchDB, HBase and Cassandra are widely used databases. 


NoSQL Database Categories

The NoSQL databases can be categorized into 5 types :
  1. Column : In this category of databases, data gets stored in column base structure in distributed data stores environment, where information is stored on more than one node. To store data, it uses tuple (key-value pair), which consists 3 elements Unique Name (to reference the column), Value (actual data) and Timestamp (to determine updated value). The well known databases in this category are Cassandra and HBase.

      Unique Name Unique Name Unique Name
      Value Value Value
      Timestamp Timestamp Timestamp


  2. Document : In this category of databases are designed for storing, retrieving, and managing document-oriented information. The central concept of a document-oriented database is the notion of a document. While each document-oriented database implementation differs on the details of this definition, in general, they all assume documents encapsulate and encode data (or information) in some standard formats or encodings. Encodings in use include XML, YAML, JSON, and BSON, as well as binary forms like PDF and Microsoft Office documents (MS Word, Excel, and so on). The well known databases in this category are CouchDB and MongoDB.

      
      {
          Website: “http://apptech-solution.blogspot.in”, 
          Title: “About NoSQL and it’s Databases”, 
          Tag: “Database, NoSQL"
      }
      


  3. Key-Value : They are designed for storing, retrieving, and managing associative arrays, a data structure more commonly known today as a dictionary or hash. Dictionaries contain a collection of objects, or records, which in turn have many different fields within them, each containing data. These records are stored and retrieved using a key that uniquely identifies the record, and is used to quickly find the data within the database. The well known databases in this category are Dynamo and Redis.


      Key 1 Value 1
      Key 2 Value 2
      Key 3 Value 3
      Key 4 Value 4
      Key 5 Value 5


  4. Graph : Graph databases are based on graph theory, which will have nodes, edges and properties.
    • Nodes represent entities such as people, businesses, accounts, or any other item you might want to keep track of. 
    • Edges, also known as graphs or relationships, are the lines that connect nodes to other nodes; they represent the relationship between them. 
    • Properties are pertinent information that relate to nodes.
    The well known databases in this category are Neo4J and OrientDB.



  5. Multi-Model :  It is designed to support multiple data models against a single, integrated backend. Document, graph, relational, and key-value models are examples of data models that may be supported by a multi-model database. The well known databases in this category are OrientDB and ArangoDB.



No comments:

Post a Comment