0% found this document useful (0 votes)
27 views

No SQL

NoSQL is a type of database management system designed to handle large, unstructured data sets across distributed systems. Unlike traditional relational databases that use tables and schemas, NoSQL databases have flexible data models and can scale horizontally. The term originally referred to non-SQL databases but now means "not only SQL." Key features of NoSQL include enhanced scalability, flexibility, performance, and cost effectiveness for applications with large, changing datasets like social networks. The CAP theorem states that a distributed database can only provide two of three guarantees around consistency, availability, and partition tolerance.

Uploaded by

csanjana0211
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views

No SQL

NoSQL is a type of database management system designed to handle large, unstructured data sets across distributed systems. Unlike traditional relational databases that use tables and schemas, NoSQL databases have flexible data models and can scale horizontally. The term originally referred to non-SQL databases but now means "not only SQL." Key features of NoSQL include enhanced scalability, flexibility, performance, and cost effectiveness for applications with large, changing datasets like social networks. The CAP theorem states that a distributed database can only provide two of three guarantees around consistency, availability, and partition tolerance.

Uploaded by

csanjana0211
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 19

NoSQL

Database
Presentation
NoSQL!

NoSQL stands for:


No Relational
No RDBMS
Not Only SQL
NoSQL is an umbrella term for all databases and data stores that don’t follow
the RDBMS principles
A class of products
A collection of several (related) concepts about data storage and
manipulation
Often related to large data sets
NoSQL Definition
NoSQL is a type of database management system (DBMS) that is designed to handle
and store large volumes of unstructured and semi-structured data. Unlike traditional
relational databases that use tables with pre-defined schemas to store data, NoSQL
databases use flexible data models that can adapt to changes in data structures and
are capable of scaling horizontally to handle growing amounts of data.

The term NoSQL originally referred to “non-SQL” or “non-relational” databases,


but the term has since evolved to mean “not only SQL,” as NoSQL databases have
expanded to include a wide range of different database architectures and data
models.
Where does NoSQL come from?
Non-relational DBMSs are not new
But NoSQL represents a new incarnation
Due to massively scalable Internet applications
Based on distributed and parallel computing
Development
Starts with Google
First research paper published in 2003
Continues also thanks to Lucene's developers/Apache (Hadoop) and Amazon (Dynamo)
Then a lot of products and interests came from Facebook, Netfix, Yahoo, eBay, Hulu, IBM, and
many more
NoSQL Distinguishing Characteristics
Large data volumes
Google’s “big data”
Scalable replication and distribution
Potentially thousands of machines
Potentially distributed around the world
Queries need to return answers quickly
Mostly query, few updates
Asynchronous Inserts & Updates
Schema-less
ACID transaction properties are not needed – BASE
CAP Theorem
Open source development
NoSQL Database Types
Discussing NoSQL databases is complicated
because there are a variety of types:

Sorted ordered Column Store


Optimized for queries over large datasets, and store columns of data together, instead of rows

Document databases:
pair each key with a complex data structure known as a document.

Key-Value Store :
are the simplest NoSQL databases. Every single item in the database is stored as an attribute name (or 'key'),
together with its value.

Graph Databases :
are used to store information about networks of data, such as social connections
Where would I use it?
Where would I use a NoSQL database?

Do you have somewhere a large set of uncontrolled, unstructured, data that you are trying
to fit into a RDBMS?

Log Analysis
Social Networking Feeds (many firms hooked in through Facebook or Twitter)
External feeds from partners
Data that is not easily analyzed in a RDBMS such as time-based data
Large data feeds that need to be massaged before entry into an RDBMS
Features

Enhanced scalability and availability

Multiple data model compatibility

Global data distribution

Minimal downtime
Advantages

High scalability

Flexibility

Performance

Cost-effectiveness
Disadvantages
Lack of standardization

Narrow focus

Open-source

Lack of support for complex queries

Management challenge
When should NoSQL be used:
1.When a huge amount of data needs to be stored and retrieved.

2.The relationship between the data you store is not that important

3.The data changes over time and is not structured.

4.Support of Constraints and Joins is not required at the database level

5.Thedata is growing continuously and you need to scale the database regularly to
handle the data.
CAP theorem

It is very important to understand


the limitations of the NoSQL
database. NoSQL can not provide
consistency and high availability
together. This was first expressed by
Eric Brewer in CAP Theorem.
CAP theorem or Eric Brewers
theorem states that we can only
achieve at most two out of three
guarantees for a database:
Consistency, Availability, and
Partition Tolerance.
Consistency means that all nodes in the network see the same
data at the same time.

Availability is a guarantee that every request receives a


response about whether it was successful or failed. However, it
does not guarantee that a read request returns the most recent
write. The more number of users a system can cater to better is
the availability.

Partition Tolerance is a guarantee that the system continues to


operate despite arbitrary message loss or failure of part of the
system. In other words, even if there is a network outage in the
data center and some of the computers are unreachable, still the
system continues to perform.
Summary
Most likely, 10 years from now, the majority of data is still stored in RDBMS.

Leading users of NoSQL datastores are social networking sites such as Twitter,
Facebook, LinkedIn, and Digg.

Not every problem is a nail and not every solution is a hammer.

NoSQL has taken a field that was "dead" (database development) and suddenly brought it
back to life.
Simple Storage Service
Provides Object Storage which is built for
storing and recovering any amount of data
from anywhere over the INTERNET.

Object = Data + Metadata


Features:
Durability: 99.999999999%

Availability: 99.99%

Cost Effective
Scalability

Security

Data Encryption:
To protect Data when it is being .
transmitted
When at use
Thank You ;)

You might also like