SlideShare une entreprise Scribd logo
Introduction
Mme Ines Slimene
Ines_slimene@yahoo.fr
Plan
Introduction
NOSQL vs. BDR
Bases de données NOSql
Types de Bases de données NOSql
◦ Clef/valeur
◦ Orientées colonnes
◦ Orientées documents
◦ Orientées graphes
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 2
Introduction
NoSQL : Not Only SQL.
Que signifie vraiment « Not Only » ???
Historique:
◦ Le terme « NoSQL » dans sa signification actuelle vient du nom d'un
séminaire (pendant une conférence sur Hadoop) qui a eu lieu en 2009 sur les
nouveaux types de bases de données qui n'utilisent pas SQL.
◦ Il fallait un nom qui fasse un bon hashtag sur Twitter : court, facile à
mémoriser, et non populaire sur Google pour espérer pouvoir remonter dans
les premiers résultats.
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 3
Gestion des données au fil du
temps
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 4
Système de fichiers
1ère génération des
SGBD
Les BD
relationnelles
Nouv types de
données
OLAP/DW
Donnée web
Deluge de données
NoSQL
1960
1970
Ressources partagées
1980
Requête facile
1990
Données non structurées
2005+
Big Data
Opérationnelle vs analytiques
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 5
RDBMS
RDBMS
RDBMS
OLAP/DW
OLAP/DW
Hadoop
Clé/valeur
MongoDB
NoSQL1990
2000
Big Data
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 6
RDBMS
NoSQL
OLAP/DW
Hadoop,
Impala
Traitement
analytique
Traitement
Transactionnel
visualisation
Data Mining et
outils
d'intégration
Online/temps réel Offline/Batch
NOSQL vs. BDR
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 7
Bases de données
relationnelles
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 8
• Entités - relation
• Simple
• Universel
Modèle
• SQL
• Puissant
• Ad-hoc
Requête
• ACIDTransaction
• Utilisé massivement
• Nombreux moteurs sur le marché
• Nombreux outils
Maturité
SQL
Un langage de requête plus ou moins normé
Tout information est décrite par des listes de n-uplets
Opérations puissante
◦ Sélection (where)
◦ Projection (select)
◦ Produit cartésien (join)
◦ Union
◦ Intersection
◦ Différence
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 9
Mise en œuvre d’un SGBD-R
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 10
Serveur Applicatif
Base de données
HTTP
JDBC
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 11
Mise en œuvre d’un SGBD-R
Serveurs Applicatifs
Base de données
HTTP JDBC
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 12
Mise en œuvre d’un SGBD-R
Serveurs Applicatifs
Base de données
HTTP
JDBC
Limites des bases de données
relationnelles
Montée en charge difficile
◦ Les règles d’intégrité compliquent la
montée horizontale
◦ Montée en charge verticale
◦ Coût non linéaire
◦ Atteint une limite
◦ Point unique de défaillance
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 13
Les limites des bases
relationnelles
Scalabilité
◦ Le modèle de consistance des
RDBMS empêche l'utilisation de
plusieurs machines pour répartir la
charge (au moins en écriture)
◦ Pour augmenter la performance
d'accès à la base, pas d'autres
moyens que d'acheter un plus gros
serveur, puis un autre, puis un
autre, …
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 14
Limites des bases de données
relationnelles
Relation : Contient un ensemble de n-uplets (les lignes) qui contiennent
des attributs (les colonnes). Le domaine de chaque attribut est fixé et
doit être composé de valeurs atomiques simples, i.e. non
décomposables (1FN).
Une requête SQL de type select retourne toujours une relation.
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 15
Limites des bases de données
relationnelles
Contraintes ACID impossibles à respecter sur un cluster (et a fortiori sur
Internet) pour conserver un fonctionnement correct (haute
disponibilité, rapidité d'exécution et cohérence permanente de la base,
partition accidentelle du cluster).
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 16
BDR : Propriétés ACID
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 17
Propriétés
ACID
Atomicité : Toute transaction
doit s'exécuter entièrement
sans erreur ou pas du tout
Les modifications d’une
transaction ne sont pas
visibles par les autres tant
qu’elle n’a pas été validée.
Une fois validées, les données
sont permanentes jusqu’à
leur prochaine modification
(persistance).
Consistance : La base de
données doit toujours être
dans un état cohérent entre
deux transactions (assurer
par les contraintes
d’intégrité).
Besoin: Performances
prédictibles
La performance des opérations doit être prédictible
Amazon:
◦ Perte de 1 % de chiffre d’affaire si le temps d’affichage des pages
augmente de 0,1 s
◦ Plan qualité interne : Temps de réponse doit être < 300 ms pour 99,9
% des requêtes pour un pic de 500 requêtes par secondes
Google pénalise les sites dont les pages s’affichent en plus
de 1,5 s
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 18
Besoin: Prise en compte des
pannes
Amazon:
◦ Un datacenter de 100 000 disques
◦ entre 6 000 et 10 000 disques en panne par an
◦ (25 disques par jour)
Les sources de panne sont nombreuses
◦ Matériel serveur (disque)
◦ Matériel réseau
◦ Alimentation électrique
◦ Anomalies logicielles
◦ Mises à jour des logiciels et des OS.
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 19
Bases de données NOSql
Bases de données NOSQL (Not OnlySQL) :
◦ Pas un Système de Gestion de Bases de Données mais plus un système de
stockage de données.
◦ Bases de données non-relationnelles et largement distribuées
◦ Permet une analyse et une organisation rapides des données de très grands
volumes et de types de données divers
◦ Appelées également
◦ Cloud Databases
◦ Non-Relational Databases
◦ BigData Databases
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 20
Bases de données NOSql
Le NoSQL vise :
◦ Gestion d'énormes quantités de données
◦ Structuration faible du modèle
◦ Montée en charge
Caractéristiques
◦ Conçu pour être exécutée dans un cluster,
◦ Tendance à être Open Source,
◦ Modèle de données sans schéma
◦ Architecture distribuée
◦ Utilisation de langages et interfaces qui ne sont pas uniquement du SQL
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 21
Bases de données NOSql
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 22
Avantages Inconvénients
Fiabilité (tolérance aux pannes) Logiciel
Extensibilité Réparation
Partage des ressources Réseau
Vitesse/Performance Sécurité
Bases de données NOSql
Business Intelligence et Analyse
◦ Capacité des bases NOSQL à exploiter les données collectées pour dériver
des idées
◦ Extraction d’informations décisionnelles à partir d’un grand volume de
données, difficile à obtenir avec des bases relationnelles
Capacités transactionnelles modernes
◦ Nouvelles définitions du principe de transaction
◦ Utilisation des propriétés BASE au lieu des propriétés ACID
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 23
Bases de données NOSql
 Adaptation des BD NOSQL au BigData
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 24
beaucoup de
données qui
arrivent
rapidement, à partir
de plusieurs sources
données
structurées, semi-
structurées ou non-
structurées
données très
nombreuses (To et
Po)
données stockées et
gérées à plusieurs
endroits et data
centers.
Volume Vitesse Variété Véracité
Les systèmes NoSQL : CAP
Théorème CAP (proposé par Brewer, 2000 et démontré par Gilbert et Lynch
2002)
Dans un environnement distribué, il n'est pas possible de respecter
simultanément. On peut, en revanche, respecter deux contraintes.
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 25
à tout moment, pour chaque requête, la réponse est garantie.
Même en cas de panne, les données restent accessiblesAvailability
les données peuvent être partitionnées sur différents supports
,,,,sans souci de localisation. Les activités continuent sans
interruption lors de la modification du système et en cas de chute
du réseau
Partition
Tolerance
Si j’écris une donnée dans un nœud et que je la lis à partir d’un
a autre nœud dans un système distribué, je retrouve ce que j’ai
écris sur le premier.
Consistency
Les systèmes NoSQL : CAP
Présentation des trois
combinaisons CA, CP, AP :
◦ CA – un seul cluster. Ainsi tous les
nœuds sont en contact. Quant on
ajoute une partition le système est
bloqué
◦ CP – des données peuvent être non
accessible mais le reste est
cohérent
◦ AP - la valeur lue par un nœud peu
être incohérente avec le contenu
des autres nœuds
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 26
Consistency
Partition
Tolerance
Availability
CA
AP
CP
MongoDB
Hbase
RedisRDBMS
CouchDB
Cassandra
DynamoDB
Riak
NOSQL : Propriétés BASE
BASE est plus flexible que ACID, accepte certaines erreurs,
dont l’occurrence est assez rare
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 27
Le système garantit la disponibilité, comme définie dans le théorème CAP
L’état du système peut changer dans le temps, même sans nouvelles
entrées, et ce à cause du principe de consistance éventuelle
Le système deviendra cohérent au fil du temps, en supposant que le
système ne reçoit pas des entrées pendant ce temps la.
Basically Available
Soft-State
Eventual Consistency
NOSQL et BDR : Récapitulatif
BRD NOSQL
Consistance forte Consistance éventuelle
Grandes quantités de données Enorme quantité de données
Évolutivité possible Evolutivité facile
SQL NoSQL
Bonne disponibilité Très haute disponibilité
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 28
Synthèse
Les systèmes de gestion de données relationnelles sont
maintenant une option parmi d'autres. Leur généricité
leur permet d'être utilisés dans de nombreux cas mais les
rends peu performants et complexes sur certains types
de données (masse de données, attributs trop nombreux,
…).
Il faut savoir utiliser la solution la plus adaptée et pourquoi
pas en utiliser plusieurs.
Bases de données NOSQL
◦ Performances sur de gros volumes de données
◦ Performances sur des données non structurées
◦ Evolutivité très importante, même pour de faibles volumes
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 29
Synthèse
Les systèmes NoSQL ne remplaceront jamais les
bases de données relationnelles. Il faut les voir
comme une alternative après un quasi
monopole du relationnel de plusieurs
décennies.
Cependant:
◦ Technologie assez jeune et Manque d’outils la supportant
◦ Encore en évolution, pas de standards
◦ Pas de langage de requêtage commun comme SQL
◦ On doit faire plus de travail au niveau du code, ce qui peut influer sur la
performance
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 30
Types de Bases de
données NOSql
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 31
Types de Base de données NR
Types des bases de données NOSQL
◦ Clef/valeur (Key/Value Store)
◦ Orientées colonnes (Column Store)
◦ Orientées documents (Document Database)
◦ Orientées graphes (Graph Database)
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 32
1. Clef/Valeur
stockage simple et direct d'un tableau associatif (hashtable) où tous
les accès se font en utilisant la clé primaire
Conçues pour sauvegarder les données sans définir de schéma
Interrogation uniquement par la clé. On récupère une donnée
associée à une clé.
Ne fait que stocker des données en rapport avec une clé. Seulement 3
opérations possibles :
◦ Put : donner une valeur à une clé
◦ Get : récupérer la valeur d'une clé
◦ Delete : effacer la clé et sa valeur
Exemple: DynamoDB(Amazon), Azure Table Storage (ATS), Redis,
BerkeleyDB, Voldemort(LinkedIn)
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 33
1. Clef/Valeur
 A utiliser pour ...
