NOSQL
WHAT’S NOSQL?
-NOT ONLY SQL .
WHAT’S NOSQL?
​
• Next-generation databases address several key
features, including being non-relational, distributed,
open-source, and horizontally scalable.
• They also often support a schema-free design, easy
replication, a simple API, and eventual consistency
BASE (not ACID) .
• Data Models: NoSQL databases typically adopt
one of the following structures:
1. Key-Value 2. Graph
3. Document-Oriented 4. Column-Oriented
ACID VS. BASE
4
5
ACID (CONT.)
• Atomicity: The database transaction must
completely succeed or completely fail. Partial
success is not allowed.
• Consistency: Guarantees that the database
remains in a valid state before and after a
transaction.
• Isolation: Ensures concurrent transactions do not
interfere with each other.
• Durability: Confirms that once a transaction is
committed, it remains permanent even in the event
of a system failure.
6
BASE (CONT.)
• Basically Available: The system guarantees
availability even if some data is stale or
temporarily inconsistent.
• Soft State: The state of the system may change
over time, even without input, due to eventual
consistency.
• Eventually Consistent: The system will become
consistent over time, assuming no new updates are
made.
WHY NOSQL ?
relational databases have been the
cornerstone of data storage, organizing
information into structured tables with
defined relationships.
However, the explosive growth of internet
usage and Web 2.0 applications in recent
years has transformed data demands.
Platforms like Facebook, Google, Amazon, and
WhatsApp now handle thousands of
terabytes of data, necessitating a new
approach to database management.
7
NOSQL VS. RDBMS
CHALLENGES OF RDBMS
• RDBMS requires data to follow a strict, predefined
structure and assumes uniformity across records.
• The schema (tables, columns, data types) must be
finalized before application development begins, which
clashes with agile methodologies and dynamic
applications needing frequent changes.
• As data volume grows, scaling is limited to vertical
expansion (upgrading existing server hardware CPU,
RAM, storage), which is costly and has finite capacity.
8
9
10
BENEFITS OF NOSQL
OVER RDBMS
• Schema Less: NoSQL databases being schema-less do not define any
strict data structure.
• Dynamic and Agile: NoSQL databases have good tendency to grow
dynamically with changing requirements. It can handle structured,
semi-structured and unstructured data.
• Scales Horizontally: In contrast to SQL databases which scale
vertically, NoSQL scales horizontally by adding more servers and using
concepts of sharding and replication. This behavior of NoSQL fits with
the cloud computing services such as Amazon Web Services (AWS)
which allows you to handle virtual servers which can be expanded
horizontally on demand.
• Better Performance: All the NoSQL databases claim to deliver
better and faster performance as compared to traditional RDBMS
implementations.
11
NOSQL LIMITATIONS:
• Since NoSQL is an entire set of databases (and not a single database),
the limitations differ from database to database.
• Some of these databases do not support ACID (Atomicity, Consistency,
Isolation, Durability) transactions while some of them might be lacking
in reliability.
• But each one of them has their own strengths due to which they are
well suited for specific requirements.
• Nostandardization.
• Limited query capabilities (so far).
12
INTRODUCTION TO CAP THEOREM
13
14
NoSQL Vs. RDBMS
NOSQL TYPES
15
15
16
NOSQL TYPES - KEY VALUE
• The key of a key/value pair is a unique value in the set and can be easily
looked up to access the data.
• Key/value pairs are of varied types: some keep the data in memory and some
provide the capability to persist the data to disk.
• Key-value databases can be applied to many scenarios. For example, key-value
stores can be useful for storing things such as the following: Shopping cart
contents, Product reviews, Product details, Session information, user profiles.
 examples
 Redis (in-memory performance).
 Oracle Berkeley DB (embedded systems).
 Amazon SimpleDB (cloud-based solutions).
 Riak (distributed environments).
17
18
NoSQL Types - Key Value
NOSQL TYPES - COLUMN BASED
• Thecolumn-oriented storage allows data to be stored effectively.
• Were created to store and process very large amounts of data distributed over
many machines.
• There are still keys but they point to multiple columns. The columns are
arranged by column family.
• Businesses Use Wide Column Databases to Handle:
• Highvolumeof data
• Extremewrite speeds with relatively less velocity reads
• Dataextraction by columns using row keys.
• Like:SensorLogs [Internet of Things (IOT)], Geographic information, etc.
 Examples
 Cassandra .
 Hbase .
19
20
NoSQL Types - Column Based
NOSQL TYPES - DOCUMENT
ORIENTED
• These were inspired by Lotus Notes and are similar to key-value stores.
• The model is basically versioned documents that are collections of other
key-value collections.
• The semi-structured documents are stored in formats like JSON.
• Document databases are essentially the next level of Key/value,allowing
nested values associated with each key.
• Document databases support querying more efficiently.
 Examples
 CouchDB
 MongoDb
21
22
NoSQL Types - Document Oriented
23
NOSQL TYPES -GRAPH BASED
• Instead of tables of rows and columns and the rigid structure of SQL, a
flexible graph model is used which, again, can scale across multiple
machines.
• A graph database uses graph structures with nodes, edges, and
properties to represent and store data.
• By definition, a graph database is any storage system that
provides index-free adjacency.
• This means that every element contains a direct pointer to its adjacent
element and no index lookups are necessary.
 Examples
 Neo4J
 InfoGrid
 Infinite Graph
