NoSQL : Le nuage souffle un nouvel « R »sur les SGBD Claude Falguière     Herve Desaunois Senior Consultante   Directeur O...
Sommaire          Partie 1     Contexte et enjeux                                                      Partie 3           ...
Sommaire          Partie 1     Contexte et enjeux                              Partie 3                                   ...
NoSQL ?#4          © Valtech 2011
NoSQL "Not only SQL"     • Technologie relative aux bases de données         Alternatives au SGBD relationnels pour gérer ...
L’écosystème NoSQL                  Document    Colonne     Clé Valeur                               Graphe#6             ...
Return On Invest     Coût faible                      Gros Volume                                           Haute Disponib...
Le CAP Theorem (Eric Brewer)#8                    © Valtech 2011
Sommaire                               Partie 2                          Le tour du monde          Partie 1               ...
Les bases Clé Valeur      Implémentations très nombreuses      Structure de données très   simple            Clé   Valeur ...
Les bases Colonnes      Une table est définie par des familles de colonnes            • Chaque famille peut avoir un nombr...
Les bases Document      La clé correspond à un document soit               Clé      XML soit JSON                         ...
Les bases Graphe      Reposent sur la notion          de nœuds          et de relations          et de propriétés         ...
Use case : accès rapide#14                      © Valtech 2011
Redis à Skyrock      Calculer en temps réel les amis connectés                            20h30 : [ 1,4,6,9,10,15,17,25 ] ...
Share Nothing, pas de transactionnel      Distribution      Partionnement / Sharding      Replication      Versionning#16 ...
Pas de langage de requête, pas de jointures      Interface de type get/put            • put user:1:name claude            ...
Use case : Données massives, parallélisation#18                      © Valtech 2011
Gestion des logs chez Twitter      12 millions de tweets / jour      7 To de logs par jour      Double plusieurs fois par ...
Analytics des tweets chez Twitter      Quoi ?            • Compte les actions sur les URL (clic, favoris, retweet)        ...
Map Reduce                                                Reduce function :                                               ...
Map Reduce : Scalabilité                Shuffle Sort :                                            Ranger par      Input   ...
Map Reduce : Combien de tweets par user_id ?      Map :              • Déterminer le user_id d’un tweet              • Rép...
Use Case : Facilité d’utilisation#24                        © Valtech 2011
User history chez bit.ly      Bit.ly               • 50 Millions d’utilisateurs               • 10 000 d’accès simultanés ...
Les bases Documents      Facile à utiliser            • Manipulation de collections d’objets            • Bien intégré aux...
Use case : utiliser le modèle de données adapté#27                      © Valtech 2011
Twitter : activité des amis      12 millions de tweets            • Autojointure sur n millions de lignes ?            • C...
Les bases Graphe      Représentation native des réseaux de personnes, d’équipement, de          concepts …      Manipulati...
Sommaire           Partie 1                                     Partie 3      Contexte et enjeux                        Le...
Les dix commandements      1 - Solution très bonnes pour les gros volumes et la haute disponibilité          Cassandra, Go...
Les dix commandements      4 - NoSQL ne remplace pas les systèmes classiques          Oracle, MySQL, DB2, SQL Server, ….  ...
Les dix commandements      7 - Pas de transaction          Des problématiques qui remontent au niveau Applicatif , Perte d...
Les dix commandements      10 - Avenir incertain du mouvement NoSQL          Apparition d’ORM, prise en charge de la sécur...
Solution Architecture Hybride#35                         © Valtech 2011
No SQL, No Relationnel#36                     © Valtech 2011
SGBD No Relationnel#37                      © Valtech 2011
Droits de reproduction•    Vous êtes libres de :- Partager : reproduire, distribuer et communiquer cette présentation- Rem...
Prochain SlideShare
Chargement dans…5
×

Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD

2 431 vues

Publié le

NoSQL and Cloud Computing

@Valtechdays 2011