De l'information très volatile
◦ Session utilisateur, données d'un panier d'achat
De l'information très peu volatile et accéder très fréquemment
◦ Descriptions produit, paramétrage applicatif
 A éviter pour ...
Des données possédant des relations
◦ Relations entre agrégats ou corrélation entre données de différents ensemble de
clés
Des opérations impliquant de multiples clés
Des besoins de requêtage par les données
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 34
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 35
Table étudiant :
1. Clé/Valeur : Exemple
Id Nom Age Adresse
12 John 22 Paris
13 Ali Null Bruxelles
14 Alain Null Null
Etud_12
Nom_$#_John~~Age_$#_22~~
Adresse_$#_Paris
Clé Valeur
2. Orientée Documents
Basé sur un système clé-valeur
Mais la valeur est une structure que le système connaît et peut donc
parcourir.
Chaque document est un objet, contient un ou plusieurs champs, et
chaque champs contient une valeur typée (string, date, binary ou array)
Avantage : pouvoir récupérer, via une seule clef, un ensemble
d’informations structurées de manière hiérarchique
◦ Dans les bases relationnelles, cela impliquerait plusieurs jointures
Exemples : Mongo DB (SourceForge), CouchDB (Apache), RavenDB
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 36
2. Orientée Documents
 A utiliser pour ...
