Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Quand utiliser MongoDB … Et quand vous en passer…

4,592 views

Published on

> Qu'est-ce que MongoDB ?
> À quoi sert MongoDB ?
> Les points forts de MongoDB... Les points à améliorer
> Ce que les clients peuvent faire et ne pas faire avec MongoDB
> Cas d'utilisation inhabituels
> Quand utiliser MongoDB

Published in: Technology
  • Be the first to comment

Quand utiliser MongoDB … Et quand vous en passer…

  1. 1. Quand utiliser MongoDB … Et quand vous en passer… Docteur Edouard Servan-Schreiber Directeur d'architecture de solution MongoDB edss@mongodb.com
  2. 2. Sommaire • Qu'est-ce que MongoDB ? • À quoi sert MongoDB ? • Les points forts de MongoDB... Les points à améliorer • Ce que les clients peuvent faire et ne pas faire avec MongoDB • Cas d'utilisation inhabituels • Quand utiliser MongoDB
  3. 3. CRÉER DES APPLICATIONS IMPOSSIBLE AUPARAVANT AGILITÉ SCALABILITÉ
  4. 4. À quoi sert MongoDB ? • Un espace de stockage de données pour tous les systèmes de fidélisation – ANS exigeants, en temps réel – Différents jeux de données mixtes – Simultanéité massive – Déploiement global sur plusieurs sites – Aucun temps d'arrêt toléré – Capacité d'évolution en fonction des besoins des utilisateurs – Incertitude élevée concernant la taille – Besoins de montée en charge rapide – Expérience transparente et cohérente
  5. 5. Langage de requête expressif Cohérence forte Index secondaires Flexibilité Scalabilité Performances Base de données relationnelle
  6. 6. NoSQL Langage de requête expressif Cohérence forte Index secondaires Flexibilité Scalabilité Performances
  7. 7. Langage de requête expressif Cohérence forte Index secondaires Flexibilité Scalabilité Performances Base de données relationnelle NoSQL Base de données relationnelle + NoSQL
  8. 8. Langage de requête expressif Cohérence forte Index secondaires Flexibilité Scalabilité Performances Architecture Nexus Base de données relationnelle + NoSQL
  9. 9. MongoDB N'EST PAS • Une suite analytique – Un concurrent de SAS ou SPSS • Une technologie d'entrepôt de données – N'entre pas en concurrence avec Teradata, Netezza, Vertica • Un outil de BI – N'entre pas en concurrence avec Tableau ou QlikView • Traitement des transactions de service comptable – N'entre pas en concurrence avec les mainframes IBM • Serveur principal d'un système de facturation ou d'un système de comptabilité générale – N'entre pas en concurrence avec Oracle RAC • Un moteur de recherche – N'entre pas en concurrence avec Elasticsearch, SOLR
  10. 10. MongoDB et le stack informatique d'entreprise
  11. 11. MongoDB et le stack informatique d'entreprise Traitement de transactions en ligne (ou OLTP, pour OnLine Transaction Processing) Traitement analytique en ligne (ou OLAP, pour OnLine Analytical Processing)
  12. 12. Facteurs menant au développement d'applications modernes Données • 90 % des données ont été créées au cours des 2 dernières années • 80 % des données d'entreprise ne sont pas structurées • La quantité de données non structurées augmente 2 fois plus vite que la quantité de données structurées Mobile • 2 milliards de smartphones en 2015 • Les mobiles représentent actuellement plus de 50 % des moyens d'accès à Internet • 26 milliards d'appareils sur l'IoT (Internet des objets) en 2020 Social • Internet est utilisé à 72 % pour des interactions sur les réseaux sociaux • Ces réseaux comptent jusqu'à 2 milliards d'utilisateurs actifs chaque mois • 93 % des entreprises utilisent les réseaux sociaux Cloud • Les coûts de calcul ont baissé de 33 % année après année • Les coûts de stockage ont baissé de 38 % année après année • Les coûts de réseau ont baissé de 27 % année après année
  13. 13. Avantages stratégiques de MongoDB Scalabilité horizontale Partitionnement Agilité Flexibilité Performances élevées et cohérence forte Application Haute disponibilité Jeux de réplicas { author: “eliot”, date: new Date(), text: “MongoDB”, tags: [“database”, “flexible”, “JSON”]}
  14. 14. Modèle de données basé sur des documents Base de données relationnelle MongoDB { first_name: ‘Paul’, surname: ‘Miller’, city: ‘London’, location: [45.123,47.232], cars: [ { model: ‘Bentley’, year: 1973, value: 100000, … }, { model: ‘Rolls Royce’, year: 1965, value: 330000, … } ] }
  15. 15. Utilisez vos données de manière plus productive MongoDB { first_name: ‘Paul’, surname: ‘Miller’, city: ‘London’, location: [45.123,47.232], cars: [ { model: ‘Bentley’, year: 1973, value: 100000, … }, { model: ‘Rolls Royce’, year: 1965, value: 330000, … } } } Requêtes enrichies Rechercher les voitures de Paul Rechercher toutes les personnes vivant à Londres qui possèdent une voiture construite entre 1970 et 1980 Géospatial Rechercher tous les propriétaires de voiture dans un rayon de 5 km autour de Trafalgar Sq. Recherche de texte Rechercher toutes les voitures dont la description indique « sièges en cuir » Agrégation Calculer la valeur moyenne de la collection de voitures de Paul Opération MapReduce Comment évolue le modèle de propriété des couleurs par emplacement géographique au fil du temps ? (le pourpre est-il tendance en Chine ?)
  16. 16. Configurations requises pour ces problématiques Adresses Configuration requise Description Types de données Structure de données hiérarchique Peut correspondre à la structure des objets dans les langages OOP d'aujourd'hui Types de données, Agile Schéma dynamique Peut gérer des données de formes différentes dans une table/collection et non pas dans un schéma prédéfini Agilité Langage OOP natif Maintient les développeurs dans un environnement et encapsule les fonctionnalités/validations/règles dans un même emplacement Volume Montée en charge Peut gérer efficacement des centaines de téra/pétaoctets de données Volumes, nouvelle architecture Performances Débit élevé sur un nœud unique et montée en charge horizontale simplifiée Toujours nécessaire Coût en matière de logiciel Open Source avec services ajoutés de niveau Premium Toujours nécessaire Cohérence des données Délai entre l'écriture des données et leur lecture Toujours nécessaire Requêtes enrichies Requêtes basées sur n'importe quel champ, comme les index secondaires Toujours nécessaire Facilité d'utilisation Courbe d'apprentissage réduite et conception simple
  17. 17. Méthode d'empilement des bases de données Configuration requise RDBMS Clé/valeur Colonne large MongoDB Données hiérarchiques Faible Faible Correct Excellent Schéma dynamique Faible Faible Faible Excellent Lang. OOP natif Faible Excellent Excellent Excellent Coût en matière de logiciel Faible Excellent Excellent Excellent Performances Faible Excellent Excellent Excellent Montée en charge Faible Excellent Excellent Excellent Cohérence des données Excellent Faible Faible Excellent Requêtes enrichies Excellent Faible Faible Excellent Facilité d'utilisation Correct Correct Faible Excellent
  18. 18. Configuration requise RDBMS Clé/valeur Colonne large MongoDB Données hiérarchiques Faible Faible Correct Excellent Schéma dynamique Faible Faible Faible Excellent Lang. OOP natif Faible Excellent Excellent Excellent Coût en matière de logiciel Faible Excellent Excellent Excellent Performances Faible Excellent Excellent Excellent Montée en charge Faible Excellent Excellent Excellent Cohérence des données Excellent Faible Faible Excellent Requêtes enrichies Excellent Faible Faible Excellent Facilité d'utilisation Correct Correct Faible Excellent Méthode d'empilement des bases de données VALEUR DE NOSQL
  19. 19. Configuration requise RDBMS Clé/valeur Colonne large MongoDB Données hiérarchiques Faible Faible Correct Excellent Schéma dynamique Faible Faible Faible Excellent Lang. OOP natif Faible Excellent Excellent Excellent Coût en matière de logiciel Faible Excellent Excellent Excellent Performances Faible Excellent Excellent Excellent Montée en charge Faible Excellent Excellent Excellent Cohérence des données Excellent Faible Faible Excellent Requêtes enrichies Excellent Faible Faible Excellent Facilité d'utilisation Correct Correct Faible Excellent Méthode d'empilement des bases de données VALEUR DE NOSQL VALEUR DE MONGODB
  20. 20. Atouts de MongoDB Les points à améliorer dans MongoDB • Duplication directe • Performances élevées sur les charges de travail mixtes pour les lectures, écritures et mises à jour • Montée en charge à la demande • Déploiements géodépendants • Requêtes géospatiales • Haute disponibilité et basculement automatique • Schéma et indexation secondaire flexibles • Développement agile pour la plupart des langages de programmation • Infrastructure courante • Analyses en temps réel • Indexation de texte • Cohérence des données • Compression • Gestion des ressources * • Analyse de collection pendant le chargement * • Disponibilité d'écriture absolue • Recherche par facettes • Jointures entre les collections • SQL* • Transactions entre plusieurs documents Quels sont les points forts de la base de données MongoDB ?
  21. 21. Atouts de MongoDB • Duplication directe • Performances élevées sur les charges de travail mixtes pour les lectures, écritures et mises à jour • Montée en charge à la demande • Déploiements géodépendants • Requêtes géospatiales • Haute disponibilité et basculement automatique • Schéma et indexation secondaire flexibles • Développement agile pour la plupart des langages de programmation • Infrastructure courante • Analyses en temps réel • Indexation de texte • Cohérence des données • Compression Quels sont les points forts de la base de données MongoDB ? Simple à initialiser Toutes les lectures, mixtes et surtout les écritures Pas de surprovisionnement coûteux Un cluster peut s'étendre à un niveau mondial Facilite le développement d'applications mobiles pertinentes Opérations à faible pression Pas d'obligation d'établir un modèle de données complexe Pas d'obligation d'abandonner votre langage de développement favori Pas de dépendance vis-à-vis d'un fournisseur en termes de matériel Rentabilisez vos données immédiatement ! Fonctionnalité de recherche de base Simplification de la conception des applications Avec la nouvelle version 3.0
  22. 22. Les points à améliorer dans MongoDB • Gestion des ressources * • Analyse de collection pendant le chargement * • Disponibilité d'écriture absolue • Recherche par facettes • Jointures entre les collections • SQL* • Transactions entre plusieurs documents Quels sont les points forts de la base de données MongoDB ? Doit être effectuée au niveau de l'infrastructure Les analyses simultanées peuvent perturber la plage de travail Cohérence par rapport à la disponibilité Principales valeurs des moteurs de recherche Le modèle de document en réduit les besoins Certaines solutions partielles (ODBC) Transféré au niveau de l'application Rarement nécessaire lorsque la conception du schéma est efficace
  23. 23. Cas d'utilisation MongoDB Vue unique Internet des objets Mobile Analyses en temps réel Catalogue Personnalisation Gestion de contenus
  24. 24. Points forts de MongoDB Points à améliorer de MongoDB • Vue unique • Internet des objets : données de vos capteurs • Applications mobiles : géospatial • Analyses en temps réel • Catalogue • Personnalisation • Gestion de contenus • Gestion des stocks • Moteurs de personnalisation • Panier d'achat • Datamarts dépendants • Archivage pour une recherche rapide • Outils collaboratifs • Applications de messagerie • Agrégation de fichiers journaux • Mise en cache • Publicité • …… • Moteur de recherche • Le fait de décomposer et de décortiquer des données de façon imprévue requiert des jointures et des analyses complètes • Latence de quelques nanosecondes lors de l'écriture (données de fluctuation en temps réel) • Disponibilité au-delà de 99,999 %, basculement instantané • Traitement par lot Cas d'utilisation où MongoDB est particulièrement efficace
  25. 25. Points forts de MongoDB • Vue unique • Internet des objets : données de vos capteurs • Applications mobiles : géospatial • Analyses en temps réel • Catalogue • Personnalisation • Gestion de contenus • Gestion des stocks • Moteurs de personnalisation • Panier d'achat • Datamarts dépendants • Archivage pour une recherche rapide • Outils collaboratifs • Applications de messagerie • Agrégation de fichiers journaux • Mise en cache • Publicité Cas d'utilisation où MongoDB est particulièrement efficace Tâches d'analyse et d'archivage Développement d'informations à partir des données en temps réel Extraction à partir des entrepôts de données pour l'analyse Volume important, requêtes ciblées Partage en temps quasi-réel Applications similaires à Twitter Par exemple : SPLUNK Permet des lectures en masse de données consolidées
  26. 26. Points à améliorer de MongoDB • Moteur de recherche • Le fait de décomposer et de décortiquer des données de façon imprévue requiert des jointures et des analyses complètes • Latence de quelques nanosecondes lors de l'écriture (données de fluctuation en temps réel) • Disponibilité au-delà de 99,999 %, basculement instantané • Traitement par lot Cas d'utilisation où MongoDB est particulièrement efficace Indexation de texte uniquement pour les utilisations de base Utilisations des entrepôts de données classiques. MongoDB requiert des modèles de requête connus. Des bases de données spécialisées, telles que Kdb, sont développées à cet effet MongoDB requiert un délai de quelques secondes pour effectuer un basculement C'est pour cela que Hadoop a été conçu… Remarque : le traitement des transactions ne requiert aucune transaction de bases de données. Les virements de compte à compte ne sont jamais instantanés et nécessitent un véritable traitement... Généralement par lot
  27. 27. Consolidation des données Entrepôt de données En temps réel ou Par lot Application de fidélisation Application de fidélisation Plateforme de données opérationnelle Avantages • Temps réel • Détails complets • Agilité • Amélioration de la fidélisation des clients • Augmentation de la part de portefeuille • Gestion proactive des exceptions Créationde rapportssurla stratégie Création de rapports sur les opérations Cartes Prêts Dépôts CartesSource de données 1 PrêtsSource de données 2 Dépôts … Source de données n
  28. 28. Plateforme de données pour une grande banque d'investissement Flux et données par lot • Tarification • Comptes • Titres • Opérations sur titre Source de données de référence (RDBMS) Par lot Par lot Par lot Par lot Par lot Par lot Par lot Données de destination (RDBMS) Chacune représente • des personnes $ • du matériel $ • des licences $ • des amendes réglementaires $ • et d'autres problèmes en aval
  29. 29. Plateforme de données pour une grande banque d'investissement Flux et données par lot • Tarification • Comptes • Titres • Opérations sur titre Source de données de référence (RDBMS) Par lot Par lot Par lot Par lot Par lot Par lot Par lot Données de destination (RDBMS) Chacune représente • des personnes $ • du matériel $ • des licences $ • des amendes réglementaires $ • et d'autres problèmes en aval • Délais allant jusqu'à 36 heures lors de la distribution des données par lot • Plusieurs facturations pour les mêmes données • Risques d'amendes réglementaires pour non- respect d'un ANS • Obligation de gérer 20 systèmes distribués contenant les mêmes données
  30. 30. Plateforme de données pour une grande banque d'investissement Flux et données par lot • Tarification • Comptes • Titres • Opérations sur titre Temps réel Temps réel Temps réel Temps réel Temps réel Temps réel Temps réel Chacune représente • Aucune personne $ • Moins de matériel $ • Moins de licences $ • Aucune amende $ • et bien moins de problèmes Membres secondaires MongoDB MongoDB Primaire
  31. 31. Plateforme de données pour une grande banque d'investissement Flux et données par lot • Tarification • Comptes • Titres • Opérations sur titre Temps réel Temps réel Temps réel Temps réel Temps réel Temps réel Temps réel Chacune représente • Aucune personne $ • Moins de matériel $ • Moins de licences $ • Aucune amende $ • et bien moins de problèmes Membres secondaires MongoDB MongoDB Primaire • Permet d'économiser 40 000 000 $ de dépenses et d'amendes sur 5 ans • Une seule facturation pour les mêmes données • Les données sont synchronisées de manière globale et lues en local • Capacité de passer à un service de données partagé global
  32. 32. Base de données de ressemblance moléculaire • Stockage de composants chimiques : empreintes • Objectif : recherche des composants « proches » d'un composant donné • Après une requête, un ensemble réduit de candidats acceptables doit être renvoyé rapidement • Quelques chercheurs travaillent en simultané • Le coefficient d'association de Tanimoto est utilisé pour comparer deux composants selon leurs empreintes communes
  33. 33. Big Data pour la génomique • Base d'extraits de séquences d'ADN très volumineuse – Origine, méthode de collecte, séquence, date... • Énumération des mutations relatives à la séquence de référence – Positions, type de mutation, base • Besoin de récupérer efficacement toutes les séquences comportant une mutation particulière • Similaire à un modèle de système de gestion de contenus • Ajout d'un tableau d'indicateurs dans un document de séquence répertoriant les noms des mutations • Indexation du tableau d'indicateurs • Les requêtes recherchant les séquences affectées sont indexées et très rapides • Facile à configurer, représentation flexible et présentation détaillée des séquences, évolution flexible • Possibilité de montée en charge pour traiter des volumes importants
  34. 34. IoT (Internet des objets) : grand fabricant de véhicules industriels Partition 1 Secondaire Partition 2 Secondaire Partition 3 Secondaire Partition 1 Primaire Partition 1 Secondaire Partition 1 Primaire Partition 1 Secondaire Partition 1 Primaire Partition 1 Secondaire Plateforme de données centrale Plateforme de données régionale Plateforme de données régionale Plateforme de données régionale
  35. 35. Quelle base de donnée choisir pour votre entreprise ?
  36. 36. Quel véhicule utiliser pour une course ?
  37. 37. QUELS SONT VOS OBJECTIFS ?
  38. 38. Caractéristiques importantes de MongoDB • La base de données MongoDB n'a pas été conçue pour les cas d'utilisations de niche • MongoDB s'efforce de se doter de caractéristiques excellentes pouvant s'appliquer à des cas d'utilisation très variés MongoDB est la base de données la plus équilibrée pour les applications et les performances d'entreprise
  39. 39. Du point de vue technique : pourquoi MongoDB • Performances élevées (1 000 millions de requêtes/secondes) en lecture et écriture • Vous avez besoin de schémas flexibles, de requêtes enrichies indépendamment du nombre d'index secondaires • Vous avez besoin d'une capacité de duplication sur plusieurs centres de données, même à l'échelle mondiale • Vous avez besoin d'effectuer des déploiements et des montées en charge à la demande rapidement (système réduit et rapide lors de la mise en place, simple à agrandir) • Disponibilité de 99,999 % • Analyse en temps réel de la base de données, pendant les chargements • Requêtes géospatiales • Traitement en temps réel, pas par lot • Vous avez besoin de promouvoir des méthodologies de codage agile • Déploiement sur le matériel informatique et les architectures de stockage les plus couramment utilisés • Récupération à un moment précis • Vous avez besoin d'une forte cohérence des données • Sécurité avancée
  40. 40. Du point de vue technique : pourquoi MongoDB • Performances élevées (1 000 millions de requêtes/secondes) en lecture et écriture • Vous avez besoin de schémas flexibles, de requêtes enrichies indépendamment du nombre d'index secondaires • Vous avez besoin d'une capacité de duplication sur plusieurs centres de données, même à l'échelle mondiale • Vous avez besoin d'effectuer des déploiements et des montées en charge à la demande rapidement (système réduit et rapide lors de la mise en place, simple à agrandir) • Disponibilité de 99,999 % • Analyse en temps réel de la base de données, pendant les chargements • Requêtes géospatiales • Traitement en temps réel, pas par lot • Vous avez besoin de promouvoir des méthodologies de codage agile • Déploiement sur le matériel informatique et les architectures de stockage les plus couramment utilisés • Récupération à un moment précis • Vous avez besoin d'une forte cohérence des données • Sécurité avancée
  41. 41. Du point de vue des entreprises : pourquoi MongoDB • Outils et services de gestion • Facilité d'adoption • Licence commerciale • Facilité d'adoption par les développeurs • Assistance technique mondiale • Services professionnels mondiaux • Intégration à l'écosystème informatique • Stabilité de l'entreprise • Norme de facto pour les bases de données de nouvelle génération
  42. 42. Du point de vue des entreprises : pourquoi MongoDB • Outils et services de gestion • Facilité d'adoption • Licence commerciale • Facilité d'adoption par les développeurs • Assistance technique mondiale • Services professionnels mondiaux • Intégration à l'écosystème informatique • Stabilité de l'entreprise • Norme de facto pour les bases de données de nouvelle génération
  43. 43. Résumé • MongoDB est adapté aux systèmes de fidélisation • Il complète les moteurs de recherche, Hadoop et les entrepôts de données – Il ne remplace pas ces technologies • Vaste gamme de cas d'utilisation : il s'agit ici d'un point essentiel ! – Très efficace dans de nombreux cas d'utilisation, et pas simplement dans quelques situations • Reconnu par Gartner et Forrester • Norme de facto pour les bases de données de nouvelle génération • Maturité et intégration pour l'entreprise
  44. 44. Nous pouvons vous aider MongoDB Enterprise Advanced La meilleure méthode pour exécuter MongoDB dans votre centre de données MongoDB Management Service (MMS) La méthode la plus simple pour exécuter MongoDB dans le Cloud Assistance technique de production En production et sous contrôle Assistance technique pour le développement Pour le bon déroulement de vos projets Offres de conseil Nous pouvons résoudre vos problèmes Formation Maintenez la réactivité de vos équipes

×