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) ».
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.