Date post: | 16-Jul-2015 |
Category: |
Documents |
Upload: | vishal-gupta |
View: | 112 times |
Download: | 6 times |
NoSQL
DATABASE
By:
Vishal Kumar Gupta
Roll No. 1003310078
Computer Science & Engg (3rd year)
1. NoSQL stands for Not Only SQL.
2. A class of non-relational data-storage system.
3. Useful when working with a huge quantity of data when the data's
nature does not require a relational model.
4. Does not require a fixed table schema.
5. Does not require SQL languane for data manipulation.
AN INTRODUCTION :WHAT and WHY ?
HOW IT WORKS?
An Example of Amazon’s Service Oriented Architecture
Incoming
Request
Page Rendoring
Components
Aggregtor Services
Services
Dynamo InstancesOther Storage
1. NoSQL does not use SQL as its Query Language.
2. Data is partitioned among different machines so that traditional
JOIN operations can not be used.
3. NoSQL can not necessarily give full ACID guarantees. Usually
only eventual consistency is guaranteed or transactions limited to
single data items.
4. NoSQL has a distributed, fault-tolerant architecture.
5. NoSQL follow the CAP (Consistency, Availability, Partition
Tolerence) theorem.
CHARACTERISTICS
WHAT IS CAP THEOREM
??
?
CAP THEOREM: We do not
crop ACID properity
The CAP theorem states that it is impossible
for a distributed computer system to
simultaneously provide all three of the
following guarantees:
1. Consistency: All nodes see the same data at
the same time
2. Availability: A guarantee that every request
receives a response about whether it was
successful or failed.
3. Partition Tolerance: The system continues
to operate despite arbitrary message loss or
failure of part of the system.
According to the theorem, a distributed
system can satisfy any two of these guarantees
at the same time, but not all three.
Z
SQL-NoSQL ??
COMPARISON OF SQL and NoSQL
SQL
SQL database is relational
database that matches data by
using common characteristics
found in the dataset.
Users have to scale relational
database on powerful servers
that are expensive and difficult
to handle.
There must be a schema for
relational database.
NoSQL
NoSQL database is non-relation
-al database. Usually avoid join
operations, and typically scale h
-orizontally.
The scalability is handle through
Sharding and Replication. It au
-tomatically spreads your data o
-nto multiple servers without re
-quiring application assistance.
No schema is required.
Sharding:
DB Sharding is nothing but horizontal partitioning of data. In a
traditional database, you would do the partitioning such as in Oracle
database. A table with billions of rows can be partitioned using “Range
Partitioning”.
Replication:
To ensure high availability and performance of a service, resources for
data and query processing must be distributed to and stored in two or
more locations. This is what we call 'replication.'
WHAT IS SHARDING AND REPLICATION?
1. Key–value stores
2. Big-Table implementations
3. Document store databases
4. Graph Databases
CLASSIFICATIONNoSQL databases are categorized according to the
way they store the data.
It allow the application developer to store schema-less data. This data
is usually consisting of a string which represents the key and the actual
data which is considered to be the value in the "key - value"
relationship.
The way it works is demonstrated in this little sample chart:
Color Red
Age 18
Size Large
Name Smith
Title The Brown Dog
KEY-VALUE STORES
Hoffman code strategy to store
key values.
Big-Table is a compressed, high performance, and proprietary data
storage system built on Google File System, Chubby Lock Service,
SSTable (log-structured storage like LevelDB) and a few other
Google technologies.
It is not distributed outside Google.
BIG-TABLE IMPLEMENTATION
Big Data Storage System in Big Table implementation.
The concept of a document store is the notion of a "document".
While each document-oriented database implementation differs on
the details of this definition, in general, they all assume that
documents encapsulate and encode data (or information) in some
standard formats or encodings.
DOCUMENT STORE DATABASE
Relational Storage Database Document Store Database
This kind of database is designed for data whose relations are well rep
-resented as a graph (elements interconnected with an undetermined
number of relations between them).
The kind of data could be in social relations, public trans -port
links, road maps or network topologies.
GRAPH DATABASE
Graph Storage Database
1. Dynamo:
Dynamo is a distributed key-value storage system that is used internally by Amazon for its own services.
2. Amazon S3 (Simple Storage Service):
S3 is a distributed and scalable key-value stor -age system comparable to Dynamo.
3.SimpleDB:
SimpleDB is a schema free and distributed database provi-ded by Amazon as a web service. Its main feature is its ease of use: SimpleDB does not need a schema, decides automatically which indexes are needed and provides a simple SQL like query interface.
NoSQL PRODUCTS/PROJECTS
4. Big Table:
Big-Table is one of Google's solutions to deal with its vast amount of
data. It is build on top of Google's distributed file system GFS and is
used by Google for several applications with different demands on the
latency of the database.
5. Google App Engine:
The Google App En -gine datastore provides applications that a -re
running inside Google's App Engine with a query able and schema free
data store.
6. MongoDB:
MongoDB is a schema less document oriented database developed by
10gen and an open source community. The database is intended to be
scalable and fast and is written in C++. In addition to its document
oriented databases features, MongoDB can be used to store and distri
-bute large binary files like images and videos.
…continue
7. CouchDB:
CouchDB is a schema free document oriented database with an optimistic replication mechanism.
CouchDB itself is currently not a distributed database by itself, but it can be used as such in combination with a proxy layer, which handles the sharding and server management.
8. Apache Cassandra:
Apache Cassandra is a highly scalable and high-performance distrib-uted database management system. Cassandra is able to manage the distribution of data across multiple data centers and offers incremental scalability with no single point of failure.
Cassandra is a logical choice for enterprises that need constant optim -e, reliability, and very fast performance. Many leading companies, including Cisco, HP, Motorola, Netflix, Ooyala, Openwave, Rackspa- ce, and Twitter rely upon Cassandra to manage the data needs of their critical production applications.
…continue
NoSQL databases generally process data faster than
relational databases.
NoSQL databases are also often faster because their data
models are simpler.
Major NoSQL systems are flexible enough to better
enable developers to use the applications in ways that
meet their needs.
ADVANTAGES OF NoSQL
1. Businesses that have outgrown legacy relational systems are now
turning to NoSQL solutions to manage their critical data needs.
NoSQL databases have shown they’re capable of handling both
real-time / system of record applications as well as analytic and
business intelligence systems. This is why many enterprises have
already elevated NoSQL as a primary data provider along with
traditional RDBMSs. However, not all NoSQL databases are
created alike – and some are more enterprise-ready than others.
2. For example, a recent Evans Data survey revealed that corporate
enterprise developers in North America and UK are rapidly
accepting NoSQL. The study also showed that NoSQL databases
already are being used in 56 percent of organization -s
surveyed, and 63 percents of respondents said they plan to use
NoSQL in the next two years.
MOMENTUM Of NoSQL In The ENTERPRISE
Percent of Planned Enterprise NoSQL Usage
North
America EMEA
APAC
0
50
100
CAREER??
This work has shown that there are a lot of differences between
current NoSQL implementations. This is not a surprising
result, because none of the examined databases aim to be the perfect
solution for every problem. Instead each database has its own
properties and features, so that developers have to choose the right
database depended on the requirements of their project. Therefore
this work compared the trade-offs of the examined database
implementations and explained why these are necessary.
CONCLUION
QUESTION
???
?
THANK YOU
1. Wikipedia.org/wiki/NoSQL
2. Ieee.org/NoSQL/ WG2_N1537_SQL_Standard_and_NoSQL_Databases 2011-05 by Keith W. Hare
3 Ieee.org/NoSQL/ WP-DataStax-NoSQL by DataStax Corporation
4. Ieee.org/NoSQLDatabases by Prof. Walter Kriha
5. thewindowsclub.com/difference-sql-nosql-comparision
REFERENCES