0% found this document useful (0 votes)
4 views19 pages

Introduction to NoSQL Databases

The document introduces NoSQL databases by explaining their emergence due to the explosion in data size. It describes the main types of NoSQL databases (document-oriented, key-value, column, graph) and cites examples such as MongoDB, Cassandra, and Redis.

Translated by

ScribdTranslations
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views19 pages

Introduction to NoSQL Databases

The document introduces NoSQL databases by explaining their emergence due to the explosion in data size. It describes the main types of NoSQL databases (document-oriented, key-value, column, graph) and cites examples such as MongoDB, Cassandra, and Redis.

Translated by

ScribdTranslations
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Chapter 1:

Introduction au base de données NoSQL

Course material
Pr. Adil CHERGUI
The objectives

Understanding the why behind the emergence of the NoSQL movement.


The different types of NoSQL databases.
The positioning of MongoDB in this new ecosystem.
Master the installation and getting started with MongoDB.
Why move towards NoSQL?

e-commerce

Social media

Collection

News E-journal
How to store and manipulate this data
knowing that in 2020 we owe a
volume of44 Zettabytes (1 ZB = 1
satellite gps billions of terabytes)?
Why move towards NoSQL?

With the explosion of the size of data to manage that some companies are experiencing, the databases of
Traditional data fail to provide a satisfactory response time.
Two solutions are conceivable:
Why move towards NoSQL?

Increasing the machine's resources (the power of the processor, memory, etc.) is what we call
vertical scalability.
However, this solution has its limits indeed:
• One cannot increase the capacities of resources infinitely.
• The price of the components
• This requires a major transition movement.
Why move towards NoSQL?

Using a cluster of machines which, in theory, allows for unlimited capacity increase with a
lower production cost, as it is enough to add other machines to the cluster: this is what we call
horizontal scalability.
Why move towards NoSQL?

Attention :
Beyond a certain amount of data, only the second solution remains plausible.
Why move towards NoSQL?

The Problem:
The problem is that in an architecture that evolves horizontally through clusters, the strengths of the
Relational databases: such as transactions and joins hinder response times.
Example:
Let's assume a client needs a database design for their blog site. The website has
the following requirements:

Each post has a unique title, a description, and a URL.


Each post can have one or more tags.
Each post has the name of its publisher and the total number of people who like it.
Each post has comments provided by users along with their name, message, and timestamp.
and number of likes.
Each post can have zero or more comments.
Provide the design of the DBMS schema for the requirements?
Why move towards NoSQL?

RDBMS Solution Schema Design:

How to distribute the storage of this database among clusters if the quantity becomes enormous?
Why move towards NoSQL?

It is following this observation that NoSQL databases emerged.


These bases are characterized by the abundance of joins and transactions in favor of a time
of short response.
Definition of NoSQL

What is NoSQL (Not Only SQL)?


• Non-relational DBMS from the web world
• The data is no longer manipulated with SQL.
• The storage unit is no longer the table.
• The definition of a relational data schema is no longer necessary.
• Waiver of RDBMS features (ACID: Atomicity, Consistency, Isolation,
Durability
• The main axes are high availability and data partitioning.
• Allows to manage very large volumes of data
Types of NoSQL databases

NoSQL databases can be classified into four categories:


• Document-oriented databases
• Key/value stores
• Column bases
• Graph-oriented databases.
They all have one common point: the support for more flexible and dynamic models than those
created with traditional relational databases.
However, each type of NoSQL database corresponds to specific uses
Types of NoSQL databases
Key value Document

Column Graph
Types of NoSQL databases
Types of NoSQL databases

Document-oriented databases
Document-oriented databases are often used in management systems.
content, as well as to collect and process data from mobile or Web applications
for heavy traffic to do the monitoring.
As their name indicates, these databases store data in structures identical to those
of documents, sometimes even without any diagrams.

Example: MongoDB, CouchDB Server, MarkLogic


Types of NoSQL databases

Key/Value databases
Key/value databases, such as Aerospike, Redis, and Riak, are the simplest form of
NoSQL databases.

They associate unique keys with values in data, with the aim of strengthening
strongly the performance of applications based on relatively large datasets
simple.
Example :
Types of NoSQL databases

Columnar Databases
Columnar databases store data in tables that have a very
large number of columns. This provides high levels of performance and
sizing when it is necessary to process (and traverse) large datasets.
Among the typical use cases, we find Internet research, large web applications.
scale as well as the analytical applications capable of processing petabytes of
Accumulo, Cassandra, and HBase are examples.
Types of NoSQL databases

Graph-oriented databases
Graph databases, such as InfiniteGraph and Neo4j, store elements of
data in 'graph' structures and allow to create associations between them to,
ultimately, serve as a base for recommendation engines or social networks.
For example, a graph technology can be used to identify relationships between
different people through their interests,
Examples:
Types of NoSQL databases

The main NoSQL products


• MongoDB
• Accumulo
• Berkeley DB (Oracle)
• BigTable (Google)
• Cassandra (Facebook, Twitter, Digg)
• CouchDB
• SimpleDB ([Link])

You might also like