0% ont trouvé ce document utile (0 vote)
49 vues33 pages

Bases de données : SQL, NoSQL, NewSQL

Le document présente une introduction complète aux bases de données, y compris les systèmes de gestion de bases de données (SGBD), les bases de données relationnelles, NoSQL et NewSQL. Il aborde des concepts clés tels que l'ACID, la normalisation, et les différences entre les types de bases de données, tout en fournissant des exercices pratiques. Enfin, il discute des exigences et des caractéristiques essentielles des systèmes de bases de données pour une gestion efficace des données.

Transféré par

Wilfried Dabiré
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
49 vues33 pages

Bases de données : SQL, NoSQL, NewSQL

Le document présente une introduction complète aux bases de données, y compris les systèmes de gestion de bases de données (SGBD), les bases de données relationnelles, NoSQL et NewSQL. Il aborde des concepts clés tels que l'ACID, la normalisation, et les différences entre les types de bases de données, tout en fournissant des exercices pratiques. Enfin, il discute des exigences et des caractéristiques essentielles des systèmes de bases de données pour une gestion efficace des données.

Transféré par

Wilfried Dabiré
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Thierry O. C.

EDOH

SQL – NoSQL - NewSQL

Version : 2022-June-09

1|Page
Préface

2|Page
Table of Contents
Préface.........................................................................................................................................................2
1 Introduction aux bases de données....................................................................................................5
1.1 Définition et concept...................................................................................................................5
1.2 Exigences relatives au système de base de données - Caractéristiques d'un système de base
de données...............................................................................................................................................6
2 Base de données relationnelle............................................................................................................8
2.1 Concept et propriétés des bases de données relationnelles......................................................8
2.1.1 Le concept « ACID »...........................................................................................................9
2.1.2 Le concept de normalisation..............................................................................................9
2.1.3 Le concept de scalabilité...................................................................................................10
2.1.4 Le concept de domaines....................................................................................................10
2.2 Développement d’une base de données SQL..........................................................................11
2.2.1 Modélisation des données.................................................................................................11
2.3 Qu’est-ce que le SQL................................................................................................................13
2.3.1 Les types des données SQL..............................................................................................13
2.3.2 Les opérateurs SQL..........................................................................................................14
2.3.3 Les opérations et syntaxe SQL.........................................................................................14
2.3.4 Les mots clés dans une requête........................................................................................16
2.4 Limites des bases de données relationnelles............................................................................17
2.5 Exercice/Travaux pratique......................................................................................................18
2.5.1 Installation de l’environnement.......................................................................................18
2.5.2 Travaux dirigés.................................................................................................................18
2.5.3 Exercice.............................................................................................................................18
3 Base de données NoSQL...................................................................................................................20
3.1 Un bref historique des bases de données NoSQL...................................................................20
3.2 Avantages à utiliser NoSQL.....................................................................................................20
3.3 Concept des bases de données NoSQL....................................................................................21
3.4 Familles de bases de données NoSQL et cas d’utilisation......................................................22
3.4.1 Clé-Valeur.........................................................................................................................22
3.4.2 Colonnes............................................................................................................................23
3.4.3 Documents.........................................................................................................................24
3.4.4 Graphes.............................................................................................................................24
3.5 Les opérations CRUD avec NoSQL (Avec MongoDB)...........................................................25
3|Page
3.6 Exercices et travaux dirigés et pratiques................................................................................29
4 Base de données NewSQL................................................................................................................30
4.1 Qu’est-ce que NewSQL............................................................................................................30
4.2 Concept et propriétés...............................................................................................................30
4.3 Les quelques systèmes de bases de données NewSQL............................................................31
5 Différence entre SQL, NoSQL et NewSQL.....................................................................................32
5.1 SQL, NoSQL ou NewSQL - Quelle est la meilleure solution pour le Big Data ?.................32
6 Littérature.........................................................................................................................................33

4|Page
1 Introduction aux bases de données

1.1 Définition et concept


 Base de données
Une base de données sert au stockage et à la gestion d'informations (données, documents, images,
etc.) qui représentent une partie du monde réel et qui sont persistantes. Une base de données (BD)
permet d'avoir une vue unifiée et indépendante de l'application sur les données.
 Système de gestion de bases de données (SGBD)
Le système de gestion de base de données, en abrégé SGBD, est, outre les données proprement
dites, l'élément le plus important de toute base de données. Il se charge de l'organisation et de la
structuration des données. Parallèlement, il contrôle les accès en lecture et en écriture.
Exemple de SGBD
Un SGBD fréquemment utilisé dans l'environnement bureautique pour les ordinateurs individuels
ou les petits serveurs et groupes de travail est Microsoft Access. D'autres exemples de SGBD
sont le gestionnaire de base de données d'Oracle, DB2 d'IBM, dBase, Paradox, le système de
gestion de base de données relationnelle MySQL ou différents systèmes NoSQL MySQL est
disponible sous forme de logiciel open source et est le système de gestion de base de données
open source le plus répandu et constitue la base de nombreux systèmes de gestion de contenu sur
Internet tels que WordPress ou Joomla.
 Système de base de données
Un système de base de données est composé de base de données et de système de gestion de base
de données et prend en charge le traitement informatisé d’informations créées et traitées par une
application de base de données. Un système de base de données structure et stocke les
informations dans une base de données.
Au début du traitement des données, les données créées et traitées par un programme étaient
structurées et enregistrées dans des formats de fichiers propres à l'application.
Cela présentait l'inconvénient que les différents programmes d'application ne pouvaient pas
échanger de données, ou alors seulement au prix d'efforts considérables, par le biais de la
programmation d'interfaces. La gestion des fichiers entraînait généralement une redondance, une
incohérence et une dépendance des données.
Au fil du temps, l'accent a été mis de plus en plus sur les données (leur conservation) et les
programmes n'étant plus qu'un moyen de saisir les données, on en est venu à développer des
systèmes de base de données. Ceux-ci ont remédié aux inconvénients des fichiers et ont permis
un accès uniforme et une structure globale des données.
Accès aux données dans la base de données
5|Page
L'accès à la base de données se fait exclusivement via le "filtre" du système de gestion de base de
données. Un système de base de données permet à l'utilisateur, via un SGBD,
 de construire la structure d'une base de données (définition des données),
 de gérer des données : saisir, modifier et supprimer des enregistrements (manipulation de
données),
 d'extraire des informations de la base de données (interrogation des données),
 prendre des dispositions pour la sécurité et la protection des données,
 gérer les droits d'accès et de consultation (contrôle des données) et
 de sauvegarder, d'exporter et d'importer des données (transfert de données).

