SlideShare une entreprise Scribd logo
Introduction à
NoSQL databases
Dec 2019
1
 Stocke les données dans les tableaux
 Prend en charge la jointure entre les tables pour
interroger des données
Langage de requête standard (SQL)
Utilise l’Algèbre relationnelle
Évitez la duplication de données (Principe de Normalization)
Les transactions ACID
 (Atomicité, Cohérence, Isolation, Durabilité)
Bases de données relationnelles
 Avantages des bases de données
relationnelles:
2
Exemple 3
Pour un projet simple
on a besoins des relation (clés étranger)
on a besoin des schémas
on veut économiser l’espace disque.
Cas d’utilisation 4
ACID
Atomicity (Atomicité): Les tâches d'une transaction est
exécutée ou aucune d'entre elles. C'est le principe du tout ou rien.
Si un élément d'une transaction échoue, toute la transaction
échoue.
Consistency (Cohérence): La BDD doit rester dans un état cohérent
au début et à la fin d'une transaction. il n'y a jamais de transactions à
moitié terminées.
Isolition (Isolation): Aucune transaction n'a accès à une autre
transaction dont l'état n'est pas terminé. Ainsi, chaque transaction est
indépendante en soi. Cela est nécessaire pour la cohérence des
transactions dans une base de données.
Durability (Durabilité): Une fois la transaction terminée, elle
persistera et ne pourra plus être annulée, Elle survivra aux pannes du
système, aux coupures de courant et à d'autres types de pannes du
système.
5
BASE
Presque l'opposé d'ACID.
Basically Available: les nœuds d’un environnement
distribué peuvent tomber en panne, mais l’ensemble du
système ne doit pas être affecté.
Soft State (scalable): L'état du système et les données
changent avec le temps.
Eventual Consistency: si les délais sont suffisants, les
données seront cohérentes sur l'ensemble du système
distribué.
6
BASEvsACID 7
ACID:
• Cohérence forte
• Moins de disponibilité
• Complexe
BASE:
• La disponibilité.
• Cohérence plus faible (éventuelle)
• Meilleur effort
• Simple et rapide
Montée du Big Data
Wallmart: 1 million de transactions par
heure
Facebook: 40 billionphotos
Les personnes parlent plus que des
petabyte
8
Ère des Système distribué
A cause de la quantité énorme des données qui a apparue la
seule solution pour remédier a ce problème été les system
distribués
L’apparition du théorème de CAP.
Ce qui a introduit la terminologie horizontal scaling
9
10Ère des Système distribué
Mais...
 Les bases de données relationnelles n'ont pas
été construites pour applications distribuées.
Car...
 Les jointures sont chères
 Difficile pour la Mise à l'échelle horizontale
(horizontal scaling)
 Une inadéquation d'impédance se produit
 les requêtes sont parfois très complexes
(jointure)
 Un peu lent à cause des transaction ACID.
11
Ère de l'informatique distribuée
(Distributed Computing)
Mais...
 Les bases de données relationnelles n'ont pas
été construites pour applications distribuées.
Car...
 Les jointures sont chères
 Difficile pourlaMiseàl'échelle horizontale
(horizontal scaling)
 Une inadéquation d'impédance se produit
 les requêtes sont parfois très complexes
(jointure)
 Un peu lent à cause des transaction ACID.
Et....
Il est faible en:
 Vitesse(performance)
 La haute disponibilité
12
Ère de l'informatique distribuée
(Distributed Computing)
‘‘NoSQL’’
13
NoSQL?
Google & Amazon construisent leurs
propres bases de données
Facebook a inventé Cassandra et en
utilise des milliers
Le nom n’indique pas ses
caractéristiques
Il n'y a pas de définition stricte pour les bases
de données NoSQL
Il y a plus de 225 bases de données NoSQL
(nosql-database.org)
14
3 V(s) de Bigdata:
Data Velocity
 Beaucoup de données arrivant très rapidement, éventuellement de
