NoSQL System Development ?

NoSQL System Development ?


   NOSQL databases (aka "not only SQL") are nontabular and store data differently than relational tables. NoSQL databases come in a variety of types based on their data model. The main types are document, key-value, wide-column, and graph. They provide flexible schemas and scale easily with large amounts of data and high user loads.

  The reason/limitation of RDMS systems which lead the innovation of different type of NoSQL

 Problem statement  Company was looking for a fast lookup O(1) performance and they were ok with some stale data or volatile data. 

   Issue              In general, RDMS uses B- tree structure which can give O (Log(n)) performance.

   Solution           Hash table has the property-of retrieval O(1) .

   Outcome          This requirement was a big hash table (in memory) that lead to the development of Key value store NOSQL.


Problem statement  Company was looking for a flexible schema for the data written once (rear modification) but retrieved many times.

   Issue              RDBMS schema and data types are tightly coupled table structures.

   Solution          Combine schema with data and store this as a document, subsequently retrieve a document as required. 

   Outcome           This requirement leads to Document Store development.

 

 Problem statement  Company was looking for high write throughput system O(1) with better search capability than a sequence log file.

   Issue              B- tree structure with the single machine was not able to handle the load or achieve desired performance throughput.

    Solution         Data structure Log-structured merge-tree (LSM) + ability to distribute write on multiple computers (Consistent hashing).

   Outcome           This requirement leads to the development of Wide-column stores.  

  

  Problem statement  Complex relationship questions with social media information. Here we were more concerned about the relation (edge) and vertex (Entity). 

    Issue limitation on a number of nested self-joins /recursion with the performance hit by repeated aggregation.     

    Solution          Store data in from of vertex and edges with pre-calculated aggregation.

    Outcome         This requirement leads to Graph store

 

Note: I tried to add wiki links for detail about data structure.

To view or add a comment, sign in

Others also viewed

Explore content categories