Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD
-
Upload
valtech -
Category
Technology
-
view
1.861 -
download
0
description
Transcript of Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD
![Page 1: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/1.jpg)
© Valtech 2011
NoSQL : Le nuage souffle un nouvel « »
sur les SGBD
Senior Consultante
Valtech Paris
Claude Falguière
Directeur Opérationnel
Valtech Toulouse
Herve Desaunois
R
![Page 2: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/2.jpg)
© Valtech 2011#2
Sommaire
Partie 1
Contexte et enjeux
Partie 2
Le tour du monde
Partie 3
Les 10 commandements
![Page 3: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/3.jpg)
© Valtech 2011#3
Sommaire
Partie 1
Contexte et enjeux
Partie 2
Le tour du monde
Partie 3
Les 10 commandements
![Page 4: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/4.jpg)
© Valtech 2011#4
NoSQL ?
![Page 5: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/5.jpg)
© Valtech 2011#5
NoSQL "Not only SQL"
• Technologie relative aux bases de données
Alternatives au SGBD relationnels pour gérer de gros volumes
• Émergence printemps 2009 avec le Cloud Computing et le Web 2.0
BigTable Google, Dynamo Amazone, Cassandra Facebook, Twitter
• De nombreuses solutions Open Source
Cassandra, CouchDB, MongoDB, Riak, Neo4J ….
![Page 6: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/6.jpg)
© Valtech 2011
L’écosystème NoSQL
#6
Clé Valeur
Document Colonne
Graphe
![Page 7: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/7.jpg)
© Valtech 2011#7
Return On Invest
Alternatives intéressante au solution de type RAC
(Real Application Cluster)
Coût faibleGros Volume
Haute Disponibilité
![Page 8: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/8.jpg)
© Valtech 2011#8
Le CAP Theorem (Eric Brewer)
![Page 9: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/9.jpg)
© Valtech 2011#9
Sommaire
Partie 1
Contexte et enjeux
Partie 2
Le tour du mondePartie 3
Les 10 commandements
![Page 10: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/10.jpg)
© Valtech 2011
Les bases Clé Valeur
#10
Implémentations très nombreuses
Structure de données très simple• Map
Base simple à créer
Redis, BigTable, Voldemort, MemcacheDB …
Clé Valeur
Clé Valeur
Clé Valeur
![Page 11: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/11.jpg)
© Valtech 2011
Les bases Colonnes
#11
Une table est définie par des familles de colonnes
• Chaque famille peut avoir un nombre quelconque de colonnes
• Les colonnes sont représentées par des couples clés-valeur
Optimisé pour l’accès par colonne
Représentation plus flexible• One to many
• Grand nombre de colonnes
• Sparse data
HBase, Cassandra
Clé Valeur
Clé Valeur
Clé Valeur
Clé
Clé
Clé
Valeur
Valeur
Valeur
Clé
Clé
Clé
Famille
Colonne
![Page 12: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/12.jpg)
© Valtech 2011
Les bases Document
#12
La clé correspond à un document soit
XML soit JSON
Retrouver avec une seule clé un
ensemble d’informations structurées de manière hiérarchique
• L’utilisateur, ses statuts, ses amis
L’équivalent en relationnel impliquerait
beaucoup de jointures
MongoDB, CouchDB
Clé
Valeur
Valeur
Valeur
Clé
Clé
Clé
Valeur
Valeur
Valeur
Clé
Clé
Clé
ValeurClé
ValeurClé
![Page 13: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/13.jpg)
© Valtech 2011
Les bases Graphe
#13
Reposent sur la notion
de nœuds
et de relations
et de propriétés
Traitement des données de réseaux sociaux
• l’utilisateur, ses amis, les amis de ses amis
En phase avec les outils du web sémantique (RDF,
SparQL)
Neo4J
Source: neo4J
![Page 14: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/14.jpg)
© Valtech 2011
Use case : accès rapide
#14
![Page 15: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/15.jpg)
© Valtech 2011
Redis à Skyrock
#15
Calculer en temps réel les amis connectés
20h30 : [ 1,4,6,9,10,15,17,25 ]
20h29 : [ 1,6,9,10,15,17,25 ]
20h28 : [ 4,6,9,10,13;15,25 ]
20h27 : [ 1,4,6,9,10,13,18,25 ]
20h26 : [ 1,4,6,9,10,18,20 ]
UNION : [ 10,1,20,4,13,15,6,18,9,17,25 ]
follows : [ 7, 3, 9, 4 ]
INTER : [ 9, 4 ]
![Page 16: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/16.jpg)
© Valtech 2011
Share Nothing, pas de transactionnel
#16
Distribution
Partionnement / Sharding
Replication
Versionning
![Page 17: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/17.jpg)
© Valtech 2011
Pas de langage de requête, pas de jointures
#17
Interface de type get/put
• put user:1:name claude
• get user:1:name
• list user:*:name
Les valeurs sont des tableaux d’octets ou des types prédéfinis
API propriétaires
Bindings dans différents langages
Apache Thrift, Avro, parfois JPA ou JDO
Des compléments SQL Like : Pig, Hive
![Page 18: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/18.jpg)
© Valtech 2011
Use case : Données massives, parallélisation
#18
![Page 19: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/19.jpg)
© Valtech 2011
Gestion des logs chez Twitter
#19
12 millions de tweets / jour
7 To de logs par jour
Double plusieurs fois par an
Saturation des systèmes de gestion de
logs traditionnels
• Pertes de logs
• Perte d’information7 disques standards
14 disques de laptop
24,3h d’écriture sur
un disque à 80Mo/s
![Page 20: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/20.jpg)
© Valtech 2011
Analytics des tweets chez Twitter
#20#20
Quoi ?
• Compte les actions sur les URL (clic, favoris, retweet)
• Comptabilise par annonceur/campagne/tweet_id
A quoi ça sert ?
• Cette url a été retweeté 121 fois (en temps réel)
• Les analytics des promoted tweets
• Le monitoring interne de cette activité
Exigences
• 100 000 Write/s
• 10 000 Read/s
• >100 To
• < 100ms
![Page 21: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/21.jpg)
© Valtech 2011
Input
Input
Map Reduce
Map
Map
Map function :
couleur
Reduce
Reduce function :
Compter par couleur
9
7…
…
1 +
1 +
1 +
…
...
...
1 +
1 +
1 +
…
#21
10: 10:
25: 25:
56: 56:
78: 78:
![Page 22: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/22.jpg)
© Valtech 2011
Map
Map
Input
Input
Map Reduce : Scalabilité
Map
Map
Shuffle Sort :
Ranger par
couleur
Reduce
Reduce
…
...
...
12:
85:
64:
36:
63
45
Input
…
Input
#22
1 +
1 +
…
1 +
1 +
…
12: 12:
36: 36:
64: 64:
85: 85:
![Page 23: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/23.jpg)
© Valtech 2011
Map Reduce : Combien de tweets par user_id ?
#23
Map :
• Déterminer le user_id d’un tweet
• Réparti sur les nœuds où sont stockés les tweets
Reduce :
• Totaliser par user_id
• Centralisé ou réparti par range de user_id
Très adapté aux langages fonctionnels :
• Support natif du Map/Reduce
• collect { it.getArea() }
• groupBy { it.color }.sum()
![Page 24: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/24.jpg)
© Valtech 2011
Use Case : Facilité d’utilisation
#24
![Page 25: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/25.jpg)
© Valtech 2011
User history chez bit.ly
#25
Bit.ly
• 50 Millions d’utilisateurs
• 10 000 d’accès simultanés
• 1,25 milliards de raccourcis par mois (1000/s pic)
Stockage des user history dans MongoDB
• url raccourcies, leurs stats, les accès
![Page 26: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/26.jpg)
© Valtech 2011
Les bases Documents
#26
Facile à utiliser
• Manipulation de collections d’objets
• Bien intégré aux langages fonctionnels
• Accès en REST
Rapide
• Pas de jointure pour retrouver les données dépendantes
• Stocker une portion de la base sur le client
Flexible
• Evolutivité du schéma
![Page 27: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/27.jpg)
© Valtech 2011
Use case : utiliser le modèle de données adapté
#27
![Page 28: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/28.jpg)
© Valtech 2011
Twitter : activité des amis
#28
12 millions de tweets
• Autojointure sur n millions de lignes ?
• Compter les tweets avec un count(*) sur des millions de lignes ?
FlockDB pour reconstruire le réseau social
![Page 29: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/29.jpg)
© Valtech 2011
Les bases Graphe
#29
Représentation native des réseaux de personnes, d’équipement, de
concepts …
Manipulation d’objets
• Les noeuds et les relations sont des objets
Langages des requêtes : SparQL, Gremlin
Souvent transactionnelles
Réplication mais montent un peu moins en charge
• Jusqu’à 1 milliard de nœuds/relation/propriété
![Page 30: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/30.jpg)
© Valtech 2011#30
Sommaire
Partie 1
Contexte et enjeux
Partie 2
Le tour du monde
Partie 3
Les 10 commandements
![Page 31: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/31.jpg)
© Valtech 2011#31
Les dix commandements
1 - Solution très bonnes pour les gros volumes et la haute disponibilité
Cassandra, Google Tables, Amazone Tables , Azure Tables,…
2 - Solution très bonnes pour la distribution de données
Map Reduce, Cloud DB, Web 2.0
3 - Plus de souplesse des schémas
Solution Orienté Colonne
![Page 32: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/32.jpg)
© Valtech 2011#32
Les dix commandements
4 - NoSQL ne remplace pas les systèmes classiques
Oracle, MySQL, DB2, SQL Server, ….
5 - Pas de standards
Pas de langage commun , Pas d’outils de type ORM,
Outil d’administration faible
6 - Attention à la sécurité sur les bases NoSQL
Pas d’accès restreint
![Page 33: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/33.jpg)
© Valtech 2011#33
Les dix commandements
7 - Pas de transaction
Des problématiques qui remontent au niveau Applicatif , Perte d’acidité ,….
8 – Performance très bonne
N’implémentent que les mécanismes dont elles ont besoin
9 - Coûts très attractifs et très bonne réputation en production
Cassandra, BigTable, Dynamo, ….
![Page 34: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/34.jpg)
© Valtech 2011#34
Les dix commandements
10 - Avenir incertain du mouvement NoSQL
Apparition d’ORM, prise en charge de la sécurité, Architecture Hybride,
CQRS (« Command and Query Responsability Segregation ».) ,
Sharding with SQL Azure
![Page 35: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/35.jpg)
© Valtech 2011#35
Solution Architecture Hybride
![Page 36: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/36.jpg)
© Valtech 2011#36
No SQL, No Relationnel
![Page 37: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/37.jpg)
© Valtech 2011#37
SGBD No Relationnel
![Page 38: Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD](https://reader036.fdocument.pub/reader036/viewer/2022081400/55512ae9b4c905f1528b4c19/html5/thumbnails/38.jpg)
© Valtech 2011
Droits de reproduction
• Vous êtes libres de :
- Partager : reproduire, distribuer et communiquer cette présentation
- Remixer : modifier cette présentation
• Selon la condition de « Paternité » :
Vous devez impérativement citer le(s) auteur(s) ou le(s) titulaire(s) des
droits (mais pas d'une manière qui suggérerait qu'ils vous soutiennent
ou approuvent votre utilisation du contenu).
• Plus d’informations : http://fr.creativecommons.org