Figure 1: Concept de base de données

1.2 Exigences relatives au système de base de données - Caractéristiques d'un système de


base de données
Pour répondre aux exigences complexes et variées d'une gestion cohérente et uniforme des
données, les systèmes de base de données doivent présenter un certain nombre de
caractéristiques. Les exigences d'un système de base de données sont les suivantes :

6|Page
 Indépendance des données : le programme d'application et le stockage des données
doivent être indépendants l'un de l'autre.
 Accès efficace à la mémoire : utilisation de techniques de stockage pour rendre le
traitement des données efficace (par exemple, index).
 Accès parallèle aux données : plusieurs utilisateurs doivent pouvoir accéder
simultanément aux données. Pour cela, il faut des protocoles de contrôle des transactions.
 Cohérence des données : toute modification des données doit être complète et respecter
des règles préalablement définies.
 Base de données commune : les données sont stockées et gérées de manière centralisée.
 Intégrité des données : les données doivent être complètes et correctes selon les règles,
sinon l'enregistrement doit être empêché (par exemple, référence à une clé étrangère
inexistante).
 Sécurité des données : l'accès ne doit être autorisé qu'aux utilisateurs autorisés.
 Procédure de récupération : En cas d'erreur, une procédure de sauvegarde ou de
récupération doit être disponible pour restaurer une base de données cohérente.
 Langage d'interrogation : un système de base de données (DBS) doit fournir un moyen
de manipuler les données (interrogation, mise à jour, génération de rapports,
modification) (pour les DBS relationnels, il s'agit généralement d'une forme de SQL,
NoSQL pour les bases de données NoSQL, etc.).
 Pas de redondance / redondance contrôlée : afin d'éviter les incohérences et les
atteintes à l'intégrité, il convient d'empêcher le stockage redondant (multiple) de données
identiques. Dans des cas exceptionnels, la redondance peut être utilisée pour optimiser les
performances, mais cela doit être surveillé.

7|Page
2 Base de données relationnelle

Le modèle de base de données relationnelle a été présenté pour la première fois en 1970 par
Edgar F. Codd au sein de l'entreprise de logiciels IBM. Aujourd'hui encore, les bases de données
relationnelles sont un standard établi et très largement répandu.
Qu'est-ce qu'une base de données relationnelle (BDR) ?
Une base de données relationnelle est un type de base de données qui permet de stocker et
d'accéder à des points de données reliés entre eux. Les bases de données relationnelles sont
basées sur le modèle relationnel, une manière intuitive et simple de représenter les données dans
des tables.
Une base de données relationnelle organise les données en différentes lignes et colonnes en
associant une clé spécifique à chaque ligne. Presque tous les systèmes de bases de données
relationnelles utilisent le langage de requête structuré (SQL) et sont remarquablement complexes.
Dans une base de données relationnelle, chaque ligne de la table est un enregistrement de
données doté d'un identifiant unique appelé clé. Les colonnes de la table contiennent les attributs
des données et chaque enregistrement possède généralement une valeur pour chaque attribut, ce
qui facilite l'établissement de relations entre les points de données.
Les données sont stockées dans plusieurs tableaux, eux-mêmes composés de colonnes et de
lignes. Un autre terme pour ligne est tuple. Les colonnes du tableau sont appelées attributs.
Chaque attribut du tableau peut prendre une plage de valeurs définie. Dans chaque tuple,
certaines valeurs d'attribut sont stockées en fonction du nombre de colonnes. Un schéma dit
relationnel détermine le nombre et le type d'attributs d'une table. Chaque enregistrement d'une
base de données relationnelle doit être clairement identifiable. Une ou plusieurs clés sont définies
à cet effet. Les clés ne doivent pas changer dans une base de données cohérente et se rapportent
toujours à des enregistrements.
2.1 Concept et propriétés des bases de données relationnelles
L'un des principes de base des bases de données relationnelles est qu'elles doivent toujours être
cohérentes et sans redondance. Pour cela, il est nécessaire d'identifier clairement chaque
enregistrement et de ne saisir et stocker qu'une seule fois toutes les données dans la base de
données. Cela est réalisé en répartissant les enregistrements dans différentes tables et en les
reliant entre eux. Il en résulte ce que l'on appelle des formes normales de données. Ce processus
s'appelle la normalisation. On entend par là la répartition des attributs dans plusieurs tables
(relations) en respectant les règles de normalisation. Lorsqu'une base de données relationnelle est
normalisée, elle ne contient plus de redondances évitables et est cohérente. En résumé, les
objectifs de la normalisation des bases de données sont :
 Structuration univoque de la base de données,
 Éliminer les redondances et
 éviter les incohérences.
8|Page
Les clés jouent un rôle important dans l'unicité d'une base de données relationnelle. Les clés
primaires et les clés étrangères sont utilisées à cet effet.
2.1.1 Le concept « ACID »
Atomicité, Cohérence, Isolation, Durabilité pour maintenir la fiabilité des transactions.
 Atomicité - achèvement de la transaction dans son ensemble ou pas du tout.
 Cohérence - garantit l'état stable de la base de données avec ou sans modifications.
 Isolation - les transactions multiples n'interfèrent pas entre elles.
 Durabilité - effet permanent des modifications sur la base de données.

2.1.2 Le concept de normalisation


Un processus de conception de bases de données efficaces
 1NF - Diviser la table en séparant les attributs répétitifs et non répétitifs. Tous les
domaines sont simples et tous les éléments sont atomiques.

Exemple
a) Schéma relation : Cours suivis par les étudiants

Id Nom_d’étudiant No_matricule Filière Matières

b) Un étudiant avec plusieurs matières


Noter que la colonne « Matière » contient plusieurs valeurs, ce qui enfreint la règle de
l’atomicité.

Id Nom_d’étudiant No_matricule Filière Matières


1 Jacques Melon 2312 Génie {Math, architecture logicielle, POM,
logiciel Statistique}

La forme normalisée (1NF) des entrées au b) donne ce qui suit :

Id Nom_d’étudiant No_matricule Filière Matières


1 Jacques Melon 2312 Génie logiciel Math
1 Jacques Melon 2312 Génie logiciel Architecture logicielle
1 Jacques Melon 2312 Génie logiciel POM
1 Jacques Melon 2312 Génie logiciel Statistique

9|Page
 2NF - Suppression des dépendances partielles entre les attributs. Aucun attribut ne doit
être fonctionnellement dépendant d'une partie d'une clé primaire agrégée.

a) Schéma relation : Evaluation étudiant