Données avec partie structurée et partie non structurée
Données de suivi temps réel ou analytiques
 A éviter pour ...
Opérations nécessitant consistance sur plusieurs agrégats
Des structures d'agrégat très changeantes avec des besoins de
requêtage forts
◦ Inconvénient du schemaless
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 37
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 38
2. Orientée Documents
Id Nom Age Adresse
12 John 22 Paris
13 Ali Null Bruxelles
14 Alain Null Null
{
{Nom: « John », Age: 22, Adresse: »Paris »},
{Nom: « Ali », Adresse: »Paris »},
{Nom: « Alain »}
}
3. Orientées Colonnes
Évolution de la BD clef/valeur
Ressemble aux SGBDR, mais avec un nombre de colonnes dynamiques,
différent d’un enregistrement à un autre (pas de colonnes portant les
valeurs NULL)
Exemples: Hbase(Hadoop), Cassandra (Facebook, Twitter),
BigTable(Google)
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 39
3. Orientées Colonnes
 A utiliser pour ...
Données avec partie structurée et partie non structurée
Données de publication variables
◦ CMS, Blogging avec commentaires, contenu dynamique, etc …
Compteurs et analytiques
 A éviter pour ...
Des besoins de requêtage complexes
Des besoins de calcul d'agrégation simples (nécessité de passer
systématiquement par Map-Reduce aujourd'hui)
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 40
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 41
12 Nom|John Age|22 Adresse | Paris
13 Nom|Ali Adresse | Bruxelles
14 Nom|Alain
3. Orientées Colonnes
Id Nom Age Adresse
12 John 22 Paris
13 Ali Null Bruxelles
14 Alain Null Null
4. Orienté Graphes
On ne stocke plus un simple ensemble de données mais des relations.
S’appuie sur les notions de nœuds, de relations et des propriétés qui
leur sont rattachées
Conçues pour les données dont les relations sont représentées comme
graphes, et ayant des éléments interconnectés, avec un nombre
indéterminé de relations entre elles.
Le stockage d'un graphe sur plusieurs serveurs est un problème
difficile (problème de performance même pour un simple calcul de
chemin si le graphe est réparti sur plusieurs serveurs).
Adapté aux traitements des données des réseaux sociaux
Exemples: Neo4J et InfiniteGraph, OrientDB
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 42
4. Orienté Graphes
 A utiliser pour ...
Les moteurs de recommandations
◦ « Les autres clients ayant acheté ce produit ont aussi acheté ... »
Les données naturellement connectées
◦ Réseaux sociaux
Les services basés sur la localisation ou le calcul d'itinéraires
 A éviter pour ...
Les cas où de nombreux nœuds doivent être mis à jour
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 43
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 44
4. Orienté Graphes
Comparaison entre Types de BD NOSQL
https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 45
Complexité des requête et de la navigabilité
Scalabilitéetvitesse
Performance
Clef-valeur
Orientées
colonnes
Orientées
documents
Orientées
graphes

Contenu connexe

Tendances

Introduction NoSql 201406 - lbroudoux
Introduction NoSql 201406 - lbroudouxIntroduction NoSql 201406 - lbroudoux
Introduction NoSql 201406 - lbroudoux
Laurent Broudoux
 
Guss sql IaaS PaaS 20131202
Guss sql IaaS PaaS 20131202Guss sql IaaS PaaS 20131202
Guss sql IaaS PaaS 20131202
Julien Plée
 
noSQL
noSQLnoSQL
noSQL
Klee Group
 
Datastax Cassandra + Spark Streaming
Datastax Cassandra + Spark StreamingDatastax Cassandra + Spark Streaming
Datastax Cassandra + Spark Streaming
Victor Coustenoble
 
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
Sidi LEKHALIFA
 
Big data: NoSQL comme solution
Big data: NoSQL comme solutionBig data: NoSQL comme solution
Big data: NoSQL comme solutionJEMLI Fathi
 
DataStax Enterprise et Cas d'utilisation de Apache Cassandra
DataStax Enterprise et Cas d'utilisation de Apache CassandraDataStax Enterprise et Cas d'utilisation de Apache Cassandra
DataStax Enterprise et Cas d'utilisation de Apache Cassandra
Victor Coustenoble
 
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
 
Oracle Cluster Rac
Oracle Cluster RacOracle Cluster Rac
Oracle Cluster Rac
Brahim Belghmi
 
MongoDB day Paris 2012
MongoDB day Paris 2012MongoDB day Paris 2012
MongoDB day Paris 2012
FastConnect
 
Réplication de base de données oracle avec Golden Gate
Réplication de base de données oracle avec Golden GateRéplication de base de données oracle avec Golden Gate
Réplication de base de données oracle avec Golden Gate
Mor THIAM
 
Administration oracle7
Administration oracle7Administration oracle7
Administration oracle7
Lucian Carabet
 
