SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
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

Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkAmal Abid
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : SparkLilia Sfaxi
 
Cours des bases de données
Cours des bases de données Cours des bases de données
Cours des bases de données yassine kchiri
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceLilia Sfaxi
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQLLilia Sfaxi
 
Les Base de Données NOSQL
Les Base de Données NOSQLLes Base de Données NOSQL
Les Base de Données NOSQLkamar MEDDAH
 
Bases de Données non relationnelles, NoSQL (Introduction) 1er cours
Bases de Données non relationnelles, NoSQL (Introduction) 1er coursBases de Données non relationnelles, NoSQL (Introduction) 1er cours
Bases de Données non relationnelles, NoSQL (Introduction) 1er coursHatim CHAHDI
 
BigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherBigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherLilia Sfaxi
 
Thinking Big - Big data: principes et architecture
Thinking Big - Big data: principes et architecture Thinking Big - Big data: principes et architecture
Thinking Big - Big data: principes et architecture Lilia Sfaxi
 
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 .pptxAbdoulayeTraore48
 
Base de données NoSQL
Base de données NoSQLBase de données NoSQL
Base de données NoSQLOussama ARBI
 
Présentation des bases de données NoSql
Présentation des bases de données NoSqlPrésentation des bases de données NoSql
Présentation des bases de données NoSqlSidi LEKHALIFA
 
Hadoop et son écosystème
Hadoop et son écosystèmeHadoop et son écosystème
Hadoop et son écosystèmeKhanh Maudoux
 
Diaporamas-Bases de données.pdf
Diaporamas-Bases de données.pdfDiaporamas-Bases de données.pdf
Diaporamas-Bases de données.pdfEST-UMI de Meknès
 
Azure Data Factory Data Flow Performance Tuning 101
Azure Data Factory Data Flow Performance Tuning 101Azure Data Factory Data Flow Performance Tuning 101
Azure Data Factory Data Flow Performance Tuning 101Mark Kromer
 

Tendances (20)

Introduction au langage SQL
Introduction au langage SQLIntroduction au langage SQL
Introduction au langage SQL
 
Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - Spark
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : Spark
 
Cours des bases de données
Cours des bases de données Cours des bases de données
Cours des bases de données
 
Les BD NoSQL
Les BD NoSQLLes BD NoSQL
Les BD NoSQL
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQL
 
Les Base de Données NOSQL
Les Base de Données NOSQLLes Base de Données NOSQL
Les Base de Données NOSQL
 
Bases de Données non relationnelles, NoSQL (Introduction) 1er cours
Bases de Données non relationnelles, NoSQL (Introduction) 1er coursBases de Données non relationnelles, NoSQL (Introduction) 1er cours
Bases de Données non relationnelles, NoSQL (Introduction) 1er cours
 
BigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherBigData_Chp5: Putting it all together
BigData_Chp5: Putting it all together
 
Thinking Big - Big data: principes et architecture
Thinking Big - Big data: principes et architecture Thinking Big - Big data: principes et architecture
Thinking Big - Big data: principes et architecture
 
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
 
Technologies pour le Big Data
Technologies pour le Big DataTechnologies pour le Big Data
Technologies pour le Big Data
 
Sgbdr merise
Sgbdr meriseSgbdr merise
Sgbdr merise
 
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka StreamsTraitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
 
Base de données NoSQL
Base de données NoSQLBase de données NoSQL
Base de données NoSQL
 
Présentation des bases de données NoSql
Présentation des bases de données NoSqlPrésentation des bases de données NoSql
Présentation des bases de données NoSql
 
Hadoop et son écosystème
Hadoop et son écosystèmeHadoop et son écosystème
Hadoop et son écosystème
 
Diaporamas-Bases de données.pdf
Diaporamas-Bases de données.pdfDiaporamas-Bases de données.pdf
Diaporamas-Bases de données.pdf
 
Azure Data Factory Data Flow Performance Tuning 101
Azure Data Factory Data Flow Performance Tuning 101Azure Data Factory Data Flow Performance Tuning 101
Azure Data Factory Data Flow Performance Tuning 101
 

Similaire à Database/ Bases de données

Les bases de donnees nosql
Les bases de donnees nosqlLes bases de donnees nosql
Les bases de donnees nosqlzied kallel
 
java BDD jdbc
java BDD jdbcjava BDD jdbc
java BDD jdbcvangogue
 
cours06-nosql.pdf
cours06-nosql.pdfcours06-nosql.pdf
cours06-nosql.pdfhbadir
 
Hadoop Hbase - Introduction
Hadoop Hbase - IntroductionHadoop Hbase - Introduction
Hadoop Hbase - IntroductionBlandine 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 ArangoDBRomain 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 NoSQLAntoine Augusti
 
Apache cassandra introduction
Apache cassandra introductionApache cassandra introduction
Apache cassandra introductionzied kallel
 
No Sql - Olivier Mallassi - September 2010
No Sql - Olivier Mallassi - September 2010No Sql - Olivier Mallassi - September 2010
No Sql - Olivier Mallassi - September 2010JUG 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 IoTCHAKER 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 CETICLa FeWeb
 
NoSQL panorama - Jean Seiler Softeam
NoSQL panorama - Jean Seiler SofteamNoSQL panorama - Jean Seiler Softeam
NoSQL panorama - Jean Seiler SofteamTelecomValley
 
Big data: NoSQL comme solution
Big data: NoSQL comme solutionBig data: NoSQL comme solution
Big data: NoSQL comme solutionJEMLI Fathi
 
Cours Big Data Chap5
Cours Big Data Chap5Cours Big Data Chap5
Cours Big Data Chap5Amal Abid
 
11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .net11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .netHamza SAID
 
Introduction nosql
Introduction nosqlIntroduction nosql
Introduction nosqlInes Slimene
 
Base de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvreBase de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvreMICHRAFY MUSTAFA
 

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
 
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
 
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
 
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
 
11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .net11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .net
 
Introduction nosql
Introduction nosqlIntroduction nosql
Introduction nosql
 
Chapitre1.pdf
Chapitre1.pdfChapitre1.pdf
Chapitre1.pdf
 
Base de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvreBase de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvre
 

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.