L’attribut « nom_étudiant » est dépendant des 2 clés primaires « Id_étudiant » et « id_matière »
De même « Titre de la matière » et « Lieu d’évaluation » sont dépendants des clés primaires

Id_étudiant Id_matière Duré de Nom_étudiant Titre de la Lieu


l’évaluation matière d’évaluation

b) Normalisation 2NF
La séparation du schéma suivant la forme normale 2NF donne :

Id_étudiant Id_matière Duré de l’évaluation

Id_étudiant Nom_étudiant

Id_matière Titre de la matière Lieu d’évaluation

 3NF - Suppression de la dépendance transitive entre les attributs d'une table. Aucun
attribut primaire n'est fonctionnellement dépendant de l'attribut non primaire.

Exercice
Transformez le schéma suivant la règle 3NF
Schéma : Filière d’un étudiant

Nométudiant NoMatricule DateNaissance Adresse Idfilière Nomfilère IdMgrFilière

2.1.3 Le concept de scalabilité


La capacité de la base de données à traiter des quantités croissantes de données. La mise à
l'échelle verticale permet d'améliorer la capacité existante du serveur de base de données. La
plupart des bases de données, SQL, prennent en charge la mise à l'échelle verticale. Elles ne
peuvent cependant que monter en charge et non descendre en charge.

10 | P a g e
2.1.4 Le concept de domaines
Un domaine est un ensemble nommé de valeurs scalaires, toutes du même type. Ils permettent
d'imposer des contraintes sémantiques. S'appuient sur des fonctionnalités traditionnelles et
utilisent un schéma de données défini. Supporte la fonctionnalité JOIN, conçue pour l'intégrité
des données.
2.2 Développement d’une base de données SQL
La plupart des systèmes de base de données modernes se composent de trois couches ou niveaux.
Il s'agit des niveaux : conceptuel, logique et physique. Grâce à cette séparation, il est possible de
modifier les données de chaque couche indépendamment les unes des autres. Par exemple,
l'introduction de droits d'utilisateur, sur certains objets de la base de données, n'a aucun effet sur
le stockage physique des données.
2.2.1 Modélisation des données
Qu'est-ce que la modélisation des données ?
La modélisation des données (data modelling) est le processus de création d'un modèle de
données pour les données à stocker dans une base de données. Ce modèle de données est une
représentation conceptuelle des objets de données, des associations entre les différents objets de
données et des règles.
La modélisation des données contribue à la représentation visuelle des données et permet
d'appliquer les règles commerciales, les réglementations et les politiques gouvernementales aux
données. Les modèles de données assurent la cohérence des conventions de nommage, des
valeurs par défaut, de la sémantique, de la sécurité tout en garantissant la qualité des données.
Les deux types de techniques de modélisation des données sont
1. Modèle de relation entre entités (E-R)
2. UML (langage de modélisation unifié)
Les principaux objectifs de l'utilisation d'un modèle de données sont les suivants :
 S'assurer que tous les objets de données requis par la base de données sont représentés
avec précision. L'omission de données entraînera la création de rapports erronés et
produira des résultats incorrects.
 Un modèle de données aide à concevoir la base de données aux niveaux conceptuel,
physique et logique.
 La structure du modèle de données permet de définir les tables relationnelles, les clés
primaires et étrangères et les procédures stockées.
 Il fournit une image claire des données de base et peut être utilisé par les développeurs de
bases de données pour créer une base de données physique.
 Il est également utile pour identifier les données manquantes et redondantes.

11 | P a g e
 Bien que la création initiale d'un modèle de données demande beaucoup de travail et de
temps, à long terme, elle rend la mise à niveau et la maintenance de votre infrastructure
informatique moins coûteuse et plus rapide.
Types de modèles de données
Types de modèles de données : Il existe principalement trois types différents de modèles de
données : les modèles de données conceptuels, les modèles de données logiques et les modèles de
données physiques, et chacun d'entre eux a un objectif spécifique. Les modèles de données sont
utilisés pour représenter les données et la manière dont elles sont stockées dans la base de
données et pour définir la relation entre les éléments de données.
1. Modèle de données conceptuel : Ce modèle de données définit ce que contient le
système. Ce modèle est généralement créé par les parties prenantes de l'entreprise et les
architectes de données. L'objectif est d'organiser, de délimiter et de définir les concepts et
les règles de l'entreprise. Il est une vue organisée des concepts de la base de données et de
leurs relations.
Les 3 principes de base du modèle conceptuel de données sont les suivants
 Entité : Une chose du monde réel
 Attribut : Caractéristiques ou propriétés d'une entité
 Relation : Dépendance ou association entre deux entités
Exemple

Figure 2: Modèle conceptionnel de données

2. Modèle logique des données : Définit COMMENT le système doit être implémenté
indépendamment du SGBD. Ce modèle est généralement créé par des architectes de
données et des analystes commerciaux. L'objectif est de développer une carte technique
des règles et des structures de données.
Il est utilisé pour définir la structure des éléments de données et pour établir des relations
entre eux. Le modèle logique de données ajoute des informations supplémentaires aux
éléments du modèle conceptuel de données. L'avantage de l'utilisation d'un modèle
logique de données est de fournir une base pour constituer le socle du modèle physique.
Cependant, la structure de modélisation reste générique.
12 | P a g e
Figure 3: Modèle logique de données

3. Modèle physique des données : Ce modèle de données décrit COMMENT le système sera
implémenté en utilisant un SGBD spécifique. Ce modèle est généralement créé par les
DBA et les développeurs. L'objectif est la mise en œuvre effective de la base de données.

Figure 4: Modèle physique des données

2.3 Qu’est-ce que le SQL


Le système de gestion de base de données relationnelles (SGBDR) associé aux bases de données
relationnelles s'appelle SGBDR (Système de gestion de base de données relationnelle). Pour
manipuler les données dans les bases de données relationnelles ou effectuer des requêtes, on
utilise le langage de base de données SQL (Structured Query Language). La base théorique du
SQL est l'algèbre relationnelle. Outre l'algèbre relationnelle, les éléments tables, attributs et
relations servent de base aux modèles de bases de données relationnelles. Les bases de données
relationnelles sont très faciles à créer et peuvent être utilisées de manière flexible.
2.3.1 Les types des données SQL

13 | P a g e
2.3.2 Les opérateurs SQL
Les opérateurs dans une requête SQL permettent d’évaluer la requête. Leur précédence détermine
la séquence dans laquelle requête sera évaluée. Le langage de requête structuré évalue d'abord les
opérateurs qui ont une priorité élevée.
Les opérateurs SQL sont :