SQLSaturday Paris 2014 - SQL Server AlwaysOn et les groupes de disponibilités...
SQLSaturday Paris 2014 - SQL Server AlwaysOn et les groupes de disponibilités...SQLSaturday Paris 2014 - SQL Server AlwaysOn et les groupes de disponibilités...
SQLSaturday Paris 2014 - SQL Server AlwaysOn et les groupes de disponibilités...
GUSS
 
Automatisez votre gestion de MongoDB avec MMS
Automatisez votre gestion de MongoDB avec MMSAutomatisez votre gestion de MongoDB avec MMS
Automatisez votre gestion de MongoDB avec MMS
MongoDB
 
Introduction à Cassandra
Introduction à CassandraIntroduction à Cassandra
Introduction à Cassandra
Gérald Quintana
 
Nosql
NosqlNosql
Nosql
nzuguem
 
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
 
Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Ser...
Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Ser...Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Ser...
Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Ser...
Microsoft Technet France
 
Dba oracle-v1
Dba oracle-v1Dba oracle-v1
Dba oracle-v1infcom
 
Redis
RedisRedis

Tendances (20)

Introduction NoSql 201406 - lbroudoux
Introduction NoSql 201406 - lbroudouxIntroduction NoSql 201406 - lbroudoux
Introduction NoSql 201406 - lbroudoux
 
Guss sql IaaS PaaS 20131202
Guss sql IaaS PaaS 20131202Guss sql IaaS PaaS 20131202
Guss sql IaaS PaaS 20131202
 
noSQL
noSQLnoSQL
noSQL
 
Datastax Cassandra + Spark Streaming
Datastax Cassandra + Spark StreamingDatastax Cassandra + Spark Streaming
Datastax Cassandra + Spark Streaming
 
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
 
Big data: NoSQL comme solution
Big data: NoSQL comme solutionBig data: NoSQL comme solution
Big data: NoSQL comme solution
 
DataStax Enterprise et Cas d'utilisation de Apache Cassandra
DataStax Enterprise et Cas d'utilisation de Apache CassandraDataStax Enterprise et Cas d'utilisation de Apache Cassandra
DataStax Enterprise et Cas d'utilisation de Apache Cassandra
 
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 -
 
Oracle Cluster Rac
Oracle Cluster RacOracle Cluster Rac
Oracle Cluster Rac
 
MongoDB day Paris 2012
MongoDB day Paris 2012MongoDB day Paris 2012
MongoDB day Paris 2012
 
Réplication de base de données oracle avec Golden Gate
Réplication de base de données oracle avec Golden GateRéplication de base de données oracle avec Golden Gate
Réplication de base de données oracle avec Golden Gate
 
Administration oracle7
Administration oracle7Administration oracle7
Administration oracle7
 
SQLSaturday Paris 2014 - SQL Server AlwaysOn et les groupes de disponibilités...
SQLSaturday Paris 2014 - SQL Server AlwaysOn et les groupes de disponibilités...SQLSaturday Paris 2014 - SQL Server AlwaysOn et les groupes de disponibilités...
SQLSaturday Paris 2014 - SQL Server AlwaysOn et les groupes de disponibilités...
 
Automatisez votre gestion de MongoDB avec MMS
Automatisez votre gestion de MongoDB avec MMSAutomatisez votre gestion de MongoDB avec MMS
Automatisez votre gestion de MongoDB avec MMS
 
Introduction à Cassandra
Introduction à CassandraIntroduction à Cassandra
Introduction à Cassandra
 
Nosql
NosqlNosql
Nosql
 
Les Base de Données NOSQL
Les Base de Données NOSQLLes Base de Données NOSQL
Les Base de Données NOSQL
 
Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Ser...
Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Ser...Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Ser...
Tout sur les solutions de Haute Disponibilité et Disaster Recovery de SQL Ser...
 
Dba oracle-v1
Dba oracle-v1Dba oracle-v1
Dba oracle-v1
 
Redis
RedisRedis
Redis
 

Similaire à Introduction nosql

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
 
Webinar Degetel DataStax
Webinar Degetel DataStaxWebinar Degetel DataStax
Webinar Degetel DataStax
Victor Coustenoble
 
Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...
Microsoft Technet France
 
DataStax Enterprise - La plateforme de base de données pour le Cloud
DataStax Enterprise - La plateforme de base de données pour le CloudDataStax Enterprise - La plateforme de base de données pour le Cloud
DataStax Enterprise - La plateforme de base de données pour le Cloud
Victor Coustenoble
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQL
Lilia Sfaxi
 
Les données on-premise et dans le cloud. Quelles options ?
Les données on-premise et dans le cloud. Quelles options ?Les données on-premise et dans le cloud. Quelles options ?
Les données on-premise et dans le cloud. Quelles options ?
Microsoft
 
BigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherBigData_Chp5: Putting it all together
BigData_Chp5: Putting it all together
Lilia Sfaxi
 
Architectures réparties en environnement web
Architectures réparties en environnement webArchitectures réparties en environnement web
Architectures réparties en environnement webAmaury Bouchard
 
Alphorm.com-Formation MongoDB Administration
Alphorm.com-Formation MongoDB AdministrationAlphorm.com-Formation MongoDB Administration
Alphorm.com-Formation MongoDB Administration
Alphorm
 
SQL Azure, la base de données dans le cloud
SQL Azure, la base de données dans le cloudSQL Azure, la base de données dans le cloud
SQL Azure, la base de données dans le cloudMicrosoft Technet France
 
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
Hamza SAID
 
AWS Summit Paris - Track 2 - Session 2 - Préparez-vous à l'imprévu
AWS Summit Paris - Track 2 - Session 2 - Préparez-vous à l'imprévuAWS Summit Paris - Track 2 - Session 2 - Préparez-vous à l'imprévu
AWS Summit Paris - Track 2 - Session 2 - Préparez-vous à l'imprévu
Amazon Web Services
 
