SlideShare une entreprise Scribd logo
BASES DE DONNÉES (SGBD)
INTRODUCTION
 L’enregistrement des données et leurs
manipulation est un élément primordiale de
l’informatique moderne.
 Depuis des années le modèle relationnel s’est
imposé comme la référence grâce à son respect
des propriétés ACID (Atomicity, Consistency,
Isolation, Durability).
 Gagner veut dire perdre, c’est exactement ce que
se passe, d’une façon plus simple respecter les
propriétés ACID conduit à des difficultés de
Scaling (Rapidité).
NOTIONS DE BASE
 Base de données :
 « Les années 60 ont été remarquées par l’apparition du
terme database (base de données), à cette époque une base
de données désigne la collection d'informations partagées
par différents utilisateurs d'un système d'informations
militaire » (http://fr.wikipedia.org/).
 Par définition une base de données informatique est un
groupement de données qui ont été rangées sur un support
informatique, et organisées à but de faciliter la
consultation et la modification de leur contenu.
NOTIONS DE BASE
 SGBD:
 Un Système de Gestion de Base de Données (SGBD) « est
un logiciel (ou un ensemble de logiciels) permettant
de manipuler les données d'une base de données.
Manipuler, c'est-à-dire sélectionner et afficher des
informations tirées de cette base, modifier des données, en
ajouter ou en supprimer (ce groupe de quatre opérations
étant souvent appelé "CRUD", pour Create, Read, Update,
Delete) » (http://openclassrooms.com/).
 On trouve plusieurs catégories de SGBD :
 SGBDR (un Système de Gestion de Bases de Données
Relationnelles)
 SGBD Distribuée
 ,,,,,,
SGBDR
 Les données sont enregistrées dans des tableaux à deux
dimensions (lignes et colonnes).
 La manipulation de ces données se fait selon la théorie
mathématique des relations : une théorie qui a été inventée par EDGAR
FRANK CODD dans sa thèse mathématique sur l'algèbre relationnelle en 1970.
 Dans un SGBDR les données sont contenues dans ce qu'on
appelle des relations, qui sont représentées sous forme
de tables.
 Une relation est composée de deux parties, l'en-tête et
le corps. L'en-tête est elle-même composée de plusieurs
attributs, Quant au corps, il s'agit d'un ensemble
de lignes (ou n-uplets) composées d'autant d'éléments qu'il
y a d'attributs dans le corps.
Numéro Prénom Nom Date de naissance
1 Zied KALLEL 28/11/1990
2 Kallel ZIED 11/02/1992
SGBDR
 Pour interagir avec des bases de données relationnelles
nous utilisons le SQL (Structured Query Language),
 SQL est le langage des bases de données le plus répandu, Il
a été créé dans les années 1970 et c'est devenu standard en
1986 (pour la norme ANSI - 1987 en ce qui concerne la
norme ISO). Il est encore régulièrement amélioré.
 Exemple de SGBDR :
SGBD NOSQL
 Le terme NoSQL ne signifie pas Not SQL (pas de SQL)
mais ça signifie Not Only SQL (pas seulement SQL).
 NoSQL désigne un grand nombre de base de données qui
s’opposent au SGBDR.
 Exemple de SGBD NoSQL:
PRINCIPE DE FONCTIONNEMENT D’UN
SGBD
 En réalité un SGBD c’est un système qui permet
l’enregistrement et la suppression des données sur un
support physique (des fichiers de différent extension
exemple (.frm, .MYD, HDFS, …..).
 On peut décomposer un SGBD en 3 sous-systèmes :
 un système qui permet de stocker les données sur un
support physique
 un système interne qui permet de gère l’ordonnancement
des informations
 un système externe qui permet l’interaction avec
l’utilisateur
PRINCIPE DE FONCTIONNEMENT D’UN
SGBD
SGBDR ET NOSQL?
 les 2 types de base de données partagent les mêmes
Objectifs de base : le stockage et la récupération des données ainsi
que la coordination des changements.
 Les bases de données NoSQL troquent certaines des
capacités de relations des bases de données afin d'améliorer
l'évolutivité.
 Les bases de données relationnelles respectent des
propriétés prédéfinies ACID (Atomicity, Consistency,
Isolation, Durability) pour pouvoir garantir la sécurité des
données.
 Les propriétés ACID demandent des prérequis importants,
cela se traduit par une difficulté de scaling.
NOSQL : CONCEPT – ACID
 Atomicité : les requêtes reçues par la base
doivent être complètes sous peine d'être non
traitées
 Cohérence : les requêtes doivent respecter l'état
de validité de la base (respect des contraintes,
des mises à jour...)
 Isolation : les requêtes sont indépendantes les
unes des autres lors d'un envoi simultané
 Durabilité : les modifications de la base doivent
être effectuées en priorité avant toute autre
action pour permettre la sauvegarde de ces
changements
NOSQL : CONCEPT – CAP
 CAP «Consistency, Availability, Partition tolerance », en
français « Cohérence, Disponibilité, Résistance au morcellement ».
 Consistency / Cohérence : La totalité des nœuds
du système voient au même moment exactement
les même données.
 Availability / Disponibilité : les données doivent
être toujours disponibles pour satisfaire les
requêtes.
 Partition tolerance / Résistance au
morcellement : le système doit répondre d’une
manière correcte même si une partie du réseau
tombe en panne, sauf en cas de coupure totale du
réseau.
NOSQL : CONCEPT – CAP
 CP : « Les données sont consistantes entre tous les
nodes et le système possède une tolérance aux
pannes, mais il peut aussi subir des problèmes de
latence ou plus généralement, de disponibilité ».
 AP : « Le système répond de façon performante en
plus d’être tolérant aux pannes. Cependant rien ne
garantit la consistance des données entre les nodes ».
 CA : « Les données sont consistantes entre tous les
nodes (tant que les nodes sont online). Toutes les
lectures/écritures des nodes concernent les mêmes
données. Mais si un problème de réseau apparait,
certains nodes seront désynchronisés au niveau des
données (et perdront donc la consistance) ».
NOSQL : CONCEPT – CAP
NOSQL : LES DIFFÉRENTS TYPES
 Clé – Valeur
 Orientées Colonnes
 Orientées Graphe
 Orientées Document
CLÉ – VALEUR
 Les bases de données clé-valeur nommée les
bases associatives
 Les données sont représentées par un couple
clé/valeur.
 Impossible de faire des requetés avec des filtres
(une requête de sélection avec une clause
WHERE en SQL).
 Exemple :
 Dynamo
 Riak
 Voldemort.
ORIENTÉES COLONNES
 Le type orientées colonnes sont le résultat de
l’évolution des bases de données de type
associative.
 Le modèle le plus proche d’une BD relationnelle
 Dans une BD NoSQL le nombre de colonnes est
dynamique, contrairement aux bases de données
relationnelles les données sont enregistrées en
colonnes et non en lignes.
 Exemple :
 Cassandra
 HBase
ORIENTÉES GRAPHE
 Ce modèle représente les données en utilisant la
théorie de graphe.
 Il s’appuie sur la notion de nœuds, de relations et
de propriétés.
 principalement utilisé au traitement des données
des réseaux sociaux.
 Exemple :
 Neo4J
 Titan
ORIENTÉES DOCUMENT
 Ce modèle est une évolution du modèle orienté
colonne.
 Le modèle orienté document est plus flexible au
niveau de l’accès aux données que le modèle
orienté colonne.
 Le modèle orienté document est plus flexible au
niveau de l’accès aux données que le modèle
orienté colonne
 Exemple :
 MangoDB
 CouchDB
 RavenDB
APPLICATION
 EDF :
 SEI « systèmes électriques intelligents : c’est un système
électrique capable d’intégrer de manière intelligente les actions
des différents utilisateurs, consommateurs et/ou producteurs afin
de maintenir une fourniture d’électricité efficace, durable,
économique et sécurisée»:
 Installation des compteurs communicants (35 millions en France) avec un
relevé tous les 10 minutes (1 relevé pas 10 mn / 35 millions de clients / an).
 Volumes de données annuels.
 1800 milliards de relevés ; 600 To de données non compressées.
 Volumes de données journalier.
 5 milliards de relevés ; ~2 To.
 Néanmoins EDF entrevoit la mise en place de traitements
complexes :
 De par la nature des données : des séries temporelles
 De par leur caractère distribué et de la nécessité de traitements à différentes
échelles
 De par les contraintes temps réel pour certains besoins
=> EDF utilise la base de données HBase (Base de données NoSQL
de type orientée colonne), pour le stockage et la manipulation de ces
données.
APPLICATION
Réseaux sociaux :
Enregistrent des données massives :
 Historique de conversations,
 Historique d’actions (partage, j’aime, commentaire, Message,…)
 Stockage des vidéos
 …..
 Twitter utilise la base de données Apache Cassandra (il à été
remplacer par une base crée en interne similaire à Apache Cassandra)
ainsi que plusieurs autres outils pour l’enregistrement et la
manipulation de ces données.
Les Moteurs de recherche :
 Pour pouvoir regrouper les informations de différent service
(Google Earth, Google Maps et Blogger), Google à développer l’SGBD
BigTable.
 BigTable enregistre les données sous forme de tableau d’octets indexés
par colonne et ligne.

Contenu connexe

Tendances

Le passage du diagramme de classe vers le model objet relationnel
Le passage du diagramme de classe vers le model objet relationnelLe passage du diagramme de classe vers le model objet relationnel
Le passage du diagramme de classe vers le model objet relationnel
Hassen Sic
 
Android-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intentsAndroid-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intents
Lilia Sfaxi
 
Support JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVCSupport JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVC
ENSET, Université Hassan II Casablanca
 
Cours : les listes chainées Prof. KHALIFA MANSOURI
Cours : les listes chainées  Prof. KHALIFA MANSOURI Cours : les listes chainées  Prof. KHALIFA MANSOURI
Cours : les listes chainées Prof. KHALIFA MANSOURI
Mansouri Khalifa
 
Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - Spark
Amal Abid
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQL
Lilia Sfaxi
 
POO Java Chapitre 1 Classe & Objet
POO Java Chapitre 1 Classe & ObjetPOO Java Chapitre 1 Classe & Objet
POO Java Chapitre 1 Classe & Objet
Mouna Torjmen
 
Introduction aux bases de données
Introduction aux bases de donnéesIntroduction aux bases de données
Introduction aux bases de données
Abdoulaye Dieng
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfaces
Amir Souissi
 
Base de Données Chapitre I .pptx
Base de Données Chapitre I .pptxBase de Données Chapitre I .pptx
Base de Données Chapitre I .pptx
AbdoulayeTraore48
 
Bases de données réparties
Bases de données répartiesBases de données réparties
Bases de données réparties
Abdelouahed Abdou
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
Zakariyaa AIT ELMOUDEN
 
Programmation orientée objet avancée
Programmation orientée objet avancéeProgrammation orientée objet avancée
Programmation orientée objet avancée
Mahfoud EL HOUDAIGUI
 
Cours complet Base de donne Bac
Cours complet Base de donne Bac Cours complet Base de donne Bac
Cours complet Base de donne Bac
Amri Ossama
 
Les Base de Données NOSQL -Presentation -
Les Base de Données NOSQL -Presentation -Les Base de Données NOSQL -Presentation -
Les Base de Données NOSQL -Presentation -
IliasAEA
 
Support Java Avancé Troisième Partie
Support Java Avancé Troisième PartieSupport Java Avancé Troisième Partie
Support Java Avancé Troisième Partie
ENSET, Université Hassan II Casablanca
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : Spark
Lilia Sfaxi
 
BI : Analyse des Données avec Mondrian
BI : Analyse des Données avec Mondrian BI : Analyse des Données avec Mondrian
BI : Analyse des Données avec Mondrian
Lilia Sfaxi
 
POO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et PolymorphismePOO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et Polymorphisme
Mouna Torjmen
 
Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)
ENSET, Université Hassan II Casablanca
 

Tendances (20)

Le passage du diagramme de classe vers le model objet relationnel
Le passage du diagramme de classe vers le model objet relationnelLe passage du diagramme de classe vers le model objet relationnel
Le passage du diagramme de classe vers le model objet relationnel
 
Android-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intentsAndroid-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intents
 
Support JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVCSupport JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVC
 
Cours : les listes chainées Prof. KHALIFA MANSOURI
Cours : les listes chainées  Prof. KHALIFA MANSOURI Cours : les listes chainées  Prof. KHALIFA MANSOURI
Cours : les listes chainées Prof. KHALIFA MANSOURI
 
Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - Spark
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQL
 
POO Java Chapitre 1 Classe & Objet
POO Java Chapitre 1 Classe & ObjetPOO Java Chapitre 1 Classe & Objet
POO Java Chapitre 1 Classe & Objet
 
Introduction aux bases de données
Introduction aux bases de donnéesIntroduction aux bases de données
Introduction aux bases de données
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfaces
 
Base de Données Chapitre I .pptx
Base de Données Chapitre I .pptxBase de Données Chapitre I .pptx
Base de Données Chapitre I .pptx
 
Bases de données réparties
Bases de données répartiesBases de données réparties
Bases de données réparties
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
Programmation orientée objet avancée
Programmation orientée objet avancéeProgrammation orientée objet avancée
Programmation orientée objet avancée
 
Cours complet Base de donne Bac
Cours complet Base de donne Bac Cours complet Base de donne Bac
Cours complet Base de donne Bac
 
Les Base de Données NOSQL -Presentation -
Les Base de Données NOSQL -Presentation -Les Base de Données NOSQL -Presentation -
Les Base de Données NOSQL -Presentation -
 
Support Java Avancé Troisième Partie
Support Java Avancé Troisième PartieSupport Java Avancé Troisième Partie
Support Java Avancé Troisième Partie
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : Spark
 
BI : Analyse des Données avec Mondrian
BI : Analyse des Données avec Mondrian BI : Analyse des Données avec Mondrian
BI : Analyse des Données avec Mondrian
 
POO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et PolymorphismePOO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et Polymorphisme
 
Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)
 

Similaire à Database/ Bases de données

Les bases de donnees nosql
Les bases de donnees nosqlLes bases de donnees nosql
Les bases de donnees nosql
zied kallel
 
Base de données NoSQL
Base de données NoSQLBase de données NoSQL
Base de données NoSQL
Oussama ARBI
 
java BDD jdbc
java BDD jdbcjava BDD jdbc
java BDD jdbc
vangogue
 
cours06-nosql.pdf
cours06-nosql.pdfcours06-nosql.pdf
cours06-nosql.pdf
hbadir
 
Hadoop Hbase - Introduction
Hadoop Hbase - IntroductionHadoop Hbase - Introduction
Hadoop Hbase - Introduction
Blandine Larbret
 
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDBSGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
Romain Cambien
 
Introduction aux bases de données NoSQL
Introduction aux bases de données NoSQLIntroduction aux bases de données NoSQL
Introduction aux bases de données NoSQL
Antoine Augusti
 
Apache cassandra introduction
Apache cassandra introductionApache cassandra introduction
Apache cassandra introduction
zied kallel
 
No Sql - Olivier Mallassi - September 2010
No Sql - Olivier Mallassi - September 2010No Sql - Olivier Mallassi - September 2010
No Sql - Olivier Mallassi - September 2010
JUG Lausanne
 
A Brief History of Database Management (SQL, NoSQL, NewSQL)
A Brief History of Database Management (SQL, NoSQL, NewSQL)A Brief History of Database Management (SQL, NoSQL, NewSQL)
A Brief History of Database Management (SQL, NoSQL, NewSQL)
Abdelkader OUARED
 
Benchmarking NoSQL DataBase dans le cadre d'un projet IoT
Benchmarking NoSQL DataBase dans le cadre d'un projet IoTBenchmarking NoSQL DataBase dans le cadre d'un projet IoT
Benchmarking NoSQL DataBase dans le cadre d'un projet IoT
CHAKER ALLAOUI
 
NoSQL: Quoi, quand et pour qui par Orlando Cassano du CETIC
NoSQL: Quoi, quand et pour qui par Orlando Cassano du CETICNoSQL: Quoi, quand et pour qui par Orlando Cassano du CETIC
NoSQL: Quoi, quand et pour qui par Orlando Cassano du CETIC
La FeWeb
 
NoSQL panorama - Jean Seiler Softeam
NoSQL panorama - Jean Seiler SofteamNoSQL panorama - Jean Seiler Softeam
NoSQL panorama - Jean Seiler Softeam
TelecomValley
 
Cours de base de données et Langage UML.pptx
Cours de base de données et Langage UML.pptxCours de base de données et Langage UML.pptx
Cours de base de données et Langage UML.pptx
baaab6100
 
Bases de données no sql.pdf
Bases de données no sql.pdfBases de données no sql.pdf
Bases de données no sql.pdf
ZkSadrati
 
Big data: NoSQL comme solution
Big data: NoSQL comme solutionBig data: NoSQL comme solution
Big data: NoSQL comme solution
JEMLI Fathi
 
BDRO.pdf
BDRO.pdfBDRO.pdf
BDRO.pdf
GermainANANOU
 
Les Base de Données NOSQL
Les Base de Données NOSQLLes Base de Données NOSQL
Les Base de Données NOSQL
kamar MEDDAH
 
Cours Big Data Chap5
Cours Big Data Chap5Cours Big Data Chap5
Cours Big Data Chap5
Amal Abid
 
MariaDB une base de donnees NewSQL
MariaDB une base de donnees NewSQLMariaDB une base de donnees NewSQL
MariaDB une base de donnees NewSQL
Christophe Villeneuve
 

Similaire à Database/ Bases de données (20)

Les bases de donnees nosql
Les bases de donnees nosqlLes bases de donnees nosql
Les bases de donnees nosql
 
Base de données NoSQL
Base de données NoSQLBase de données NoSQL
Base de données NoSQL
 
java BDD jdbc
java BDD jdbcjava BDD jdbc
java BDD jdbc
 
cours06-nosql.pdf
cours06-nosql.pdfcours06-nosql.pdf
cours06-nosql.pdf
 
Hadoop Hbase - Introduction
Hadoop Hbase - IntroductionHadoop Hbase - Introduction
Hadoop Hbase - Introduction
 
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDBSGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
 
Introduction aux bases de données NoSQL
Introduction aux bases de données NoSQLIntroduction aux bases de données NoSQL
Introduction aux bases de données NoSQL
 
Apache cassandra introduction
Apache cassandra introductionApache cassandra introduction
Apache cassandra introduction
 
No Sql - Olivier Mallassi - September 2010
No Sql - Olivier Mallassi - September 2010No Sql - Olivier Mallassi - September 2010
No Sql - Olivier Mallassi - September 2010
 
A Brief History of Database Management (SQL, NoSQL, NewSQL)
A Brief History of Database Management (SQL, NoSQL, NewSQL)A Brief History of Database Management (SQL, NoSQL, NewSQL)
A Brief History of Database Management (SQL, NoSQL, NewSQL)
 
Benchmarking NoSQL DataBase dans le cadre d'un projet IoT
Benchmarking NoSQL DataBase dans le cadre d'un projet IoTBenchmarking NoSQL DataBase dans le cadre d'un projet IoT
Benchmarking NoSQL DataBase dans le cadre d'un projet IoT
 
NoSQL: Quoi, quand et pour qui par Orlando Cassano du CETIC
NoSQL: Quoi, quand et pour qui par Orlando Cassano du CETICNoSQL: Quoi, quand et pour qui par Orlando Cassano du CETIC
NoSQL: Quoi, quand et pour qui par Orlando Cassano du CETIC
 
NoSQL panorama - Jean Seiler Softeam
NoSQL panorama - Jean Seiler SofteamNoSQL panorama - Jean Seiler Softeam
NoSQL panorama - Jean Seiler Softeam
 
Cours de base de données et Langage UML.pptx
Cours de base de données et Langage UML.pptxCours de base de données et Langage UML.pptx
Cours de base de données et Langage UML.pptx
 
Bases de données no sql.pdf
Bases de données no sql.pdfBases de données no sql.pdf
Bases de données no sql.pdf
 
Big data: NoSQL comme solution
Big data: NoSQL comme solutionBig data: NoSQL comme solution
Big data: NoSQL comme solution
 
BDRO.pdf
BDRO.pdfBDRO.pdf
BDRO.pdf
 
Les Base de Données NOSQL
Les Base de Données NOSQLLes Base de Données NOSQL
Les Base de Données NOSQL
 
Cours Big Data Chap5
Cours Big Data Chap5Cours Big Data Chap5
Cours Big Data Chap5
 
MariaDB une base de donnees NewSQL
MariaDB une base de donnees NewSQLMariaDB une base de donnees NewSQL
MariaDB une base de donnees NewSQL
 

Database/ Bases de données

  • 2. INTRODUCTION  L’enregistrement des données et leurs manipulation est un élément primordiale de l’informatique moderne.  Depuis des années le modèle relationnel s’est imposé comme la référence grâce à son respect des propriétés ACID (Atomicity, Consistency, Isolation, Durability).  Gagner veut dire perdre, c’est exactement ce que se passe, d’une façon plus simple respecter les propriétés ACID conduit à des difficultés de Scaling (Rapidité).
  • 3. NOTIONS DE BASE  Base de données :  « Les années 60 ont été remarquées par l’apparition du terme database (base de données), à cette époque une base de données désigne la collection d'informations partagées par différents utilisateurs d'un système d'informations militaire » (http://fr.wikipedia.org/).  Par définition une base de données informatique est un groupement de données qui ont été rangées sur un support informatique, et organisées à but de faciliter la consultation et la modification de leur contenu.
  • 4. NOTIONS DE BASE  SGBD:  Un Système de Gestion de Base de Données (SGBD) « est un logiciel (ou un ensemble de logiciels) permettant de manipuler les données d'une base de données. Manipuler, c'est-à-dire sélectionner et afficher des informations tirées de cette base, modifier des données, en ajouter ou en supprimer (ce groupe de quatre opérations étant souvent appelé "CRUD", pour Create, Read, Update, Delete) » (http://openclassrooms.com/).  On trouve plusieurs catégories de SGBD :  SGBDR (un Système de Gestion de Bases de Données Relationnelles)  SGBD Distribuée  ,,,,,,
  • 5. SGBDR  Les données sont enregistrées dans des tableaux à deux dimensions (lignes et colonnes).  La manipulation de ces données se fait selon la théorie mathématique des relations : une théorie qui a été inventée par EDGAR FRANK CODD dans sa thèse mathématique sur l'algèbre relationnelle en 1970.  Dans un SGBDR les données sont contenues dans ce qu'on appelle des relations, qui sont représentées sous forme de tables.  Une relation est composée de deux parties, l'en-tête et le corps. L'en-tête est elle-même composée de plusieurs attributs, Quant au corps, il s'agit d'un ensemble de lignes (ou n-uplets) composées d'autant d'éléments qu'il y a d'attributs dans le corps. Numéro Prénom Nom Date de naissance 1 Zied KALLEL 28/11/1990 2 Kallel ZIED 11/02/1992
  • 6. SGBDR  Pour interagir avec des bases de données relationnelles nous utilisons le SQL (Structured Query Language),  SQL est le langage des bases de données le plus répandu, Il a été créé dans les années 1970 et c'est devenu standard en 1986 (pour la norme ANSI - 1987 en ce qui concerne la norme ISO). Il est encore régulièrement amélioré.  Exemple de SGBDR :
  • 7. SGBD NOSQL  Le terme NoSQL ne signifie pas Not SQL (pas de SQL) mais ça signifie Not Only SQL (pas seulement SQL).  NoSQL désigne un grand nombre de base de données qui s’opposent au SGBDR.  Exemple de SGBD NoSQL:
  • 8. PRINCIPE DE FONCTIONNEMENT D’UN SGBD  En réalité un SGBD c’est un système qui permet l’enregistrement et la suppression des données sur un support physique (des fichiers de différent extension exemple (.frm, .MYD, HDFS, …..).  On peut décomposer un SGBD en 3 sous-systèmes :  un système qui permet de stocker les données sur un support physique  un système interne qui permet de gère l’ordonnancement des informations  un système externe qui permet l’interaction avec l’utilisateur
  • 10. SGBDR ET NOSQL?  les 2 types de base de données partagent les mêmes Objectifs de base : le stockage et la récupération des données ainsi que la coordination des changements.  Les bases de données NoSQL troquent certaines des capacités de relations des bases de données afin d'améliorer l'évolutivité.  Les bases de données relationnelles respectent des propriétés prédéfinies ACID (Atomicity, Consistency, Isolation, Durability) pour pouvoir garantir la sécurité des données.  Les propriétés ACID demandent des prérequis importants, cela se traduit par une difficulté de scaling.
  • 11. NOSQL : CONCEPT – ACID  Atomicité : les requêtes reçues par la base doivent être complètes sous peine d'être non traitées  Cohérence : les requêtes doivent respecter l'état de validité de la base (respect des contraintes, des mises à jour...)  Isolation : les requêtes sont indépendantes les unes des autres lors d'un envoi simultané  Durabilité : les modifications de la base doivent être effectuées en priorité avant toute autre action pour permettre la sauvegarde de ces changements
  • 12. NOSQL : CONCEPT – CAP  CAP «Consistency, Availability, Partition tolerance », en français « Cohérence, Disponibilité, Résistance au morcellement ».  Consistency / Cohérence : La totalité des nœuds du système voient au même moment exactement les même données.  Availability / Disponibilité : les données doivent être toujours disponibles pour satisfaire les requêtes.  Partition tolerance / Résistance au morcellement : le système doit répondre d’une manière correcte même si une partie du réseau tombe en panne, sauf en cas de coupure totale du réseau.
  • 13. NOSQL : CONCEPT – CAP  CP : « Les données sont consistantes entre tous les nodes et le système possède une tolérance aux pannes, mais il peut aussi subir des problèmes de latence ou plus généralement, de disponibilité ».  AP : « Le système répond de façon performante en plus d’être tolérant aux pannes. Cependant rien ne garantit la consistance des données entre les nodes ».  CA : « Les données sont consistantes entre tous les nodes (tant que les nodes sont online). Toutes les lectures/écritures des nodes concernent les mêmes données. Mais si un problème de réseau apparait, certains nodes seront désynchronisés au niveau des données (et perdront donc la consistance) ».
  • 14. NOSQL : CONCEPT – CAP
  • 15. NOSQL : LES DIFFÉRENTS TYPES  Clé – Valeur  Orientées Colonnes  Orientées Graphe  Orientées Document
  • 16. CLÉ – VALEUR  Les bases de données clé-valeur nommée les bases associatives  Les données sont représentées par un couple clé/valeur.  Impossible de faire des requetés avec des filtres (une requête de sélection avec une clause WHERE en SQL).  Exemple :  Dynamo  Riak  Voldemort.
  • 17. ORIENTÉES COLONNES  Le type orientées colonnes sont le résultat de l’évolution des bases de données de type associative.  Le modèle le plus proche d’une BD relationnelle  Dans une BD NoSQL le nombre de colonnes est dynamique, contrairement aux bases de données relationnelles les données sont enregistrées en colonnes et non en lignes.  Exemple :  Cassandra  HBase
  • 18. ORIENTÉES GRAPHE  Ce modèle représente les données en utilisant la théorie de graphe.  Il s’appuie sur la notion de nœuds, de relations et de propriétés.  principalement utilisé au traitement des données des réseaux sociaux.  Exemple :  Neo4J  Titan
  • 19. ORIENTÉES DOCUMENT  Ce modèle est une évolution du modèle orienté colonne.  Le modèle orienté document est plus flexible au niveau de l’accès aux données que le modèle orienté colonne.  Le modèle orienté document est plus flexible au niveau de l’accès aux données que le modèle orienté colonne  Exemple :  MangoDB  CouchDB  RavenDB
  • 20. APPLICATION  EDF :  SEI « systèmes électriques intelligents : c’est un système électrique capable d’intégrer de manière intelligente les actions des différents utilisateurs, consommateurs et/ou producteurs afin de maintenir une fourniture d’électricité efficace, durable, économique et sécurisée»:  Installation des compteurs communicants (35 millions en France) avec un relevé tous les 10 minutes (1 relevé pas 10 mn / 35 millions de clients / an).  Volumes de données annuels.  1800 milliards de relevés ; 600 To de données non compressées.  Volumes de données journalier.  5 milliards de relevés ; ~2 To.  Néanmoins EDF entrevoit la mise en place de traitements complexes :  De par la nature des données : des séries temporelles  De par leur caractère distribué et de la nécessité de traitements à différentes échelles  De par les contraintes temps réel pour certains besoins => EDF utilise la base de données HBase (Base de données NoSQL de type orientée colonne), pour le stockage et la manipulation de ces données.
  • 21. APPLICATION Réseaux sociaux : Enregistrent des données massives :  Historique de conversations,  Historique d’actions (partage, j’aime, commentaire, Message,…)  Stockage des vidéos  …..  Twitter utilise la base de données Apache Cassandra (il à été remplacer par une base crée en interne similaire à Apache Cassandra) ainsi que plusieurs autres outils pour l’enregistrement et la manipulation de ces données. Les Moteurs de recherche :  Pour pouvoir regrouper les informations de différent service (Google Earth, Google Maps et Blogger), Google à développer l’SGBD BigTable.  BigTable enregistre les données sous forme de tableau d’octets indexés par colonne et ligne.