Dbms Presentation

Download as pdf or txt
Download as pdf or txt
You are on page 1of 22

DBMS PRESENTATION

TOPIC: NoSQL Software

By:

Aditya Raj (05519012021)


Abhishek Garg (05619012021)
Garvit Sachdeva (05719012021)
NEED OF NOSQL
Modern RDBMS simply don’t scale to internet traffic. So, the main solutions are-
Scaling Up(Vertical Scaling)- Adding resources to a single node in a system.
Scaling Out(Horizontal Scaling)- Adding more nodes to a single system, multi-node database
solution. Different approaches are-
Master Slave
Sharding
Multi Master Replication
In Memory database
No Joins
High prices from RDBMS vendors.
These days Sites like Digg, Facebook and EBay have data sets 10s or 100s of TB large.
Reduce object-relational impedance
HISTORY OF NOSQL
CARLO STROZZI used the term NOSQL in 1998 to
name his lightweight, Open Source Relational
Database.
ERIC EVANS, a rack space employee, reintroduced
the term NOSQL in 2009 to discuss the open
source distributed database.
INTRODUCTION
Stands for Not Only SQL.
Having non-relational flat file database.
May not require fixed table schema.
Horizontally scalable-easily add more information.
Avoid JOIN operation.
Relaxation of ACID properties.
Distributed in nature.
ARCHITECTURE OF NOSQL
Several NOSQL systems use a Distributed
architecture like Master/Slave,
Master/Master,Masterless.
Based on Distributed Hash Tables.
Easily scale out by adding more servers & failure
of a server can be tolerated.
Provide full ACID guarantee by adding a
supplementary middleware layer.
CAP THEOREM
Main movement of NOSQL- Having Theorem states: Strict Consistency can't be
three main properties of a system: achieved at the same time as availability and
Consistency partition-tolerance.
Availability
Partitions
To scale out, you have to Partition.
That leaves either Consistency or
Availability , you would choose
availability over consistency in almost
all cases.
You can have at most two of these
three properties for any shared-data
system.
EVENTUAL CONSISTENCY
NOSQL database leaves consistency to achieve better availability & partitioning, this
resulted in system know as BASE.
BASE , as opposed to ACID, having three properties:
Basically Available
Soft-state
Eventually consistent
When no updates occur for a long period of time, eventually all updates will propagate
through the system and all the nodes will be consistent.
NOSQL DATA MODELS
NOSQL databases can be categorized according to their data model into the following
four categories:

Key-Value-stores
Document-stores
Graph Databases
Big Table-Column Implementation
KEY VALUE STORE
Simplest form of NoSQL store- Each key is mapped to a value containing arbitrary
data.
This store has no knowledge of the contents of its payload and simply delivers the
data to the application.
Mainly used to encapsulate the information .
Key-value stores is a very simple query model, usually consisting of set, get, and
delete primitives.
Main applications based on this store:
Redis
Level DB
Memcache DB
KEY VALUE STORE
DOCUMENT STORE
Key-document stores map a key to some document that contains structured
information.
They store lists and dictionaries, which can be embedded recursively inside one-
another.
Freedom and complexity of document stores are two key points:
Developers have a lot of freedom in modeling their documents
Application-based query logic can become complex.
Main applications based on this store:
Mongo DB
Couch DB
Riak
DOCUMENT STORE
DOCUMENT STORE
GRAPH DATABASE
To avoid JOIN operation in RDBMS, Graph Databases are used.
Graph Database is modeled using three basic building blocks:
Node as vertex
Relationship as edge
Property as attribute
Graph theory has seen a great usefulness and relevance in many problems across
various domains.
Main applications based on this store:
Neo4J
InfoGrid
HyperGraphDB
GRAPH DATABASE
GRAPH DATABASE
BIG TABLE-COLUMN
IMPLEMENTATION
In this Model, a key identifies a row, which contains data stored in one or more Column
Families.
Within a Column Family, each row can contain multiple columns.
The values within each column are timestamped, so that several versions of a row-
column mapping can live within a Column Family.
The model naturally supports sparse column placement.
It is particularly good at modeling historical data with timestamps.
Main applications based on this store:
Cassandra
HBase
Hyper Table
BIG TABLE-COLUMN
IMPLEMENTATION
ADVANTAGES OF NOSQL
1. Flexible Schema: NoSQL databases offer schema flexibility, allowing easy adaptation
to changing data requirements.
2. Scalability: Designed for horizontal scaling, NoSQL databases efficiently handle large
data volumes by adding more servers.
3. High Performance: Optimized for specific use cases, NoSQL databases deliver fast
data retrieval and processing.
4. Availability: Many NoSQL databases support automatic data replication for high
availability and fault tolerance.
5. Support for Big Data: NoSQL databases excel at managing diverse and large
datasets for real-time analytics and big data applications.
6. Cost-Effective: Running on commodity hardware and open-source software, NoSQL
databases are often more cost-effective than traditional SQL databases.
DISADVANTAGES OF NOSQL
1. Limited Querying Capabilities: NoSQL databases may lack complex querying features
compared to SQL databases, making certain data analysis tasks challenging.
2. Consistency Challenges: Some NoSQL databases prioritize availability over strong
consistency, potentially leading to data inconsistency in distributed environments.
3. Data Integrity Issues: Maintaining data integrity in complex transactions can be
difficult due to the relaxed consistency models of many NoSQL databases.
4. Learning Curve: Adopting NoSQL databases requires developers to learn new
paradigms and design patterns, impacting initial development timelines.
5. Vendor Lock-In: Choosing a specific NoSQL technology may lead to vendor lock-in,
making data migration complex and costly.
APPLICATIONS OF NOSQL
1. Web Applications: NoSQL databases are ideal for web applications that require
flexible data models to manage user-generated content efficiently.
2. Real-time Analytics: NoSQL databases excel in processing large volumes of rapidly
changing data for real-time analytics and decision-making.
3. IoT Systems: NoSQL databases handle massive amounts of sensor data generated by
Internet of Things (IoT) devices, enabling real-time insights and monitoring.
4. E-commerce Platforms: NoSQL databases manage product catalogs, user profiles,
and shopping carts in e-commerce applications, enhancing scalability and
performance.
5. Gaming: Online gaming platforms use NoSQL databases for player data management,
game state storage, and leaderboard functionality.
6. Ad Tech and Personalization: Ad tech platforms leverage NoSQL databases to
analyze user behavior data for targeted advertising and personalized content delivery.
THANK YOU
FOR
LISTENING!

You might also like