Azure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmediaAzure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmedia
Microsoft
 
Relational databases & NoSQL databases
Relational databases & NoSQL databasesRelational databases & NoSQL databases
Relational databases & NoSQL databases
Cédric Villa
 
[Café techno] Optimiser le coût de vos données avec DB2 distribué
[Café techno] Optimiser le coût de vos données avec DB2 distribué[Café techno] Optimiser le coût de vos données avec DB2 distribué
[Café techno] Optimiser le coût de vos données avec DB2 distribué
Groupe D.FI
 
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
 
Discovery Session France: Atelier découverte de la Data Virtualization
Discovery Session France: Atelier découverte de la Data VirtualizationDiscovery Session France: Atelier découverte de la Data Virtualization
Discovery Session France: Atelier découverte de la Data Virtualization
Denodo
 
Discovery Session France: Atelier découverte de la Data Virtualization
Discovery Session France: Atelier découverte de la Data VirtualizationDiscovery Session France: Atelier découverte de la Data Virtualization
Discovery Session France: Atelier découverte de la Data Virtualization
Denodo
 
Présentation des services AWS
Présentation des services AWSPrésentation des services AWS
Présentation des services AWS
Julien SIMON
 
Sql azure performance et montee en charge (1)
Sql azure   performance et montee en charge (1)Sql azure   performance et montee en charge (1)
Sql azure performance et montee en charge (1)
Aymeric Weinbach
 

Similaire à Introduction nosql (20)

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
 
Webinar Degetel DataStax
Webinar Degetel DataStaxWebinar Degetel DataStax
Webinar Degetel DataStax
 
Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...
 
DataStax Enterprise - La plateforme de base de données pour le Cloud
DataStax Enterprise - La plateforme de base de données pour le CloudDataStax Enterprise - La plateforme de base de données pour le Cloud
DataStax Enterprise - La plateforme de base de données pour le Cloud
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQL
 
Les données on-premise et dans le cloud. Quelles options ?
Les données on-premise et dans le cloud. Quelles options ?Les données on-premise et dans le cloud. Quelles options ?
Les données on-premise et dans le cloud. Quelles options ?
 
BigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherBigData_Chp5: Putting it all together
BigData_Chp5: Putting it all together
 
Architectures réparties en environnement web
Architectures réparties en environnement webArchitectures réparties en environnement web
Architectures réparties en environnement web
 
Alphorm.com-Formation MongoDB Administration
Alphorm.com-Formation MongoDB AdministrationAlphorm.com-Formation MongoDB Administration
Alphorm.com-Formation MongoDB Administration
 
SQL Azure, la base de données dans le cloud
SQL Azure, la base de données dans le cloudSQL Azure, la base de données dans le cloud
SQL Azure, la base de données dans le cloud
 
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
 
AWS Summit Paris - Track 2 - Session 2 - Préparez-vous à l'imprévu
AWS Summit Paris - Track 2 - Session 2 - Préparez-vous à l'imprévuAWS Summit Paris - Track 2 - Session 2 - Préparez-vous à l'imprévu
AWS Summit Paris - Track 2 - Session 2 - Préparez-vous à l'imprévu
 
Azure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmediaAzure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmedia
 
Relational databases & NoSQL databases
Relational databases & NoSQL databasesRelational databases & NoSQL databases
Relational databases & NoSQL databases
 
[Café techno] Optimiser le coût de vos données avec DB2 distribué
[Café techno] Optimiser le coût de vos données avec DB2 distribué[Café techno] Optimiser le coût de vos données avec DB2 distribué
[Café techno] Optimiser le coût de vos données avec DB2 distribué
 
No Sql - Olivier Mallassi - September 2010
No Sql - Olivier Mallassi - September 2010No Sql - Olivier Mallassi - September 2010
No Sql - Olivier Mallassi - September 2010
 
Discovery Session France: Atelier découverte de la Data Virtualization
Discovery Session France: Atelier découverte de la Data VirtualizationDiscovery Session France: Atelier découverte de la Data Virtualization
Discovery Session France: Atelier découverte de la Data Virtualization
 
Discovery Session France: Atelier découverte de la Data Virtualization
Discovery Session France: Atelier découverte de la Data VirtualizationDiscovery Session France: Atelier découverte de la Data Virtualization
Discovery Session France: Atelier découverte de la Data Virtualization
 
Présentation des services AWS
Présentation des services AWSPrésentation des services AWS
Présentation des services AWS
 
Sql azure performance et montee en charge (1)
Sql azure   performance et montee en charge (1)Sql azure   performance et montee en charge (1)
Sql azure performance et montee en charge (1)
 

Plus de Ines Slimene

Spark
SparkSpark
Crud
CrudCrud
Cassandra
CassandraCassandra
Cassandra
Ines Slimene
 
Agregation
AgregationAgregation
Agregation
Ines Slimene
 
Pig
PigPig
Neo4j
Neo4jNeo4j
Mapreduce
MapreduceMapreduce
Mapreduce
Ines Slimene
 
Introduction
IntroductionIntroduction
Introduction
Ines Slimene
 
Intro mongodb
Intro mongodbIntro mongodb
Intro mongodb
Ines Slimene
 
Hive
HiveHive
Hdfs
HdfsHdfs
Hbase
HbaseHbase
Hadoop
HadoopHadoop
Hadoop
Ines Slimene
 
Indexation
IndexationIndexation
Indexation
Ines Slimene
 

Plus de Ines Slimene (14)

Spark
SparkSpark
Spark
 
Crud
CrudCrud
Crud
 
Cassandra
CassandraCassandra
Cassandra
 
Agregation
AgregationAgregation
Agregation
 
Pig
PigPig
Pig
 
Neo4j
Neo4jNeo4j
Neo4j
 
Mapreduce
MapreduceMapreduce
Mapreduce
 
Introduction
IntroductionIntroduction
Introduction
 