Symboles des opérateurs Nom de l’opérateur


** Opérateur d'exponentiation

+, - Opérateur d'identité, Opérateur de négation


*, / Opérateur de multiplication, opérateur de division
+, -, || Opérateur d'addition (plus), opérateur de soustraction (moins),
opérateur de concaténation de chaînes de caractères
=, !=, <, >, <=, >=, IS NULL, Opérateurs de comparaison
LIKE, BETWEEN, IN
NOT Opérateur de négation logique
&& ou AND Opérateur de conjonction
OR Opérateur d'inclusion

2.3.3 Les opérations et syntaxe SQL


Le langage SQL est utilisé comme langage de base de données pour définir la structure des
données et pour créer, insérer, modifier, supprimer et interroger les données d'une base de
données relationnelle. Le langage possède une syntaxe relativement simple avec peu de
commandes de base. On parle des opérations de CRUD (Create, Read, Update, Delete).

Opérations SQL Signification


C (Create) Créer, insérer
R (Read) Interroger, lire
CRUD

U (update) Modifier, update


D (Delete) Supprimer (données)
DROP Supprimer (base de données, table)
ALTER Changer de nom (SQL)
COPY Copier une table vers une autre en utilisant l’opération
Select into … from….
TEMP Créer des tables temporaires pendant l’exécution
RENAME Changer le nom (MySQL)
TRUNCATE Supprimer toutes les lignes d’une table (similaire a delete)
Autres

JOIN Jonction d’au moins 2 tables


View Créer une vue d’une ou plusieurs tables
14 | P a g e
Presque toutes les bases de données relationnelles supportent l'utilisation de SQL. La syntaxe et
l'étendue du support peuvent toutefois varier d'une base de données à l'autre. Les commandes du
langage SQL sont normalisées et standardisées par différents organismes. En principe, toutes les
commandes SQL peuvent être réparties en trois catégories différentes. Ces trois catégories sont
les suivantes :
 les commandes SQL pour la modification, l'insertion, la suppression et l'interrogation de
données (DML)
 Commandes SQL pour la définition de schémas de base de données (DDL)
 Commandes SQL pour la gestion des droits et le contrôle des transactions (DCL)

Opérations CRUD Syntaxe SQL


Create table (créer une CREATE TABLE Nom_de_table (Nom_de_column1 Type de
table) donnée, …, Nom_de_columnN Type de donnéeN);
Insert (Insertion d’élément INSERT INTO Nom_de_table (Nom_de_column1, ...., Nom_d
dans une table) e_columnN) VALUES (Valeur1, ....,
ValeurN), ....., (Valeur1, ...., ValeurN);
Read (Select) SELECT *FROM Nom_de_table ;
SELECT *FROM Nom_de_table WHERE CONDITION;
Update (Modification) UPDATE Nom_de_table SET Nom_de_column = Valeur WH
ERE CONDITION;
Delete (suppression) DELETE FROM Nom_de_table ;
DELETE FROM Nom_de_table WHERE CONDITION

Autre opérations Syntaxe SQL


Drop Drop table « nom de la table »
Drop database « nom de la base »
Rename RENAME Table Nom_actuel TO nouveau _nom;
RENAME DATABASE Nom_actuel TO nouveau_nom;
Truncate TRUNCATE TABLE nom_table;
Temp Table locale temporaire : utiliser # devant le nom de la table
Create table # local temp table (
Etudiant_nom varchar (20) ;
Etudiant_adress varchar (35) ;
Etudiant_matricule int
)
Table globale temporaire : utiliser # # devant le nom de la table
Create table ## new global temp table (

15 | P a g e
Etudiant_nom varchar (20) ;
Etudiant_adress varchar (35) ;
Etudiant_matricule int
)
La table temporaire globale ne peut pas être supprimée si un
utilisateur y es connecté.
Alter ALTER DATABASE ancienne_base MODIFY NAME = nouvell
e _base;
Copy SELECT * INTO table_destination FROM table_source;
JOIN/ JOIN INNER SELECT attribute1, attribut2, attributn FROM table t1, table t2
Outer Join open link WHERE t1.attribut_i = t2.attribut_i;
Left Join
Right Join
Full Join
Cross Join
View CREATE VIEW nom_View AS SELECT attribute1, attribut2,
attributn FROM nom_Table WHERE condition;

Les clauses dans


une requête
WHERE Cette clause est utilisée pour limitée le nombre de données ou lignes
concernées. Where pose la condition que les données doivent remplir.
AND AND est la clause qui permet de réunir deux conditions.
OR OR est la clause qui permet de choisir entre au moins deux conditions.
WITH La clause SQL WITH est utilisée pour fournir un bloc de sous-requêtes
qui peut être référencé à plusieurs endroits dans la requête SQL principale.
WITH <nom_alias> AS (sql_sub-query_statement)
SELECT attribut1, attribut2, …, attributn
FROM <nom_alias> [nom_table] [WHERE <join_condition>]
AS AS permet d’attribuer temporairement un nouveau nom à colonne de
d’une table.
SELECT Colonne1 AS Nouveau_Colonne1, Colonne1
As Nouveau_Colonne1 FROM nom_Table;
HAVING Cf. [Link]
HAVING est utilisé pour combler les limites de WHERE. Il permet
d’agréger

2.3.4 Les mots clés dans une requête


 Requêtes avec SELECT

16 | P a g e
Mots clés Définition
SQL SELECT DISTINCT Permet d’interroger des données unique ou distinctes. Pas de
différence entre les 2 mots clés.
SQL SELECT UNIQUE
SQL SELECT COUNT Permet de compter le nombre de données de la table
SQL SELECT TOP N’est pas utilisable pour tous SGBDR.
Permet de récupérer un nombre x des premières données de la
table
SQL SELECT FIRST Permet de récupérer la première donnée de la colonne choisie
SQL SELECT LAST C’est le contraire de First.
SQL SELECT RANDOM Permet de récupérer une valeur de manière aléatoire
SQL SELECT IN C’est un opérateur, qui permet d’éviter d’utiliser la clause OR.
IN permet de choisir dans liste.
SELECT * FROM matière
WHERE matière IN (matiere, matiere2 ,.., matiereN)
SQL SELECT Multiple Permet de récupérer des données de plusieurs tables.
SQL SELECT DATE Permet de récupérer une date
SQL SELECT SUM Permet de récupérer la somme des valeurs
SQL SELECT NULL Permet de récupérer les value Null

Ordonner le retour d’une Définition


