Thursday 15 August 2013

Need for NoSql Data Base



First things first

Its good to understand the following terms before looking  the Motivations or need for NoSql Data bases.

¨  RDBMS
¨  Joins,multi table transaction
¨  ACID (atomicity, consistency, Isolation , Durability)
¨  Scale up scale out
¨  Vertical scaling ,horizontal scaling
¨  Big User ,Big data, cloud computing
¨  Structured data , unstructured data
¨  Distributed system.
¨  Usage  profiles
¨  CAP (consistency , Availability ,Partition Tolerance)theorem
¨  Key challenges with RDBMS
 Complex joins on large data sets becomes a bottle neck
¨  As  DB scales to more machines
¨  Distributed transaction  management across nodes
¨  Lock  Management challenges
¨  Failure (single point of failure)
¨  Joining of tables across nodes.


What is NO SQL???

¨  Is not “never  SQL”
¨  Is not  “No To SQL”
¨  Is Not Only SQL.


Motivation for NoSql:


Big Users

¨  With the extensive use of internet, smart phones, tabs and increased number of usage hours
Ø  A newly launched app can go viral, growing from zero to a million users overnight – literally.
Ø  Some users are active frequently, while others use an app a few times, never to return.
Ø  Seasonal swings like those around Christmas or festive season create spikes for short periods.
The large numbers of users combined with the dynamic nature of usage patterns is driving the need for more easily scalable database technology

Big Data

¨  Data is becoming easier to capture and access
                Face book.
                Personal user information,
                geo location data,
                social graphs,,,,
¨  Big data is characterized by Volume, velocity and variety.


The large numbers of users combined with the dynamic nature of usage patterns is driving the need for more easily scalable database technology

 Cloud Computing

       Today, most applications use a three-tier Internet architecture, run in a public or private cloud, and support large numbers of users. In the cloud, a load balancer directs the incoming traffic to a scale-out tier of web/application servers that process the logic of the application. The scale-out architecture at the web/application tier works fine.
       At the database tier, relational databases were originally the popular choice. Their  use was increasingly problematic however, because they are a centralized, share-everything technology that scales up rather than out.

Scale out and Scale up statistics:










 The  two main factors to be considered to choose a NoSql:

1. The System is Distributed and is fine to go with CAP theorem rather than ACIDic RDBMS.
2.Need of horizontal scaling (scaling out) of the database tier.


Types of NoSql Databases:

There have been various approaches to classify NoSQL databases, each with different categories and subcategories. Because of the variety of approaches and overlappings regarding the nonfunctional requirements and the feature-set it could be difficult to get and maintain an overview of the nonrelational database market. Nevertheless, the most basic classification that most would agree is one based on the data model. A few of these and their prototypes are:
  • Column: Hbase, Cassandra, Accumulo
  • Document: MongoDB, Couchbase, Raven
  • Key-value : Dynamo, Riak, Azure, Redis, Cache, GT.m
  • Graph: Neo4J, Allegro, Virtuoso, Bigdata


Thanks for reading...cheers :-)









No comments:

Post a Comment