Intro mongodb
Intro mongodbIntro mongodb
Intro mongodb
 
Hive
HiveHive
Hive
 
Hdfs
HdfsHdfs
Hdfs
 
Hbase
HbaseHbase
Hbase
 
Hadoop
HadoopHadoop
Hadoop
 
Indexation
IndexationIndexation
Indexation
 

Dernier

Iris van Herpen. pptx
Iris            van        Herpen.     pptxIris            van        Herpen.     pptx
Iris van Herpen. pptx
Txaruka
 
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
BenotGeorges3
 
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La JeunesseConseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Oscar Smith
 
Procédure consignation Lock Out Tag Out.pptx
Procédure consignation  Lock Out Tag Out.pptxProcédure consignation  Lock Out Tag Out.pptx
Procédure consignation Lock Out Tag Out.pptx
caggoune66
 
Iris van Herpen. pptx
Iris         van        Herpen.      pptxIris         van        Herpen.      pptx
Iris van Herpen. pptx
Txaruka
 
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
M2i Formation
 
Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025
Billy DEYLORD
 
Iris van Herpen. pptx
Iris         van         Herpen.      pptxIris         van         Herpen.      pptx
Iris van Herpen. pptx
Txaruka
 
Edito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdfEdito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdf
WarlockeTamagafk
 
Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024
Friends of African Village Libraries
 
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
cristionobedi
 
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
mrelmejri
 

Dernier (12)

Iris van Herpen. pptx
Iris            van        Herpen.     pptxIris            van        Herpen.     pptx
Iris van Herpen. pptx
 
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
 
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La JeunesseConseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
 
Procédure consignation Lock Out Tag Out.pptx
Procédure consignation  Lock Out Tag Out.pptxProcédure consignation  Lock Out Tag Out.pptx
Procédure consignation Lock Out Tag Out.pptx
 
Iris van Herpen. pptx
Iris         van        Herpen.      pptxIris         van        Herpen.      pptx
Iris van Herpen. pptx
 
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
 
Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025
 
Iris van Herpen. pptx
Iris         van         Herpen.      pptxIris         van         Herpen.      pptx
Iris van Herpen. pptx
 
Edito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdfEdito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdf
 
Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024
 
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
 
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
 