requête avec « Order By »
ORDER BY Clause
ORDER BY ASC
ORDER BY DESC
ORDER BY RANDOM
ORDER BY LIMIT
ORDER BY Multiple Cols

2.4 Limites des bases de données relationnelles


Une base de données relationnelle est utilisée pour le stockage et le traitement de données par des
systèmes informatiques. Elle est basée sur le modèle de base de données relationnelle et stocke
les données dans différentes tables qui sont en relation les unes avec les autres.
Dans le contexte des applications Big Data et de la nécessité de stocker et de traiter des volumes
de données particulièrement importants, les bases de données relationnelles ont perdu beaucoup
de leur importance en raison de certaines restrictions.
Les bases de données relationnelles ne peuvent pas évoluer à volonté et présentent des faiblesses
lorsqu'il s'agit de stocker des volumes de données particulièrement importants et de les traiter ou
de les interroger rapidement. De plus, il n'est guère possible de stocker dans ces bases de données
des données non structurées telles que des images et des documents ou des données non
représentables de manière relationnelle. Pour ces raisons, les bases de données relationnelles sont
plutôt rares dans l'environnement Big Data. Si les données n'ont pas de structure relationnelle et
17 | P a g e
qu'il existe d'énormes quantités de données, on utilise des bases de données dites NoSQL (bases
de données non relationnelles). Mais s'il s'agit de représenter des structures fixes et de relier
clairement des données entre elles, les bases de données relationnelles restent le choix le plus
approprié. L'avantage des bases de données NoSQL réside dans leur vitesse de traitement élevée
et leur capacité à stocker presque tous les types de données.
2.5 Exercice/Travaux pratique
Manuel de MySQL : [Link]
2.5.1 Installation de l’environnement
1. Installer MySQL : [Link]
2.5.2 Travaux dirigés
1. Opération CRUD
a. Créer une base de données
b. Supprimer la base
c. Renommer la base
d. Créer une base temporaire locale et globale
e. Supprimer des données d’une tables
f. Supprimer toutes les lignes d’une table
2. Utiliser les opérateurs ci-dessus dans les opérations SQL (requêtes) :
a. Addition : Interroger/lire la somme de trois nombres
b. Addition : Ajouter des bonus aux moyennes des étudiants et le stocker dans un nouvel
attribut
c. Soustraction : répéter le point a)
d. Soustraction : diminuer les notes des élèves de 5 points
e. Multiplication : Interroger les notes coefficientés (coefficient = 5) et stocker les dans
un nouvel attribut
f. Comparaison : Interroger toutes les moyennes supérieures à 12
g. Comparaison : Interroger les noms des élèves dont la moyenne est inférieure à 10
2.5.3 Exercice
Une petite entreprise crée deux tableaux pour traiter les commandes de ses produits. Le premier
tableau est destiné aux informations sur les clients. Chaque enregistrement contient le nom,
l'adresse, les informations d'expédition et de facturation, le numéro de téléphone et d'autres
informations de contact d'un client. Chaque information (chaque attribut) se trouve dans une
colonne séparée et la base de données attribue à chaque ligne un identifiant unique (une clé).
Dans la deuxième table - une table de commandes de clients - chaque enregistrement comprend
l'ID du client qui a passé la commande, le produit commandé, la quantité, la taille et la couleur
sélectionnées, etc. Le nom ou les coordonnées du client ne sont toutefois pas inclus.
Ces deux tableaux n'ont qu'une seule chose en commun : la colonne ID (la clé). Cette colonne
commune permet toutefois à la base de données relationnelle d'établir une relation entre les deux
18 | P a g e
tables. Ainsi, lorsque l'application de gestion des commandes de l'entreprise envoie une
commande à la base de données, celle-ci peut passer à la table des commandes clients, récupérer
les informations correctes sur la commande de produits et utiliser l'ID client de cette table pour
rechercher les informations de facturation et d'expédition du client dans la table des informations
clients. Le produit correspondant peut alors être retiré du stock, la commande est envoyée au
client en temps voulu et l'entreprise est payée.
Questions
1. Créez les tableaux et remplissez les tableaux avec les données suivant : nom et
coordonnées de dix (10) clients et les produits comme boissons, chaussures, fournitures
scolaires, vivres etc. Utilisez les différents types de modèles de données.
2. Ecrivez les requêtes SQL pour lister les clients ayant commandé des chaussures et des
boissons.

19 | P a g e
3 Base de données NoSQL

3.1 Un bref historique des bases de données NoSQL


Les années 1990 ont vu l’émergence des SGBDR d'Oracle, Sybase, IBM DB2, Microsoft SQL
Server et d'autres dans les centres de données de presque toutes les entreprises.
Avec la première vague d'applications Web, des systèmes de gestion de bases de données
relationnelles (SGBDR) open source tels que MySQL et PostgreSQL sont apparus et sont
devenus un standard dans de nombreuses entreprises qui souhaitaient des alternatives aux bases
de données propriétaires coûteuses vendues par des fournisseurs tels qu'Oracle.
Cependant, les choses n'ont pas tardé à changer et les exigences en matière d'applications et de
centres de données des principaux acteurs de l'Internet comme Amazon, Facebook et Google ont
commencé à dépasser les SGBDR pour certains types d'applications. La nécessité de disposer de
modèles de données plus flexibles, compatibles avec les méthodologies de développement agiles,
et les exigences de consommation de grandes quantités de données (Big data) rapides provenant
de millions d'utilisateurs d'applications en cloud dans le monde entier, tout en maintenant des
performances et un temps de fonctionnement extrêmes, ont nécessité l'introduction d'une nouvelle
plate-forme de gestion des données, appelé NoSQL.
3.2 Avantages à utiliser NoSQL
Aujourd'hui, alors que chaque entreprise utilise des applications modernes en cloud, les
problèmes de données rencontrés à l'origine par les géants de l'Internet sont devenus des
problèmes communs à toutes les entreprises. Il n’est plus alors question de savoir si l’on
déplorerait et gérerait des systèmes de bases de données NoSQL, mais quand et quelle quantité de
données de l’entreprise sera finalement stockée sur des plateformes NoSQL.
Il existe de nombreuses bases de données "Not Only SQL" (NoSQL) avec différentes
caractéristiques et avantages. NoSQL diffère généralement d'un SGBDR traditionnel de la
manière suivante :
 Modèle de données : Un SGBDR traite principalement des données structurées dans un
modèle de données rigide. Une base de données NoSQL fournit généralement un modèle
de données plus souple et plus fluide et peut être plus apte à servir les méthodologies de
développement agiles utilisées pour les applications cloud modernes. Les modèles de
données NoSQL traitent aussi les données structurées.
 Architecture : Une base de données SGBDR sont normalement basées sur une