24
NoSQL Types - Graph Based
THANK YOU
Muhammed El-Taweel

Presentation on NOSQL and mongodb .pptx

  • 1.
  • 2.
  • 3.
    WHAT’S NOSQL? ​ • Next-generationdatabases address several key features, including being non-relational, distributed, open-source, and horizontally scalable. • They also often support a schema-free design, easy replication, a simple API, and eventual consistency BASE (not ACID) . • Data Models: NoSQL databases typically adopt one of the following structures: 1. Key-Value 2. Graph 3. Document-Oriented 4. Column-Oriented
  • 4.
  • 5.
    5 ACID (CONT.) • Atomicity:The database transaction must completely succeed or completely fail. Partial success is not allowed. • Consistency: Guarantees that the database remains in a valid state before and after a transaction. • Isolation: Ensures concurrent transactions do not interfere with each other. • Durability: Confirms that once a transaction is committed, it remains permanent even in the event of a system failure.
  • 6.
    6 BASE (CONT.) • BasicallyAvailable: The system guarantees availability even if some data is stale or temporarily inconsistent. • Soft State: The state of the system may change over time, even without input, due to eventual consistency. • Eventually Consistent: The system will become consistent over time, assuming no new updates are made.
  • 7.
    WHY NOSQL ? relationaldatabases have been the cornerstone of data storage, organizing information into structured tables with defined relationships. However, the explosive growth of internet usage and Web 2.0 applications in recent years has transformed data demands. Platforms like Facebook, Google, Amazon, and WhatsApp now handle thousands of terabytes of data, necessitating a new approach to database management. 7
  • 8.
    NOSQL VS. RDBMS CHALLENGESOF RDBMS • RDBMS requires data to follow a strict, predefined structure and assumes uniformity across records. • The schema (tables, columns, data types) must be finalized before application development begins, which clashes with agile methodologies and dynamic applications needing frequent changes. • As data volume grows, scaling is limited to vertical expansion (upgrading existing server hardware CPU, RAM, storage), which is costly and has finite capacity. 8
  • 9.
  • 10.
    10 BENEFITS OF NOSQL OVERRDBMS • Schema Less: NoSQL databases being schema-less do not define any strict data structure. • Dynamic and Agile: NoSQL databases have good tendency to grow dynamically with changing requirements. It can handle structured, semi-structured and unstructured data. • Scales Horizontally: In contrast to SQL databases which scale vertically, NoSQL scales horizontally by adding more servers and using concepts of sharding and replication. This behavior of NoSQL fits with the cloud computing services such as Amazon Web Services (AWS) which allows you to handle virtual servers which can be expanded horizontally on demand. • Better Performance: All the NoSQL databases claim to deliver better and faster performance as compared to traditional RDBMS implementations.
  • 11.
    11 NOSQL LIMITATIONS: • SinceNoSQL is an entire set of databases (and not a single database), the limitations differ from database to database. • Some of these databases do not support ACID (Atomicity, Consistency, Isolation, Durability) transactions while some of them might be lacking in reliability. • But each one of them has their own strengths due to which they are well suited for specific requirements. • Nostandardization. • Limited query capabilities (so far).
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
    NOSQL TYPES -KEY VALUE • The key of a key/value pair is a unique value in the set and can be easily looked up to access the data. • Key/value pairs are of varied types: some keep the data in memory and some provide the capability to persist the data to disk. • Key-value databases can be applied to many scenarios. For example, key-value stores can be useful for storing things such as the following: Shopping cart contents, Product reviews, Product details, Session information, user profiles.  examples  Redis (in-memory performance).  Oracle Berkeley DB (embedded systems).  Amazon SimpleDB (cloud-based solutions).  Riak (distributed environments). 17
  • 18.
  • 19.
    NOSQL TYPES -COLUMN BASED • Thecolumn-oriented storage allows data to be stored effectively. • Were created to store and process very large amounts of data distributed over many machines. • There are still keys but they point to multiple columns. The columns are arranged by column family. • Businesses Use Wide Column Databases to Handle: • Highvolumeof data • Extremewrite speeds with relatively less velocity reads • Dataextraction by columns using row keys. • Like:SensorLogs [Internet of Things (IOT)], Geographic information, etc.  Examples  Cassandra .  Hbase . 19
  • 20.
    20 NoSQL Types -Column Based
  • 21.
    NOSQL TYPES -DOCUMENT ORIENTED • These were inspired by Lotus Notes and are similar to key-value stores. • The model is basically versioned documents that are collections of other key-value collections. • The semi-structured documents are stored in formats like JSON. • Document databases are essentially the next level of Key/value,allowing nested values associated with each key. • Document databases support querying more efficiently.  Examples  CouchDB  MongoDb 21
  • 22.
    22 NoSQL Types -Document Oriented
  • 23.
  • 24.
    NOSQL TYPES -GRAPHBASED • Instead of tables of rows and columns and the rigid structure of SQL, a flexible graph model is used which, again, can scale across multiple machines. • A graph database uses graph structures with nodes, edges, and properties to represent and store data. • By definition, a graph database is any storage system that provides index-free adjacency. • This means that every element contains a direct pointer to its adjacent element and no index lookups are necessary.  Examples  Neo4J  InfoGrid  Infinite Graph 24
  • 25.
    NoSQL Types -Graph Based
  • 27.