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.

Database/ Bases de données

  • 1.
  • 2.
    INTRODUCTION  L’enregistrement desdonné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éessont 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 interagiravec 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  Leterme 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 FONCTIONNEMENTD’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
  • 9.
  • 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.
  • 15.
    NOSQL : LESDIFFÉ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  Letype 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  Cemodè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  Cemodè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 : Enregistrentdes 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.