Publié dans : Technologie, Business
0 commentaire
2 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
2 431
Sur SlideShare
0
Issues des intégrations
0
Intégrations
38
Actions
Partages
0
Téléchargements
48
Commentaires
0
J’aime
2
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD

  1. 1. NoSQL : Le nuage souffle un nouvel « R »sur les SGBD Claude Falguière Herve Desaunois Senior Consultante Directeur Opérationnel Valtech Paris Valtech Toulouse © Valtech 2011
  2. 2. Sommaire Partie 1 Contexte et enjeux Partie 3 Partie 2 Les 10 commandements Le tour du monde#2 © Valtech 2011
  3. 3. Sommaire Partie 1 Contexte et enjeux Partie 3 Les 10 commandements Partie 2 Le tour du monde#3 © Valtech 2011
  4. 4. NoSQL ?#4 © Valtech 2011
  5. 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 ….#5 © Valtech 2011
  6. 6. L’écosystème NoSQL Document Colonne Clé Valeur Graphe#6 © Valtech 2011
  7. 7. Return On Invest Coût faible Gros Volume Haute Disponibilité Alternatives intéressante au solution de type RAC (Real Application Cluster)#7 © Valtech 2011
  8. 8. Le CAP Theorem (Eric Brewer)#8 © Valtech 2011
  9. 9. Sommaire Partie 2 Le tour du monde Partie 1 Partie 3 Contexte et enjeux Les 10 commandements#9 © Valtech 2011
  10. 10. Les bases Clé Valeur Implémentations très nombreuses Structure de données très simple Clé Valeur • Map Clé Valeur Clé Valeur Base simple à créer Redis, BigTable, Voldemort, MemcacheDB …#10 © Valtech 2011
  11. 11. Les bases Colonnes 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 Famille Représentation plus flexible Clé Clé Valeur Clé Valeur • One to many • Grand nombre de colonnes Clé Clé Valeur Clé Valeur • Sparse data Clé Clé Valeur Clé Valeur HBase, Cassandra Colonne#11 © Valtech 2011
  12. 12. Les bases Document La clé correspond à un document soit Clé XML soit JSON Clé Valeur Clé Valeur Retrouver avec une seule clé un Clé Valeur ensemble d’informations structurées de manière hiérarchique Clé Valeur • L’utilisateur, ses statuts, ses amis Clé Valeur Clé Valeur L’équivalent en relationnel impliquerait beaucoup de jointures Clé Valeur Clé Valeur MongoDB, CouchDB#12 © Valtech 2011
  13. 13. Les bases Graphe Reposent sur la notion de nœuds et de relations et de propriétés Source: neo4J 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#13 © Valtech 2011
  14. 14. Use case : accès rapide#14 © Valtech 2011
  15. 15. Redis à Skyrock 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 ]#15 © Valtech 2011
  16. 16. Share Nothing, pas de transactionnel Distribution Partionnement / Sharding Replication Versionning#16 © Valtech 2011
  17. 17. Pas de langage de requête, pas de jointures 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#17 © Valtech 2011
  18. 18. Use case : Données massives, parallélisation#18 © Valtech 2011
  19. 19. Gestion des logs chez Twitter 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 7 disques standards • Perte d’information 14 disques de laptop 24,3h d’écriture sur un disque à 80Mo/s#19 © Valtech 2011
  20. 20. Analytics des tweets chez Twitter 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#20 © Valtech 2011
  21. 21. Map Reduce Reduce function : Compter par couleur Input Map Reduce 10: 10: 25: 25: 1+ ... 1+ 7 … 1+ … Map function : couleur Input Map 1+ 56: 56: 1+ 9 1+ 78: 78: … ... …#21 © Valtech 2011
  22. 22. Map Reduce : Scalabilité Shuffle Sort : Ranger par Input Map couleur 12: 12: Reduce ... 12: 1+ 45 1+ Input Map … 36: 36: 36: ... Input Map 64: 64: 64: Reduce … 1+ 63 1+ … Input Map 85: 85: 85: …#22 © Valtech 2011
  23. 23. Map Reduce : Combien de tweets par user_id ? 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()#23 © Valtech 2011
  24. 24. Use Case : Facilité d’utilisation#24 © Valtech 2011
  25. 25. User history chez bit.ly 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#25 © Valtech 2011
  26. 26. Les bases Documents 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#26 © Valtech 2011
  27. 27. Use case : utiliser le modèle de données adapté#27 © Valtech 2011
  28. 28. Twitter : activité des amis 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#28 © Valtech 2011
  29. 29. Les bases Graphe 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é#29 © Valtech 2011
  30. 30. Sommaire Partie 1 Partie 3 Contexte et enjeux Les 10 commandements Partie 2 Le tour du monde#30 © Valtech 2011
  31. 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#31 © Valtech 2011
  32. 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#32 © Valtech 2011
  33. 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, ….#33 © Valtech 2011
  34. 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#34 © Valtech 2011
  35. 35. Solution Architecture Hybride#35 © Valtech 2011
  36. 36. No SQL, No Relationnel#36 © Valtech 2011
  37. 37. SGBD No Relationnel#37 © Valtech 2011
  38. 38. 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) desdroits (mais pas dune manière qui suggérerait quils vous soutiennentou approuvent votre utilisation du contenu).• Plus d’informations : http://fr.creativecommons.org © Valtech 2011

×