RK NoSQL
RK NoSQL
• Scalability :
In distributed computing the system can easily be expanded by
adding more machines as needed.
• Sharing of Resources :
Shared data is essential to many applications such as banking,
reservation system. As data or resources are shared in
distributed system, other resources can be also shared (e.g.
expensive printers).
Cont…
• Speed :
A distributed computing system can have more
computing power and it's speed makes it different
than other systems.
• Open system :
As it is open system, every service is equally
accessible to every client i.e. local or remote.
• Performance :
The collection of processors in the system can provide
higher performance (and better price/performance
ratio) than a centralized computer.
Disadvantages of Distributed
Computing
• Software :
Less software support is the main disadvantage of
distributed computing system.
• Networking :
The network infrastructure can create several
problems such as transmission problem, overloading,
loss of messages.
• Security :
Easy access in distributed computing system increases
the risk of security and sharing of data generates the
problem of data security
NOSQL
• NoSQL is a non-relational database management
systems, different from traditional relational database
management systems in some significant ways.
• It is designed for distributed data stores where very
large scale of data storing needs (for example Google
or Facebook which collects terabits of data every day
for their users).
• These type of data storing may not require fixed
schema, avoid join operations and typically scale
horizontally.
Why NoSQL?
• In today’s time data is becoming easier to access and
capture through third parties such as Facebook,
Google+ and others.
• Personal user information, social graphs, geo location
data, user-generated content and machine logging
data are just a few examples where the data has been
increasing exponentially.
• To avail the above service properly, it is required to
process huge amount of data.
• The evolution of NoSql databases is to handle these
huge data properly.
•
Example 1
Social-network graph :
Each record: UserID1, UserID2
Durable
NoSQL Categories
• There are four general types (most common
categories) of NoSQL databases.
– Key-value stores
– Column-oriented
– Graph
– Document oriented
Key-value stores
• Key-value stores are most basic types of NoSQL
databases.
• Designed to handle huge amounts of data.
• Based on Amazon’s Dynamo paper.
• Key value stores allow developer to store schema-less
data.
• In the key-value storage, database stores data as hash
table where each key is unique and the value can be
string, JSON, BLOB (Binary Large OBject) etc.
• A key may be strings, hashes, lists, sets, sorted sets
and values are stored against these keys.
Cont…
• For example a key-value pair might consist of
a key like "Name" that is associated with a
value like "Robin".
• Key-Value stores can be used as collections,
dictionaries, associative arrays etc.
• Key-Value stores follow the 'Availability' and
'Partition' aspects of CAP theorem.
• Key-Values stores would work well for
shopping cart contents, or individual values
like color schemes, a landing page URI, or a
default account number.
Cont…
• Example of Key-value store Data Base
Redis, Dynamo, Riak. etc.
Column-oriented databases
• Column-oriented databases primarily work on
columns and every column is treated individually.
• Values of a single column are stored contiguously.
• Column stores data in column specific files.
• In Column stores, query processors work on
columns too.
• All data within each column datafile have the
same type which makes it ideal for compression.
Cont…
• Column stores can improve the performance of
queries as it can access specific column data.
Rows Vertices
Joins Edges
Rows Documents