Introduction nosql

  • 2. Plan Introduction NOSQL vs. BDR Bases de données NOSql Types de Bases de données NOSql ◦ Clef/valeur ◦ Orientées colonnes ◦ Orientées documents ◦ Orientées graphes https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 2
  • 3. Introduction NoSQL : Not Only SQL. Que signifie vraiment « Not Only » ??? Historique: ◦ Le terme « NoSQL » dans sa signification actuelle vient du nom d'un séminaire (pendant une conférence sur Hadoop) qui a eu lieu en 2009 sur les nouveaux types de bases de données qui n'utilisent pas SQL. ◦ Il fallait un nom qui fasse un bon hashtag sur Twitter : court, facile à mémoriser, et non populaire sur Google pour espérer pouvoir remonter dans les premiers résultats. https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 3
  • 4. Gestion des données au fil du temps https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 4 Système de fichiers 1ère génération des SGBD Les BD relationnelles Nouv types de données OLAP/DW Donnée web Deluge de données NoSQL 1960 1970 Ressources partagées 1980 Requête facile 1990 Données non structurées 2005+ Big Data
  • 5. Opérationnelle vs analytiques https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 5 RDBMS RDBMS RDBMS OLAP/DW OLAP/DW Hadoop Clé/valeur MongoDB NoSQL1990 2000
  • 6. Big Data https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 6 RDBMS NoSQL OLAP/DW Hadoop, Impala Traitement analytique Traitement Transactionnel visualisation Data Mining et outils d'intégration Online/temps réel Offline/Batch
  • 8. Bases de données relationnelles https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 8 • Entités - relation • Simple • Universel Modèle • SQL • Puissant • Ad-hoc Requête • ACIDTransaction • Utilisé massivement • Nombreux moteurs sur le marché • Nombreux outils Maturité
  • 9. SQL Un langage de requête plus ou moins normé Tout information est décrite par des listes de n-uplets Opérations puissante ◦ Sélection (where) ◦ Projection (select) ◦ Produit cartésien (join) ◦ Union ◦ Intersection ◦ Différence https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 9
  • 10. Mise en œuvre d’un SGBD-R https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 10 Serveur Applicatif Base de données HTTP JDBC
  • 11. https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 11 Mise en œuvre d’un SGBD-R Serveurs Applicatifs Base de données HTTP JDBC
  • 12. https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 12 Mise en œuvre d’un SGBD-R Serveurs Applicatifs Base de données HTTP JDBC
  • 13. Limites des bases de données relationnelles Montée en charge difficile ◦ Les règles d’intégrité compliquent la montée horizontale ◦ Montée en charge verticale ◦ Coût non linéaire ◦ Atteint une limite ◦ Point unique de défaillance https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 13
  • 14. Les limites des bases relationnelles Scalabilité ◦ Le modèle de consistance des RDBMS empêche l'utilisation de plusieurs machines pour répartir la charge (au moins en écriture) ◦ Pour augmenter la performance d'accès à la base, pas d'autres moyens que d'acheter un plus gros serveur, puis un autre, puis un autre, … https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 14
  • 15. Limites des bases de données relationnelles Relation : Contient un ensemble de n-uplets (les lignes) qui contiennent des attributs (les colonnes). Le domaine de chaque attribut est fixé et doit être composé de valeurs atomiques simples, i.e. non décomposables (1FN). Une requête SQL de type select retourne toujours une relation. https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 15
  • 16. Limites des bases de données relationnelles Contraintes ACID impossibles à respecter sur un cluster (et a fortiori sur Internet) pour conserver un fonctionnement correct (haute disponibilité, rapidité d'exécution et cohérence permanente de la base, partition accidentelle du cluster). https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 16
  • 17. BDR : Propriétés ACID https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 17 Propriétés ACID Atomicité : Toute transaction doit s'exécuter entièrement sans erreur ou pas du tout Les modifications d’une transaction ne sont pas visibles par les autres tant qu’elle n’a pas été validée. Une fois validées, les données sont permanentes jusqu’à leur prochaine modification (persistance). Consistance : La base de données doit toujours être dans un état cohérent entre deux transactions (assurer par les contraintes d’intégrité).
  • 18. Besoin: Performances prédictibles La performance des opérations doit être prédictible Amazon: ◦ Perte de 1 % de chiffre d’affaire si le temps d’affichage des pages augmente de 0,1 s ◦ Plan qualité interne : Temps de réponse doit être < 300 ms pour 99,9 % des requêtes pour un pic de 500 requêtes par secondes Google pénalise les sites dont les pages s’affichent en plus de 1,5 s https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 18
  • 19. Besoin: Prise en compte des pannes Amazon: ◦ Un datacenter de 100 000 disques ◦ entre 6 000 et 10 000 disques en panne par an ◦ (25 disques par jour) Les sources de panne sont nombreuses ◦ Matériel serveur (disque) ◦ Matériel réseau ◦ Alimentation électrique ◦ Anomalies logicielles ◦ Mises à jour des logiciels et des OS. https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 19
  • 20. Bases de données NOSql Bases de données NOSQL (Not OnlySQL) : ◦ Pas un Système de Gestion de Bases de Données mais plus un système de stockage de données. ◦ Bases de données non-relationnelles et largement distribuées ◦ Permet une analyse et une organisation rapides des données de très grands volumes et de types de données divers ◦ Appelées également ◦ Cloud Databases ◦ Non-Relational Databases ◦ BigData Databases https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 20
  • 21. Bases de données NOSql Le NoSQL vise : ◦ Gestion d'énormes quantités de données ◦ Structuration faible du modèle ◦ Montée en charge Caractéristiques ◦ Conçu pour être exécutée dans un cluster, ◦ Tendance à être Open Source, ◦ Modèle de données sans schéma ◦ Architecture distribuée ◦ Utilisation de langages et interfaces qui ne sont pas uniquement du SQL https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 21
  • 22. Bases de données NOSql https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 22 Avantages Inconvénients Fiabilité (tolérance aux pannes) Logiciel Extensibilité Réparation Partage des ressources Réseau Vitesse/Performance Sécurité
  • 23. Bases de données NOSql Business Intelligence et Analyse ◦ Capacité des bases NOSQL à exploiter les données collectées pour dériver des idées ◦ Extraction d’informations décisionnelles à partir d’un grand volume de données, difficile à obtenir avec des bases relationnelles Capacités transactionnelles modernes ◦ Nouvelles définitions du principe de transaction ◦ Utilisation des propriétés BASE au lieu des propriétés ACID https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 23
  • 24. Bases de données NOSql  Adaptation des BD NOSQL au BigData https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 24 beaucoup de données qui arrivent rapidement, à partir de plusieurs sources données structurées, semi- structurées ou non- structurées données très nombreuses (To et Po) données stockées et gérées à plusieurs endroits et data centers. Volume Vitesse Variété Véracité
  • 25. Les systèmes NoSQL : CAP Théorème CAP (proposé par Brewer, 2000 et démontré par Gilbert et Lynch 2002) Dans un environnement distribué, il n'est pas possible de respecter simultanément. On peut, en revanche, respecter deux contraintes. https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 25 à tout moment, pour chaque requête, la réponse est garantie. Même en cas de panne, les données restent accessiblesAvailability les données peuvent être partitionnées sur différents supports ,,,,sans souci de localisation. Les activités continuent sans interruption lors de la modification du système et en cas de chute du réseau Partition Tolerance Si j’écris une donnée dans un nœud et que je la lis à partir d’un a autre nœud dans un système distribué, je retrouve ce que j’ai écris sur le premier. Consistency
  • 26. Les systèmes NoSQL : CAP Présentation des trois combinaisons CA, CP, AP : ◦ CA – un seul cluster. Ainsi tous les nœuds sont en contact. Quant on ajoute une partition le système est bloqué ◦ CP – des données peuvent être non accessible mais le reste est cohérent ◦ AP - la valeur lue par un nœud peu être incohérente avec le contenu des autres nœuds https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 26 Consistency Partition Tolerance Availability CA AP CP MongoDB Hbase RedisRDBMS CouchDB Cassandra DynamoDB Riak
  • 27. NOSQL : Propriétés BASE BASE est plus flexible que ACID, accepte certaines erreurs, dont l’occurrence est assez rare https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 27 Le système garantit la disponibilité, comme définie dans le théorème CAP L’état du système peut changer dans le temps, même sans nouvelles entrées, et ce à cause du principe de consistance éventuelle Le système deviendra cohérent au fil du temps, en supposant que le système ne reçoit pas des entrées pendant ce temps la. Basically Available Soft-State Eventual Consistency
  • 28. NOSQL et BDR : Récapitulatif BRD NOSQL Consistance forte Consistance éventuelle Grandes quantités de données Enorme quantité de données Évolutivité possible Evolutivité facile SQL NoSQL Bonne disponibilité Très haute disponibilité https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 28
  • 29. Synthèse Les systèmes de gestion de données relationnelles sont maintenant une option parmi d'autres. Leur généricité leur permet d'être utilisés dans de nombreux cas mais les rends peu performants et complexes sur certains types de données (masse de données, attributs trop nombreux, …). Il faut savoir utiliser la solution la plus adaptée et pourquoi pas en utiliser plusieurs. Bases de données NOSQL ◦ Performances sur de gros volumes de données ◦ Performances sur des données non structurées ◦ Evolutivité très importante, même pour de faibles volumes https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 29
  • 30. Synthèse Les systèmes NoSQL ne remplaceront jamais les bases de données relationnelles. Il faut les voir comme une alternative après un quasi monopole du relationnel de plusieurs décennies. Cependant: ◦ Technologie assez jeune et Manque d’outils la supportant ◦ Encore en évolution, pas de standards ◦ Pas de langage de requêtage commun comme SQL ◦ On doit faire plus de travail au niveau du code, ce qui peut influer sur la performance https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 30
  • 31. Types de Bases de données NOSql https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 31
  • 32. Types de Base de données NR Types des bases de données NOSQL ◦ Clef/valeur (Key/Value Store) ◦ Orientées colonnes (Column Store) ◦ Orientées documents (Document Database) ◦ Orientées graphes (Graph Database) https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 32
  • 33. 1. Clef/Valeur stockage simple et direct d'un tableau associatif (hashtable) où tous les accès se font en utilisant la clé primaire Conçues pour sauvegarder les données sans définir de schéma Interrogation uniquement par la clé. On récupère une donnée associée à une clé. Ne fait que stocker des données en rapport avec une clé. Seulement 3 opérations possibles : ◦ Put : donner une valeur à une clé ◦ Get : récupérer la valeur d'une clé ◦ Delete : effacer la clé et sa valeur Exemple: DynamoDB(Amazon), Azure Table Storage (ATS), Redis, BerkeleyDB, Voldemort(LinkedIn) https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 33
  • 34. 1. Clef/Valeur  A utiliser pour ... De l'information très volatile ◦ Session utilisateur, données d'un panier d'achat De l'information très peu volatile et accéder très fréquemment ◦ Descriptions produit, paramétrage applicatif  A éviter pour ... Des données possédant des relations ◦ Relations entre agrégats ou corrélation entre données de différents ensemble de clés Des opérations impliquant de multiples clés Des besoins de requêtage par les données https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 34
  • 35. https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 35 Table étudiant : 1. Clé/Valeur : Exemple Id Nom Age Adresse 12 John 22 Paris 13 Ali Null Bruxelles 14 Alain Null Null Etud_12 Nom_$#_John~~Age_$#_22~~ Adresse_$#_Paris Clé Valeur
  • 36. 2. Orientée Documents Basé sur un système clé-valeur Mais la valeur est une structure que le système connaît et peut donc parcourir. Chaque document est un objet, contient un ou plusieurs champs, et chaque champs contient une valeur typée (string, date, binary ou array) Avantage : pouvoir récupérer, via une seule clef, un ensemble d’informations structurées de manière hiérarchique ◦ Dans les bases relationnelles, cela impliquerait plusieurs jointures Exemples : Mongo DB (SourceForge), CouchDB (Apache), RavenDB https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 36
  • 37. 2. Orientée Documents  A utiliser pour ... Données avec partie structurée et partie non structurée Données de suivi temps réel ou analytiques  A éviter pour ... Opérations nécessitant consistance sur plusieurs agrégats Des structures d'agrégat très changeantes avec des besoins de requêtage forts ◦ Inconvénient du schemaless https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 37
  • 38. https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 38 2. Orientée Documents Id Nom Age Adresse 12 John 22 Paris 13 Ali Null Bruxelles 14 Alain Null Null { {Nom: « John », Age: 22, Adresse: »Paris »}, {Nom: « Ali », Adresse: »Paris »}, {Nom: « Alain »} }
  • 39. 3. Orientées Colonnes Évolution de la BD clef/valeur Ressemble aux SGBDR, mais avec un nombre de colonnes dynamiques, différent d’un enregistrement à un autre (pas de colonnes portant les valeurs NULL) Exemples: Hbase(Hadoop), Cassandra (Facebook, Twitter), BigTable(Google) https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 39
  • 40. 3. Orientées Colonnes  A utiliser pour ... Données avec partie structurée et partie non structurée Données de publication variables ◦ CMS, Blogging avec commentaires, contenu dynamique, etc … Compteurs et analytiques  A éviter pour ... Des besoins de requêtage complexes Des besoins de calcul d'agrégation simples (nécessité de passer systématiquement par Map-Reduce aujourd'hui) https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 40
  • 41. https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 41 12 Nom|John Age|22 Adresse | Paris 13 Nom|Ali Adresse | Bruxelles 14 Nom|Alain 3. Orientées Colonnes Id Nom Age Adresse 12 John 22 Paris 13 Ali Null Bruxelles 14 Alain Null Null
  • 42. 4. Orienté Graphes On ne stocke plus un simple ensemble de données mais des relations. S’appuie sur les notions de nœuds, de relations et des propriétés qui leur sont rattachées Conçues pour les données dont les relations sont représentées comme graphes, et ayant des éléments interconnectés, avec un nombre indéterminé de relations entre elles. Le stockage d'un graphe sur plusieurs serveurs est un problème difficile (problème de performance même pour un simple calcul de chemin si le graphe est réparti sur plusieurs serveurs). Adapté aux traitements des données des réseaux sociaux Exemples: Neo4J et InfiniteGraph, OrientDB https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 42
  • 43. 4. Orienté Graphes  A utiliser pour ... Les moteurs de recommandations ◦ « Les autres clients ayant acheté ce produit ont aussi acheté ... » Les données naturellement connectées ◦ Réseaux sociaux Les services basés sur la localisation ou le calcul d'itinéraires  A éviter pour ... Les cas où de nombreux nœuds doivent être mis à jour https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 43
  • 44. https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 44 4. Orienté Graphes
  • 45. Comparaison entre Types de BD NOSQL https://inesslimene.wixsite.com/moncours BASES DE DONNÉES NOSQL 45 Complexité des requête et de la navigabilité Scalabilitéetvitesse Performance Clef-valeur Orientées colonnes Orientées documents Orientées graphes