architecture centralisée, évolutive et maître-esclave. La plupart des bases de données
NoSQL sont aussi basée sur une architecture maître-esclave (par exemple MongoDB,
HBase).
 Modèle de distribution des données : Les SGBDR (architecture maître-esclave)
distribuent les données à des machines esclaves sous forme de copies des données

20 | P a g e
originales. DataStax Enterprise (DES), une base de données NoSQL très performant,
distribue les données de manière égale à tous les nœuds composant un cluster de base de
données et permet à la fois la lecture et l'écriture sur toutes les machines.
 Modèle de disponibilité : Un SGBDR utilise généralement un modèle de basculement où
un maître bascule sur une machine esclave. DSE est la technologie NoSQL avec une
architecture sans maître et fournit une redondance à la fois des données et des fonctions
sur chaque nœud, de sorte qu'il offre une disponibilité continue sans temps d'arrêt, par
opposition à une simple haute disponibilité comme le fait un SGBDR.
 Modèle d'évolution et de performance - un SGBDR évolue verticalement en ajoutant
des unités centrales, de la mémoire vive, etc. supplémentaires à une machine centralisée,
tandis qu'une base de données NoSQL comme DSE évolue horizontalement en ajoutant
des nœuds supplémentaires qui offrent une évolution et une performance accrues de
manière linéaire.
Note : Lire [Link]
3.3 Concept des bases de données NoSQL
 Absence de schéma
Contrairement aux bases de données relationnelles, les bases de données NoSQL manque de
schéma, mais traitent des données structurées, semi-structurées et non structurées. Il n'est pas
nécessaire de définir un schéma spécifique avant de saisir des données dans les bases de données
NoSQL. Il est possible d'ajouter de nouveaux champs et de mettre en œuvre et d'extraire des
données imbriquées. Les développeurs peuvent utiliser le type de données et les options
d'interrogation requises pour l'application spécifique, ce qui accélère le développement. Le temps
de développement est considérablement réduit car il n'y a pas de requêtes SQL complexes ou
d'instructions de jointure.
 Équilibrage automatique
Répartition automatique des données entre plusieurs serveurs, sans aucune assistance de la part
des applications.
 Mise en cache intégrée
La base de données NoSQL met en cache les données dans la mémoire du système pour
augmenter le débit de données et accroître les performances à l'avance. Grande évolutivité,
fiabilité avec un modèle de données simple et un langage de requête simple.
 Le principe de BASE pour les transactions
La BASE est à NoSql ce que ACID est à SQL. Il permet aux bases de données NoSQL d'assurer
leur fiabilité malgré la perte de cohérence. Le principe BASE signifie Basically Available, Soft-
state, Eventually consistent. Eventuellement cohérent - Le système peut devenir éventuellement
cohérent, les informations sont mises à jour si nécessaire.

21 | P a g e
Principe BASE
 Basiquement disponible (Basically Available) : Plutôt que d'imposer une cohérence
immédiate, les bases de données NoSQL modélisées par BASE assureront la disponibilité
des données en les répartissant et en les répliquant sur les nœuds du cluster de base de
données.
 Flexibilité (Soft-state) : En raison de l'absence de cohérence immédiate, les valeurs des
données peuvent changer au fil du temps. Le modèle BASE rompt avec le concept d'une
base de données qui assure sa propre cohérence, déléguant cette responsabilité aux
développeurs.
 Cohérence finale (Eventually consistent) : Le fait que BASE n'impose pas une
cohérence immédiate ne signifie pas qu'elle ne l'atteindra jamais. Cependant, jusqu'à ce
qu'il y parvienne, la lecture des données est toujours possible (même si elle ne reflète pas
la réalité).
3.4 Familles de bases de données NoSQL et cas d’utilisation
Il existe de différentes familles de bases de données NoSQL. les familles sont : Clé/Valeur,
colonnes, documents, graphes. Chaque famille de base de données NoSQL a un objetif précis
dans le traitement des données.
3.4.1 Clé-Valeur
Les bases de données NoSQL de la famille « Clé-Valeur » se comportent comme des tables de
hachage (hash table) sur le réseau. Le but poursuivi ici est la simplicité et la faible complexité des
opérations. Pour trouver des valeurs, tout comme dans les tables de hachage, il suffit de connaitre
les clés de ces valeurs.

Figure 5: Stockage Clé-Valeur

Seules les opérations de CRUD (create, Read, Update, Delete) sont utilisées ici et de manière
similaire aux opérations sur les tables de hachage :
 Create (key,value) : Créer l’élément en définissant la clé et la valeur
 Read (key) : Lire ou interroger la valeur par l’entremise de sa clé
 Update (key,value) : Changer la valeur par l’entremise de la clé
 Delete (key) : supprimer la valeur connaissant la clé.
