Introduction to NoSQL Databases
Introduction to NoSQL Databases
Course material
Pr. Adil CHERGUI
The objectives
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:
How to distribute the storage of this database among clusters if the quantity becomes enormous?
Why move towards NoSQL?
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.
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