différents endroits
Data Variety
 Stockage de données structurées, semi-structurées, non
structurées
Data Volume
 Données comportant plusieurs téraoctets ou pétaoctets
Data Complexity
 Données stockées et gérées dans différents emplacements ou
centres de données
153v1c?
C’est pourquoi nous avons besoin de NoSQL
16
Caractéristiques des bases de données
NoSQL
Non relationnel
Moins de schéma
Open-source
17
NoSQLévite :
Complexité de la requête SQL
Charge de la conception initiale du schéma
Transactions (il devrait être traité à couche d'application)
Fournit :
Modifications faciles et fréquentes de la base de données
Horizontale scaling
Solution au mismatch d'impédance
Développement rapide
18Caractéristiques des bases de données
NoSQL
NoSQL devient populaire 19
Exemple 20
Types du base de données NoSQL 21
Key-value (Clés-valeurs )
Repose sur le couple clé-valeur
Les données peuvent avoir n'importe quel
format
Conçu pour gérer beaucoup de données
et une charge importante
Stockent les données sous forme de
table de hachage
22
Avantages
Peut stocker n’importe quel type de valeur
Rapide
Hautement évolutive (Highly Scalable)
Hautement disponible (Highly availability)
Des operations de base: Insert(key,value),
Update(key), Delete(key).
23
Inconvénient
La recherche ne peut pas être effectuée avec
les valeurs.
Pas de requête.
Pas des relations.
24
Document
Repose sur la notion de clé-valeur
Stock les données dans un
document(JSON, XML)
Les valeurs sont structurées
Conçu pour gérer et stocker les
documents.
25
Avantages
Simple
Pas des jointures
Pas de schéma
Consistante
Les requête sont simple que le SQL
26
Inconvénient
Pas des transaction ACID
Pas de model
Les données sont dupliqués
27
Exemple Insertion
28
SQL NoSQL
INSERT INTO book (
` Num ’,’Titre’, `Auteur’
)
VALUES (
’123456789′,
‘La blonde de pékin’,
‘James Hadley Chase’
);
db.book.insert(
{Num: “123456789″, Titre: “La blonde de
pékin”, Auteur: “James Hadley Chase”}
);
Ajoute un nouveau
livre
Simple MongoDB query 29
SQL:
MongoDB:
Iln'yapasdejointuredanslarequêteMongoDB
Parcequenousutilisonsunmodèlededonnées
Présentation d'un modèle de données basé sur
des documents 30
Présentation d'un modèle de données basé
sur des documents 31
Column family (Colonnes)
32
Les bases de données de familles de
colonnes sont représentées dans des
tables
Se focalise sur les attributs
Fournissent des performances élevées
sur les requêtes d'agrégation
Toutes les données associées peuvent
être regroupées dans une même famille
Utilisées pour gérer Data Warehouses,
BI
Avantages
Flexibilité
Non-stockage des valeurs null
Lecture Rapide
Conçu pour stocker une quantité énorme des
données
33
Inconvénient
Non-adaptée aux données interconnectées
Non-adaptée pour les données non-strucurées
Faible Taux de compression
Beaucoup de colonnes
Complexe
34
Graph (Base graphique)
Elles remplacent les tables relationnelles par des graph
relationnels structurés.
Basé sur la théorie des graphes.
Vous pouvez facilement utiliser les algorithmes
graphiques
Elles sont utiles lorsque vous êtes plus intéressé par les
relations entre données que par les données elles -
mêmes
35
Avantages
Il y a des relations
Identiques quand le jeu de données s'accroît
La flexibilité
Les transaction ACID
36
Inconvénient
Une structure très complexe
Pas facile pour la répartition
Parcourir le graphique entier pour obtenir une
réponse définitive
37
Donc…
Nous avons besoin d'un système de base de données
distribué ayant de telles fonctionnalités:
–Tolérancedepartition
–Lahautedisponibilité
–Cohérence
–L'évolutive
38
Donc…
Nous avons besoin d'un système de base de données
distribué ayant de telles fonctionnalités:
–Tolérancedepartition
–Lahautedisponibilité
–Cohérence
–L'évolutivité
39
Théorème CAP
Consistency (Cohérence): les
clients doivent lire les mêmes
données.
Availability (Disponibilité): Les
données doivent être
disponibles, et ne devrait pas
y avoir de temps d'arrêt.
Partition Tolerance(Distribution):Les
données à partitionné sur des
segments de réseau.
40
Théorème CAP dans différentes bases de données SQL / NoSQL
We can not achieve all the three items
Indistributed database systems(center) Proven by Nancy Lynch et al. MIT labs.
41
Le triangle de CAP
42
43Conclusion : SQL vs NoSQL
SQL NOSQL
Scalabilité vertical et pas trop
horizontale
Scalabilité horizontale
Cohérent Consistante ou éventuelle
Scalable lecture Scalable Lecture / écriture
Transactions sur plusieurs tables Difficile de supporter la
transaction
Aucune tolérance de partition Tolérance de partition
Schéma / tables Pas de schéma
Requêtes flexibles (jointures) Requêtes limitées
Avantdechoisir NoSQLcommesolution : 44
Persistancepolyglot: l'avenirdessystèmesdebasede
données
 Les futures bases de données combinent SQL et NoSQL
 Nous avons toujours besoin de bases de données
relationnelles
45
46
Références :
 Présentation de Martin Fowler à la conférence de Goto
 www.mongodb.org
 Google, Youtube…
47
THE END

Contenu connexe

Tendances

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
 
Bases de données NoSQL
Bases de données NoSQLBases de données NoSQL
Bases de données NoSQL
Samy Dindane
 
Introduction NoSql 201406 - lbroudoux
Introduction NoSql 201406 - lbroudouxIntroduction NoSql 201406 - lbroudoux
Introduction NoSql 201406 - lbroudoux
Laurent Broudoux
 
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
 
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
Hatim CHAHDI
 
BigData_TP4 : Cassandra
BigData_TP4 : CassandraBigData_TP4 : Cassandra
BigData_TP4 : Cassandra
Lilia Sfaxi
 
TP2 Big Data HBase
TP2 Big Data HBaseTP2 Big Data HBase
TP2 Big Data HBase
Amal Abid
 
Technologies pour le Big Data
Technologies pour le Big DataTechnologies pour le Big Data
Technologies pour le Big Data
Minyar Sassi Hidri
 
Cours Big Data Chap5
Cours Big Data Chap5Cours Big Data Chap5
Cours Big Data Chap5
Amal Abid
 
Découverte de Redis
Découverte de RedisDécouverte de Redis
Découverte de RedisJEMLI Fathi
 
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Hatim CHAHDI
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
Lilia Sfaxi
 
Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - Spark
Amal Abid
 
Chapitre 2 hadoop
Chapitre 2 hadoopChapitre 2 hadoop
Chapitre 2 hadoop
Mouna Torjmen
 
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
MICHRAFY MUSTAFA
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big Data
Lilia Sfaxi
 
Introduction à Neo4j
Introduction à Neo4jIntroduction à Neo4j
Introduction à Neo4j
Neo4j
 
Conférence big data
Conférence big dataConférence big data
Conférence big data
Stéphane Traumat
 
Tp Sql Server Integration Services 2008
Tp  Sql Server Integration Services  2008Tp  Sql Server Integration Services  2008
Tp Sql Server Integration Services 2008
Abdelouahed Abdou
 
DataWarehouse
DataWarehouseDataWarehouse
DataWarehouse
nzuguem
 

Tendances (20)

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
 
Bases de données NoSQL
Bases de données NoSQLBases de données NoSQL
Bases de données NoSQL
 
Introduction NoSql 201406 - lbroudoux
Introduction NoSql 201406 - lbroudouxIntroduction NoSql 201406 - lbroudoux
Introduction NoSql 201406 - lbroudoux
 
BigData_Chp5: Putting it all together
BigData_Chp5: Putting it all togetherBigData_Chp5: Putting it all together
BigData_Chp5: Putting it all together
 
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_TP4 : Cassandra
BigData_TP4 : CassandraBigData_TP4 : Cassandra
BigData_TP4 : Cassandra
 
TP2 Big Data HBase
TP2 Big Data HBaseTP2 Big Data HBase
TP2 Big Data HBase
 
Technologies pour le Big Data
Technologies pour le Big DataTechnologies pour le Big Data
Technologies pour le Big Data
 
Cours Big Data Chap5
Cours Big Data Chap5Cours Big Data Chap5
Cours Big Data Chap5
 
Découverte de Redis
Découverte de RedisDécouverte de Redis
Découverte de Redis
 
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
 
Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - Spark
 
Chapitre 2 hadoop
Chapitre 2 hadoopChapitre 2 hadoop
Chapitre 2 hadoop
 
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
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big Data
 
Introduction à Neo4j
Introduction à Neo4jIntroduction à Neo4j
Introduction à Neo4j
 
Conférence big data
Conférence big dataConférence big data
Conférence big data
 
Tp Sql Server Integration Services 2008
Tp  Sql Server Integration Services  2008Tp  Sql Server Integration Services  2008
Tp Sql Server Integration Services 2008
 
DataWarehouse
DataWarehouseDataWarehouse
DataWarehouse
 

Similaire à Les Base de Données NOSQL -Presentation -

Big data: NoSQL comme solution
Big data: NoSQL comme solutionBig data: NoSQL comme solution
Big data: NoSQL comme solutionJEMLI Fathi
 
SQL Server et les développeurs
SQL Server et les développeurs SQL Server et les développeurs
SQL Server et les développeurs
Microsoft
 
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
 
Les clés de succès pour moderniser votre architecture de données en 2022
Les clés de succès pour moderniser votre architecture de données en 2022Les clés de succès pour moderniser votre architecture de données en 2022
Les clés de succès pour moderniser votre architecture de données en 2022
Denodo
 
Base de données graphe et Neo4j
Base de données graphe et Neo4jBase de données graphe et Neo4j
Base de données graphe et Neo4j
Boris Guarisma
 
NoSQL panorama - Jean Seiler Softeam
NoSQL panorama - Jean Seiler SofteamNoSQL panorama - Jean Seiler Softeam
NoSQL panorama - Jean Seiler Softeam
TelecomValley
 
Neo4j
Neo4jNeo4j
NoSQL: Quoi, quand et pour qui par Orlando Cassano du CETIC
NoSQL: Quoi, quand et pour qui par Orlando Cassano du CETICNoSQL: Quoi, quand et pour qui par Orlando Cassano du CETIC
NoSQL: Quoi, quand et pour qui par Orlando Cassano du CETIC
La FeWeb
 
Introduction nosql
Introduction nosqlIntroduction nosql
Introduction nosql
Ines Slimene
 
Webinar Degetel DataStax
Webinar Degetel DataStaxWebinar Degetel DataStax
Webinar Degetel DataStax
Victor Coustenoble
 
Mappingobjetrelationnel[1]
Mappingobjetrelationnel[1]Mappingobjetrelationnel[1]
Mappingobjetrelationnel[1]linasafaa
 
Database/ Bases de données
Database/ Bases de donnéesDatabase/ Bases de données
Database/ Bases de données
zied kallel
 
Introduction au Domain Driven Design
Introduction au Domain Driven DesignIntroduction au Domain Driven Design
Introduction au Domain Driven Design
DNG Consulting
 
cours06-nosql.pdf
cours06-nosql.pdfcours06-nosql.pdf
cours06-nosql.pdf
hbadir
 
java BDD jdbc
java BDD jdbcjava BDD jdbc
java BDD jdbcvangogue
 
Architectures bigdata
Architectures bigdataArchitectures bigdata
Architectures bigdata
khouloud Hwerbi
 
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
 
MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?
MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?
MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?
Benoit Fillon
 
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
 

Similaire à Les Base de Données NOSQL -Presentation - (20)

Big data: NoSQL comme solution
Big data: NoSQL comme solutionBig data: NoSQL comme solution
Big data: NoSQL comme solution
 
SQL Server et les développeurs
SQL Server et les développeurs SQL Server et les développeurs
SQL Server et les développeurs
 
No Sql - Olivier Mallassi - September 2010
No Sql - Olivier Mallassi - September 2010No Sql - Olivier Mallassi - September 2010
No Sql - Olivier Mallassi - September 2010
 
Les clés de succès pour moderniser votre architecture de données en 2022
Les clés de succès pour moderniser votre architecture de données en 2022Les clés de succès pour moderniser votre architecture de données en 2022
Les clés de succès pour moderniser votre architecture de données en 2022
 
Base de données graphe et Neo4j
Base de données graphe et Neo4jBase de données graphe et Neo4j
Base de données graphe et Neo4j
 
Base de données
Base de donnéesBase de données
Base de données
 
NoSQL panorama - Jean Seiler Softeam
NoSQL panorama - Jean Seiler SofteamNoSQL panorama - Jean Seiler Softeam
NoSQL panorama - Jean Seiler Softeam
 
Neo4j
Neo4jNeo4j
Neo4j
 
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
 
Introduction nosql
Introduction nosqlIntroduction nosql
Introduction nosql
 
Webinar Degetel DataStax
Webinar Degetel DataStaxWebinar Degetel DataStax
Webinar Degetel DataStax
 
Mappingobjetrelationnel[1]
Mappingobjetrelationnel[1]Mappingobjetrelationnel[1]
Mappingobjetrelationnel[1]
 
Database/ Bases de données
Database/ Bases de donnéesDatabase/ Bases de données
Database/ Bases de données
 
Introduction au Domain Driven Design
Introduction au Domain Driven DesignIntroduction au Domain Driven Design
Introduction au Domain Driven Design
 
cours06-nosql.pdf
cours06-nosql.pdfcours06-nosql.pdf
cours06-nosql.pdf
 
java BDD jdbc
java BDD jdbcjava BDD jdbc
java BDD jdbc
 
Architectures bigdata
Architectures bigdataArchitectures bigdata
Architectures bigdata
 
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
 
MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?
MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?
MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?
 
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
 

Les Base de Données NOSQL -Presentation -

  • 2.  Stocke les données dans les tableaux  Prend en charge la jointure entre les tables pour interroger des données Langage de requête standard (SQL) Utilise l’Algèbre relationnelle Évitez la duplication de données (Principe de Normalization) Les transactions ACID  (Atomicité, Cohérence, Isolation, Durabilité) Bases de données relationnelles  Avantages des bases de données relationnelles: 2
  • 4. Pour un projet simple on a besoins des relation (clés étranger) on a besoin des schémas on veut économiser l’espace disque. Cas d’utilisation 4
  • 5. ACID Atomicity (Atomicité): Les tâches d'une transaction est exécutée ou aucune d'entre elles. C'est le principe du tout ou rien. Si un élément d'une transaction échoue, toute la transaction échoue. Consistency (Cohérence): La BDD doit rester dans un état cohérent au début et à la fin d'une transaction. il n'y a jamais de transactions à moitié terminées. Isolition (Isolation): Aucune transaction n'a accès à une autre transaction dont l'état n'est pas terminé. Ainsi, chaque transaction est indépendante en soi. Cela est nécessaire pour la cohérence des transactions dans une base de données. Durability (Durabilité): Une fois la transaction terminée, elle persistera et ne pourra plus être annulée, Elle survivra aux pannes du système, aux coupures de courant et à d'autres types de pannes du système. 5
  • 6. BASE Presque l'opposé d'ACID. Basically Available: les nœuds d’un environnement distribué peuvent tomber en panne, mais l’ensemble du système ne doit pas être affecté. Soft State (scalable): L'état du système et les données changent avec le temps. Eventual Consistency: si les délais sont suffisants, les données seront cohérentes sur l'ensemble du système distribué. 6
  • 7. BASEvsACID 7 ACID: • Cohérence forte • Moins de disponibilité • Complexe BASE: • La disponibilité. • Cohérence plus faible (éventuelle) • Meilleur effort • Simple et rapide
  • 8. Montée du Big Data Wallmart: 1 million de transactions par heure Facebook: 40 billionphotos Les personnes parlent plus que des petabyte 8
  • 9. Ère des Système distribué A cause de la quantité énorme des données qui a apparue la seule solution pour remédier a ce problème été les system distribués L’apparition du théorème de CAP. Ce qui a introduit la terminologie horizontal scaling 9
  • 10. 10Ère des Système distribué
  • 11. Mais...  Les bases de données relationnelles n'ont pas été construites pour applications distribuées. Car...  Les jointures sont chères  Difficile pour la Mise à l'échelle horizontale (horizontal scaling)  Une inadéquation d'impédance se produit  les requêtes sont parfois très complexes (jointure)  Un peu lent à cause des transaction ACID. 11 Ère de l'informatique distribuée (Distributed Computing)
  • 12. Mais...  Les bases de données relationnelles n'ont pas été construites pour applications distribuées. Car...  Les jointures sont chères  Difficile pourlaMiseàl'échelle horizontale (horizontal scaling)  Une inadéquation d'impédance se produit  les requêtes sont parfois très complexes (jointure)  Un peu lent à cause des transaction ACID. Et.... Il est faible en:  Vitesse(performance)  La haute disponibilité 12 Ère de l'informatique distribuée (Distributed Computing)
  • 14. NoSQL? Google & Amazon construisent leurs propres bases de données Facebook a inventé Cassandra et en utilise des milliers Le nom n’indique pas ses caractéristiques Il n'y a pas de définition stricte pour les bases de données NoSQL Il y a plus de 225 bases de données NoSQL (nosql-database.org) 14
  • 15. 3 V(s) de Bigdata: Data Velocity  Beaucoup de données arrivant très rapidement, éventuellement de différents endroits Data Variety  Stockage de données structurées, semi-structurées, non structurées Data Volume  Données comportant plusieurs téraoctets ou pétaoctets Data Complexity  Données stockées et gérées dans différents emplacements ou centres de données 153v1c?
  • 16. C’est pourquoi nous avons besoin de NoSQL 16
  • 17. Caractéristiques des bases de données NoSQL Non relationnel Moins de schéma Open-source 17
  • 18. NoSQLévite : Complexité de la requête SQL Charge de la conception initiale du schéma Transactions (il devrait être traité à couche d'application) Fournit : Modifications faciles et fréquentes de la base de données Horizontale scaling Solution au mismatch d'impédance Développement rapide 18Caractéristiques des bases de données NoSQL
  • 21. Types du base de données NoSQL 21
  • 22. Key-value (Clés-valeurs ) Repose sur le couple clé-valeur Les données peuvent avoir n'importe quel format Conçu pour gérer beaucoup de données et une charge importante Stockent les données sous forme de table de hachage 22
  • 23. Avantages Peut stocker n’importe quel type de valeur Rapide Hautement évolutive (Highly Scalable) Hautement disponible (Highly availability) Des operations de base: Insert(key,value), Update(key), Delete(key). 23
  • 24. Inconvénient La recherche ne peut pas être effectuée avec les valeurs. Pas de requête. Pas des relations. 24
  • 25. Document Repose sur la notion de clé-valeur Stock les données dans un document(JSON, XML) Les valeurs sont structurées Conçu pour gérer et stocker les documents. 25
  • 26. Avantages Simple Pas des jointures Pas de schéma Consistante Les requête sont simple que le SQL 26
  • 27. Inconvénient Pas des transaction ACID Pas de model Les données sont dupliqués 27
  • 28. Exemple Insertion 28 SQL NoSQL INSERT INTO book ( ` Num ’,’Titre’, `Auteur’ ) VALUES ( ’123456789′, ‘La blonde de pékin’, ‘James Hadley Chase’ ); db.book.insert( {Num: “123456789″, Titre: “La blonde de pékin”, Auteur: “James Hadley Chase”} ); Ajoute un nouveau livre
  • 29. Simple MongoDB query 29 SQL: MongoDB: Iln'yapasdejointuredanslarequêteMongoDB Parcequenousutilisonsunmodèlededonnées
  • 30. Présentation d'un modèle de données basé sur des documents 30
  • 31. Présentation d'un modèle de données basé sur des documents 31
  • 32. Column family (Colonnes) 32 Les bases de données de familles de colonnes sont représentées dans des tables Se focalise sur les attributs Fournissent des performances élevées sur les requêtes d'agrégation Toutes les données associées peuvent être regroupées dans une même famille Utilisées pour gérer Data Warehouses, BI
  • 33. Avantages Flexibilité Non-stockage des valeurs null Lecture Rapide Conçu pour stocker une quantité énorme des données 33
  • 34. Inconvénient Non-adaptée aux données interconnectées Non-adaptée pour les données non-strucurées Faible Taux de compression Beaucoup de colonnes Complexe 34
  • 35. Graph (Base graphique) Elles remplacent les tables relationnelles par des graph relationnels structurés. Basé sur la théorie des graphes. Vous pouvez facilement utiliser les algorithmes graphiques Elles sont utiles lorsque vous êtes plus intéressé par les relations entre données que par les données elles - mêmes 35
  • 36. Avantages Il y a des relations Identiques quand le jeu de données s'accroît La flexibilité Les transaction ACID 36
  • 37. Inconvénient Une structure très complexe Pas facile pour la répartition Parcourir le graphique entier pour obtenir une réponse définitive 37
  • 38. Donc… Nous avons besoin d'un système de base de données distribué ayant de telles fonctionnalités: –Tolérancedepartition –Lahautedisponibilité –Cohérence –L'évolutive 38
  • 39. Donc… Nous avons besoin d'un système de base de données distribué ayant de telles fonctionnalités: –Tolérancedepartition –Lahautedisponibilité –Cohérence –L'évolutivité 39
  • 40. Théorème CAP Consistency (Cohérence): les clients doivent lire les mêmes données. Availability (Disponibilité): Les données doivent être disponibles, et ne devrait pas y avoir de temps d'arrêt. Partition Tolerance(Distribution):Les données à partitionné sur des segments de réseau. 40
  • 41. Théorème CAP dans différentes bases de données SQL / NoSQL We can not achieve all the three items Indistributed database systems(center) Proven by Nancy Lynch et al. MIT labs. 41
  • 42. Le triangle de CAP 42
  • 43. 43Conclusion : SQL vs NoSQL SQL NOSQL Scalabilité vertical et pas trop horizontale Scalabilité horizontale Cohérent Consistante ou éventuelle Scalable lecture Scalable Lecture / écriture Transactions sur plusieurs tables Difficile de supporter la transaction Aucune tolérance de partition Tolérance de partition Schéma / tables Pas de schéma Requêtes flexibles (jointures) Requêtes limitées
  • 45. Persistancepolyglot: l'avenirdessystèmesdebasede données  Les futures bases de données combinent SQL et NoSQL  Nous avons toujours besoin de bases de données relationnelles 45
  • 46. 46
  • 47. Références :  Présentation de Martin Fowler à la conférence de Goto  www.mongodb.org  Google, Youtube… 47