22 | P a g e
Exemples de bases de données commerciales de cette famille

 Redis (VMWare)
 Memcached (Danga
 Azure Cosmos DB (Microsoft)
 SimpleDB (Amazon)

3.4.2 Colonnes
Contrairement à l’approche de lignes (représentant des attributs) utilisées dans les bases de
données relationnelles, certaines familles de bases de données NoSQL utilisent l’approche
colonne (voir figure) qui se focalise sur chaque attribut. Ceci permet de faire des traitements
(requêtes) focalisés sur un attribut précis ou plusieurs sans traiter les informations inutiles pour la
requête en question.
Cette manière de stockage est très prisé pour de gros calculs analytiques.
 Stockage ligne orienté (SQL)
Table 1: Stockage ligne

Id Profession Adresse Téléphone


Fati étudiante 12, Rue St. Louis, Dakar Sénégal +221 1233498
Jean Commerçant 5, Avenue de l’indépendance, +224 68789123
Conakry, Guinée
Aboubacar Fonctionnaire 9, Avenue Le roi, Abidjan, Cote +225 09876653
d’ivoire

 Stockage colonne orienté (NoSQL)


Table 2: Stockage colonne

Id Profession
Fati étudiante
Jean Commerçant
Aboubaca Fonctionnaire
r

Id Téléphone
Fati +221
1233498
Jean +224
68789123
Aboubaca +225

23 | P a g e
r 09876653

Id Adresse
Fati 12, Rue St. Louis, Dakar
Jean 5, Avenue de
l’indépendance, Conakry
Aboubacar 9, Avenue Le roi, Abidjan

Exemples de bases de données commerciales de cette famille

 BigTable (Google)
 HBase (Apache, Hadoop)
 Spark SQL (Apache)
 Elasticsearch (elastic)

3.4.3 Documents
Le stockage document ressemble au stockage des bases de données classiques. Il permet de
stocker et de manipuler des documents. Il utilise le principe de clé-valeur, et les valeurs sont
structurées formant un document.

Figure 6: Stockage document


Exemples de bases de données commerciales de cette famille

 MongoDB (MongoDB)
 CouchBase (Apache, Hadoop)
 DynamoDB (Amazon)
 Cassandra (Facebook -> Apache)

24 | P a g e
3.4.4 Graphes
Une base de données graphique est le magasin de données le plus complexe, orienté vers le
stockage efficace des relations entre les entités. Les bases de données graphiques sont la solution
lorsque les données sont fortement interconnectées, comme les réseaux sociaux, les citations
d'articles scientifiques ou les grappes d'immobilisations. Les cas d'utilisation comprennent la
détection des fraudes, les réseaux sociaux et les graphes de connaissances.

Figure 7: Stockage orienté graphe


Exemples de bases de données commerciales de cette famille

 Neo4j [à lire : [Link]


 OrientDB (Apache)
 FlockDB (Twitter)

3.5 Les opérations CRUD avec NoSQL (Avec MongoDB)


Nous allons nous concentrer sur les syntaxes de MongoDB pour manipuler des documents.

 Create

Pour créer ou insérer un nouveau document dans une base de données NoSQL MoongoDB on
utilise :
1. [Link]() : créer un seul document, si le document n’existe pas sinon
insérer les nouveau éléments

25 | P a g e
Formule
[Link] (
{<NomDeChamp> 1 : <Valeur>, ……, <NomDeChamp n> : <Valeur>}
)

Exemple
Créer un nouvel étudiant dans la collection « Membre de l’université » avec son nom, prénoms,
adresse, âge, filière, etc.

[Link]é.InsertOne (
{nom : « Touré“, prénom : « Abou“, âge : « 31“, filière : « Tech » adresse : {rue : « 2, rue du
lycee », ville : « Dakar », pays : « Sénégal“}}
)

2. [Link]() : Créer plusieurs documents

Formule
[Link] (
{<NomDeChamp 1> : <Valeur1>, ……, <NomDeChamp n> : < ValeurN>},
{<NomDeChamp 1> : <Valeur1>, ……, <NomDeChamp n>: <ValeurN>},
{<NomDeChamp 1> : <Valeur1>, ……, <NomDeChamp n> : < ValeurN>},
{<NomDeChamp 1> : <Valeur1>, ……, <NomDeChamp n>: < ValeurN>}
)

Exemple
Créer ou insérer de nouveaux étudiants dans la collection « Membre de l’université » avec leurs
noms, prénoms, adresses, âges, filières, etc.

[Link]é.InsertMany ([
{nom : « Karl“, prénom : « Luk“, âge : « 19“, filière : « Agro » adresse : {rue : « Rue 3 », ville :
« Dakar », pays : « Sénégal“}},
{nom : « Sam“, prénom : « Jackie“, âge : « 18“, filière : « Bio » adresse : {rue : « 3, rue de
l’aeroport », ville : « Dakar », pays : « Sénégal“}},
{nom : « Kola“, prénom : « Konnan“, âge : « 19“, filière : « Bio-Info » adresse : {rue : « 3, Rue
Boigny », ville : « Abidjan », pays : « Cote d’Ivoire“}},
{nom : « Touré“, prénom : « Amina“, âge : « 20“, filière : « Math » adresse : {rue : « 1, Avenue
Sékou-Touré », ville : « Cotonou », pays : « Benin“}}
])

 Read

[Link] () : récupérer des documents ou données


26 | P a g e
Toute requête est composée de :
1. Champs (attribut) à extraire ou lire
2. Table d’où les données seront
3. Les expressions pour filtrer les lignes des tables
4. Groupby (regrouper en) – Le champ sur lequel le groupage sera effectué
5. Les fonctions d’agrégation à utiliser aux colonnes des champs
6. Orderby (ordonner selon un critère donné) – Le champ par rapport auquel la réponse
de requête sera effectuée
7. Limit (la limite) la taille de la réponse (nombre de données retournées)

Formule
[Link] (
{<champ> : {Condition}}, à Condition de la requête
{<champ> : <1/0>} à les champs à afficher. 1 ou TRUE pour dire « oui afficher », 0 ou
FALSE veut dire « exclure de l’affichage »
)

Les opérateurs de comparaison (Condition) sont :

Opérateurs Définitions
$gt Recherche les valeurs qui sont supérieures à une valeur spécifiée.
$gte Recherche les valeurs supérieures ou égales à une valeur spécifiée.
$in Recherche l’une des valeurs spécifiées dans un tableau.
$lt Recherche les valeurs qui sont inférieures à une valeur spécifiée.
$lte Correspond aux valeurs qui sont inférieures ou égales à une valeur spécifiée.
$ne Correspond à toutes les valeurs qui ne sont pas égales à une valeur spécifiée.
$nin Ne correspond à aucune des valeurs spécifiées dans un tableau.
$eq Egal à

Les opérateurs logiques sont :

Opérateurs Définitions
$and Joindre les clauses de la requête avec un AND logique retourne tous les
documents qui correspondent aux conditions des deux clauses.
$not Inverse l’effet d’une expression de requête et renvoie les documents qui ne
correspondent pas à l’expression de requête.
$nor Joindre les clauses d’une requête par un NOR logique renvoie tous les
documents qui ne correspondent pas aux deux clauses.
$or Joindre les clauses d’une requête avec un OU logique renvoie tous les
documents qui correspondent aux conditions de l’une ou l’autre clause

27 | P a g e
Les projections
Voir : https ://[Link]/docs/manual/reference/method/[Link]/#mongodb-
[Link]

Exemple
Trouver tous les étudiants âgés de moins de 20 ans et afficher nom et prénoms

[Link]é.find (
{âge : {$lt :20}}, {nom : 1, prénoms :1}
)

 Update

1. [Link]()
2. [Link]()
3. [Link]()
4. Limit (la limite) la taille de la réponse (nombre de données retournées)

Formule
[Link] (
{<champ> : {Condition}}, à Condition de la requête
{Action : {<nomDuchamp>: <nouvelleValeur>} à les champ à modifier
)

Exemple
Change l’âge de l’étudiant dont le nom est Karl. Son âge actuel est 21 ans.

[Link]é.Update (
{nom : {$eq : « Karl »}}, {$set : {âge : 21}}
)

 Delete

1. [Link]()
2. [Link]()

Formule
[Link] (
{ <champ1> : <valeur1>,
<champ2> : {<opérateur> : <valeur> },
...
}
28 | P a g e
Exemples
1. Supprimer l’étudiant dont le nom est Karl.

[Link] (
{nom : " Karl "}
)

2. Supprimer tous les étudiants karl et Kola

[Link](
{nom : " Karl ",
nom : " Kola "}
)
3. Supprimer tous les étudiants âgés moins de 20 ans

[Link] (
« âge » : {§lt :20}}
)

3.6 Exercices et travaux dirigés et pratiques


1. Installer MongoDB
 [Link]
 [Link]
2. Exercer les différentes méthodes CRUD
 [Link]
1. Créer la base
2. Ajouter des documents
3. manipulation
3. Note sur JSON
 [Link]
 [Link]

29 | P a g e
4 Base de données NewSQL

Le NewSQL est un système de base de données relationnelle moderne qui comble le fossé entre
SQL et NoSQL. Les bases de données NewSQL visent à évoluer et à rester cohérentes.
Les bases de données NoSQL évoluent tandis que les bases de données SQL standard sont
cohérentes. NewSQL tente de produire les deux caractéristiques et de trouver un terrain d'entente.
En conséquence, ce type de base de données résout les problèmes dans les domaines du big data.
4.1 Qu’est-ce que NewSQL
NewSQL est un système de base de données unique qui combine la conformité ACID (voir
2.1.1) et la mise à l'échelle horizontale. Ce système de base de données s'efforce de conserver le
meilleur des deux mondes. Les transactions OLTP (Online Transaction Processing) et les hautes
performances de NoSQL se combinent en une seule solution.
Les entreprises attendent une intégrité des données de haute qualité sur de grands volumes de
données. Lorsque l'un ou l'autre devient un problème, l'entreprise choisit de :

 Améliorer le matériel, ou bien


 Créer un logiciel personnalisé pour les bases de données distribuées

Ces deux solutions sont coûteuses, tant sur le plan logiciel que matériel. NewSQL s'efforce
d'améliorer ces défauts en créant des bases de données cohérentes et évolutives.

 Online Transaction Processing (Traitement des transactions en ligne)

Le système OLTP est un système de base de données en ligne qui traite les requêtes quotidiennes
qui impliquent généralement l'insertion, la mise à jour et la suppression de données.
OLTP est une catégorie de traitement de données qui traite de nombreuses transactions effectuées
par de nombreux utilisateurs.
OLTP traite de nombreuses requêtes standard et simples (par exemple, les instructions
d'insertion, de suppression et de mise à jour). Les données sont stockées en 3NF.
4.2 Concept et propriétés
Les bases de données NewSQL sont au fait des bases de données relationnelles qui combinent la
performance des OLTP et l’évolutivité des NoSQL.
Les principales caractéristiques des bases de données NewSQL sont les suivantes :

 Le stockage et le traitement des données en mémoire fournissent des résultats rapides aux
requêtes.
 Le partitionnement divise la base de données en unités. Les requêtes s'exécutent sur de
nombreuses unités et se combinent en un seul résultat.
30 | P a g e
 Les propriétés ACID préservent les caractéristiques des SGBDR (système de gestion des
bases de données relationnelles).
 L'indexation secondaire permet d'accélérer le traitement des requêtes et la recherche
d'informations.
 Haute disponibilité grâce au mécanisme de réplication de la base de données.
 Un mécanisme intégré de récupération en cas de panne assure la tolérance aux pannes et
minimise les temps d'arrêt.

4.3 Les quelques systèmes de bases de données NewSQL


Les bases de données NewSQL plus connues sont : Amazon Aurora, Apache Trafodion, Clustrix,
CockroachDB, Couchbase, Google Spanner, NuoDB, Pivotal GemFire XD, SingleStore était
auparavant connu sous le nom de MemSQL, TIBCO Active Spaces, TiDB, TokuDB,
TransLattice Elastic Database, VoltDB, YugabyteDB, dont les plus importantes bases de données
NewSQL sont :

 VoltDB (Manuel ici : [Link]


 NuoDB (Manuel ici : [Link]

31 | P a g e
5 Différence entre SQL, NoSQL et NewSQL

5.1 SQL, NoSQL ou NewSQL - Quelle est la meilleure solution pour le Big Data ?

Caractéristiques SQL NoSQL NewSQL


Propriété Oui, il suit un modèle Non, il ne suit pas un Oui, car le modèle
relationnelle relationnel dans une large modèle relationnel. Il relationnel est tout
mesure. a été conçu pour être aussi essentiel pour
entièrement différent l'analyse en temps
de cela. réel.
ACID Oui, les propriétés ACID Non (BASE), prévoit Oui, les propriétés
sont fondamentales pour plutôt un support CAP ACID sont prises en
leur application charge.
SQL Support pour SQL Aucun support pour SQL Oui, un support
l'ancien approprié et même des
fonctionnalités
améliorées pour
l'ancien SQL
OLTP Inefficace pour les bases Elle prend en charge Il supporte pleinement
de données OLTP. de telles bases de les bases de données
données, mais elle OLTP et est très
n'est pas la mieux efficace.
adaptée.
Dimensionnement verticale uniquement horizontal verticale + horizontale
Traitement des Peut traiter les requêtes Meilleur que SQL Très efficace dans le
requêtes. simples avec facilité et pour le traitement des traitement des
échoue lorsqu'elles requêtes complexes requêtes complexes et
deviennent complexes par des petites requêtes
nature
Bases de données Non Oui Oui
distribuées

32 | P a g e
6 Littérature

1. Fundamentals of Database systems


Ramez Elmasri and Shamkant B. Navathe ISBN 0-8053-0145-3

2. SQL & NoSQL Databases: Models, Languages, Consistency Options and Architectures
for Big Data Management Paperback – 16 July 2019
Andreas Meier, Michael Kaufmann

3. Next Generation Databases: NoSQL, NewSQL, and Big Data


Released January 2016, Publisher(s): Apress, ISBN: 9781484213292

4. Les bases de données NoSQL et le BigData: Comprendre et mettre en oeuvre


Rudi Bruche, ISBN: 978-2-212-14155-9
Web-references
5. NewSQL — The New Way to Handle Big Data. 2012. Retrieved
Venkatesh, P. (2012). from [Link]
data/

6. NewSQL pour combiner le meilleur de SQL et NoSQL. 2011.


Leblal, S. (2011). [Link]
[Link]

33 | P a g e

Vous aimerez peut-être aussi