SlideShare une entreprise Scribd logo
1  sur  49
MongoDB 3.6
Les nouveautés
Nom, fonction
Nom.fonction@mongodb.com
@twitterhandle
Sommaire
• MongoDB 3.6 : réponse à l'évolution du marché
et des technologies
• Principales fonctionnalités et améliorations
• Développeurs
• Equipes Ops
• Data analysts et data scientists
• Prise en main
Le digital poursuit son ascension...
4 000+ Mds $ de
ventes e-commerce
by 2020
75 Mds d'appareils
connectés
by 2025
61 % jugent "urgent"
d'implémenter une
stratégie IA
in 2017
108 Mds $ : taille du
marché de la réalité
virtuelle/augmentée
d'ici 2021
59 % : taux de
pénétration des
smartphones
d'ici 2020
6 000+ Mds $ : pertes
imputables au
cybercrime
d'ici 2021
La vitesse compte...
La vitesse compte... Mais la voie du digital
est complexe
Forrester Digital Transformation Infographic: https://go.forrester.com/blogs/16-05-09-digital_transformation_2016_infographic/
MongoDB 3.6
Développement accéléré
• Change Streams
• Retryable writes (Écritures réessayables)
• Tunable Consistency (cohérence ajustable)
• MongoDB Compass
• Expressivité des requêtes
• Fonctionnalités complètes de mise à jour des
tableaux
Les applications
et services de
nouvelle
génération sont
étroitement
intégrés
MongoDB Change Streams
Aide les développeurs à créer des services hyper-
réactifs en temps réel
ChangeStreamsAPI
Applications
d'entreprise
Données
utilisateurs
Capteurs
Clickstream
Notifications
d'événements en
temps réel
File de messages
Implémenter Change Streams
Les applications reçoivent des notifications via l'API Change
Streams, elle-même basée sur l'oplog de MongoDB
• Les avantages de Change Streams :
• Flexibilité - Envoi des modifications ou du document complet, avec
possibilité de filtrage par type spécifique d'événement
• Cohérence - Tri et traitement complets des données à travers les
différents shards
• Sécurité - Contrôle des privilèges utilisateurs pour l'accès à la collection
• Fiabilité - Envoi de notifications seulement après la réplication d'une
écriture sur la majorité des réplicas
• Reprise - Après la défaillance d'un nœud
• Simultanéité - Jusqu'à 1 000 flux de changements par instance
MongoDB
• Familiarité - Exploitation du langage de requêtes et des moteurs
standards MongoDB
Change Streams : champs d'application
• Actualisation des applications de trading selon
l'évolution des cours de bourse
• Synchronisation des changements à travers
tous les microservices
• Mise à jour des tableaux de bord et
systèmes d'analyse
• Pipelines de données IoT (p. ex. envoi d'alertes en
cas de dysfonctionnement d'un appareil connecté)
• Utilisation de transactions de cartes bancaires
pour alimenter des modèles de machine learning
et recalculer les risques
• Gestion et actualisation des tableaux de scores
dans les jeux multijoueurs
ChangeStreamsAPI
Applications
d'entreprise
Données
utilisateurs
Capteurs
Clickstream
Notifications
d'événements en
temps réel
File de messages
Change Streams : dans la pratique
// Sélection de la collection à interroger.
MongoCollection<Document> collection =
database.getCollection("orders");
// Création d'un curseur pour le flux de changement.
MongoCursor<Document> cursor =
collection.watch().iterator();
Disponibilité des opérations d'écriture
Applications
d'entreprise
Données
utilisateurs
Capteurs
Clickstream
Écriture
ACK
Dans la pratique...
Applications
d'entreprise
Données
utilisateurs
Capteurs
Clickstream
Écriture
ACK
...des pannes surviennent,
et l'application n'a aucun
moyen de savoir si l'écriture a
été appliquée ou non*
• Une panne réseau entrave l'opération
d'écriture dans MongoDB
• Le choix du nœud primaire MongoDB n'est
pas encore déterminé
• L'opération d'écriture réussit, mais une panne
réseau empêche l’acquittement
* Pour les opérations idempotentes, le problème ne se pose pas
Gestion des défaillances d'écriture
Applications
d'entreprise
Données
utilisateurs
Capteurs
Clickstream
Write
ACK
... des pannes surviennent, et
l'application n'a aucun moyen de
savoir si l'écriture a été appliquée
ou non*
• Une panne réseau entrave l'opération d'écriture
dans MongoDB
• Le choix du nœud primaire MongoDB n'est pas
encore déterminé
• L'opération d'écriture réussit, mais une panne
réseau empêche l’acquittement
Les développeurs écrivent
du code complexe pour la
gestion des exceptions
Écritures réessayables MongoDB
• Gestion des écritures défaillantes (liées à une
panne réseau ou au choix d'un nœud primaire)
• Le moteur relance automatiquement les opérations d'écriture non
abouties
• Avec un identifiant de transaction unique, le serveur n'applique
qu'une seule fois la sémantique de traitement
• Propriétés
• Prise en charge des opérations idempotentes et non
idempotentes, mais aussi les erreurs dues aux expirations de délai
• Disponibilité continue des opérations d'écriture, à
l'échelle mondiale
• Traitement fiable au sein d'environnements complexes (systèmes
multi-maîtres, "eventually consistent")
Ecritures réessayables : exemples
uri = "mongodb://example.com:27017/?retryWrites=true"
client = MongoClient(uri)
database = client.database
collection = database.collection
Forte cohérence
Toutes les
lectures et
écritures
MongoDB Primary
MongoDB Secondary
MongoDB Secondary
Applications
d'entreprise
Données
utilisateurs
Capteurs
Click
stream
Tunable consistency : dimensionnement des lectures
MongoDB Primary
MongoDB Secondary
MongoDB Secondary
Toutes les
écritures et
certaines
lectures
Lectures
Lectures
Applications
d'entreprise
Données
utilisateurs
Capteurs
Click
stream
Cohérence ajustable (Tunable Consistency)
Ajustez la cohérence des données selon vos SLA de performance
Les développeurs contrôlent précisément le routage des requêtes à travers le
cluster de base de données.
Cohérence causale : garantit des lectures monotones et
logiquement cohérentes sur chaque nœud de replica au sein
d'une même session utilisateur
Lecture des nœuds secondaires dans des clusters shardés :
les réplicas secondaires reconnaissent désormais les blocs
(chunks), ce qui garantit des lectures cohérentes, même en cas
de redistribution des données sur un cluster shardé
Cohérence causale : exemples
// début de la session client (cohérence causale définie par défaut)
try (ClientSession session =
client.startSession(ClientSessionOptions.builder().build())) {
// Exécution des opérations qui entretiennent une relation causale dans la session
collection.insertOne(session, ... );
collection.updateOne(session, ...);
try (MongoCursor<Document> cursor =
collection.find(session).filter(...).iterator()) {
while (cursor.hasNext()) {
Document cur = cursor.next();
}
}
Compass : la GUI de MongoDB
Nouvelles fonctionnalités
• Exécution automatique des
requêtes
• Historique des requêtes
• Vue en tableau
• Framework pour Compass (plug-in)
Compass Community
• Édition gratuite
• GUI et shell utilisables en simultané
Téléchargez Compass Community
Expressivité des requêtes et fonctionnalités
complètes de mise à jour pour les tableaux
• Utilisation d'expressions du pipeline d'agrégation dans le langage de
requête MongoDB à l'aide du nouvel opérateur $expr
• équivalent SQL de SELECT * FROM T1 a> b
• Exemple : trouver tous les comptes clients dont les dépenses ont
augmenté de 200$ mois après mois
• Requêtes plus expressives avec moins de code côté client
• Mise à jour atomique de plusieurs éléments correspondants d'un
tableau avec une seule commande de mise à jour
• Exemple : Augmenter de 20 % tous les prix d'un tableau
• Modélisation plus souple des données
• Évite les réécritures de documents imposées par d'autres systèmes
de bases de données
[ ]
Mise à jour de tableaux : tous les éléments
orders:
{
_id: 5,
line_items : [
{ id: 123,
title : "USB Battery",
price: 15.0 },
{ id: 512,
title : "Hip T-shirt",
price : 45.0 }
],
...
}
db.orders.update(
{ _id: 5 },
{ $mul: {
"line_items.$[].price":
0.8
}
}
)
Mise à jour de tableaux : certains éléments
orders:
{
_id: 5,
line_items : [
{ id: 123,
title : "USB Battery",
price: 15.0 ,
shipped: true},
{ id: 512,
title : "Hip T-shirt",
price : 45.0,
shipped: false }
]
}
db.orders.update(
{ _id: 5 },
{ $mul: {
"line_items.$[li].price":
.8}},
{arrayFilters:[
{"li.shipped":{$ne:true}}
]}
)
• Ops Manager
• Validation de schéma
• Sécurité renforcée
• Compression
• Multi-tenant
Scalabilité accélérée
Explorateur de
données
Inspection de l'utilisation
des schémas et des index
Vue des performances
en temps réel
Télémétrie en temps réel : opérations
en cours et consommation des
ressources
Vue des performances en
temps réel
Scoring des requêtes et
recommandations
d'indexes
Ops Manager : sauvegardes et restaurations
Sauvegardes continues et cohérentes avec restauration
PITR des données:
Sauvegardes interrogeables : inspection des sauvegardes sans
restauration préalable
• Sauvegardes plus rapides : agent redéveloppé et
synchronisation initiale améliorée
• Restauration accélérée : création des instantanés point-in-time
sur le nœud de destination, avec à la clé un saut (hop) en moins
• Sauvegardes vers des object stores : sur site et dans S3
• Restauration inter-projet : restauration dans un projet différent de
la source de l'instantané (snapshot)
Conformité du modèle de données
flexible avec la gouvernance
{
product_name: ‘Acme Paint’,
color: [‘Red’, ‘Green’],
size_oz: [8, 32],
finish: [‘satin’, ‘eggshell’]
}
{
product_name: ‘T-shirt’,
size: [‘S’, ‘M’, ‘L’, ‘XL’],
color: [‘Heather Gray’ … ],
material: ‘100% cotton’,
wash: ‘cold’,
dry: ‘tumble dry low’
}
{
product_name: ‘Mountain Bike’,
brake_style: ‘mechanical disc’,
color: ‘grey’,
frame_material: ‘aluminum’,
no_speeds: 21,
package_height: ‘7.5x32.9x55’,
weight_lbs: 44.05,
suspension_type: ‘dual’,
wheel_size_in: 26
}
Documents de la même collection de catalogues produits dans MongoDB
Validation de schéma
Applique une structure de schéma stricte sur une collection
complète pour garantir la qualité et la bonne gouvernance
des données.
Complète la validation de document par la restriction du nouveau contenu
qu'il est possible d'ajouter à un document
• Contrôle la présence, le type et les valeurs du contenu des documents,
y compris pour les tableaux imbriqués
• Simplifie la logique d'application
• Ajustable : imposez une structure de document, configurez des
avertissements, ou autorisez une flexibilité complète
• Interrogeable : identifiez tous les documents existants présentant des
défauts de conformité
Validation des schémas : exemples
db.createCollection( "orders",
{validator: {$jsonSchema:
{
properties:
{line_items:
{type: "array",
items:
{properties:
{title: {type: "string"},
price: {type: "number", minimum: 0.0} },
required: ["_id", "title", "price"],
additionalProperties: false}}},
required: ["line_items"]}}}
)
Sécurité des données de bout en bout
• Authentification : LDAP, Kerberos, x509,
challenge-réponse
• Autorisation : RBAC, rôles définis par
l'utilisateur, sécurité au niveau du champ
• Chiffrement : données en mouvement, au
repos, sauvegardes
• Audit : DML et DDL complet
Contrôles de sécurité renforcés
Les nouveautés de MongoDB 3.6
• Connexion à Localhost : RPM et DEB par défaut étendus à tous
les packages et plateformes. Refuse toutes les connexions externes
à la base de données jusqu'à l'autorisation de l'administrateur
• Whitelisting des adresses IP : acceptation des connexions
externes uniquement à partir d'adresses IP ou de blocs CIDR
prédéfinis
Compression de bout en bout
MongoDB 3.6 permet de compresser
le trafic du protocole de transmission
entre le client et la base de données
Jusqu'à 80 % de gain de bande passante
Compression de bout en bout
Compression de bout en bout
• Protocole de transmission
• Intra-cluster
• Index en mémoire
• Stockage
Application
MongoDB Primary
Replica
Compression du
protocole de
transmission
MongoDB Secondary Replica
Single ViewMongoDB Secondary Replica
Single ViewMongoDB Secondary Replica
Single ViewMongoDB Secondary Replica
Single ViewMongoDB Secondary Replica
Réplica secondaire MongoDB
Compression
intra-cluster
Compression des
données sur disque
Compression des index en
mémoire
Gestion multi-tenant
• Gestion opérationnelle des sessions
• Les administrateurs peuvent visualiser, grouper et rechercher toutes
les sessions utilisateurs, à travers tous les nœuds
• Une seule commande pour annuler les opérations en cours
d'exécution sur plusieurs nœuds
• Plus d'un million de collections WiredTiger
• Refactorisation des éléments internes WiredTiger pour
supporter les applications produisant
• Applications SaaS : collection par utilisateur
• Services IoT : collection par ressource par heure
• Connector for BI
• Pipeline d'agrégation
• Pilote R
Analyses accélérées
MongoDB Connector for BI
et bien d'autres
d'autres encore...
• Plus rapide
• S'appuie sur la recherche expressive de MongoDB 3.6 pour
basculer plus d'opérations de calcul vers la base de données
• Supporte l'affichage du statut pour une optimisation plus
poussée des performances
• Plus simple
• Gestion du cycle de vie avec Ops Manager
• Échantillonnage et mappage des schémas désormais gérés
par le processus mongosqld, et non par un utilitaire distinct
• Authentification via des plug-ins côté client, ce qui évite la
gestion des certificats TLS. Nouvelle prise en charge de
Kerberos
BI Connector : les nouveautés
Pipeline d'agrégation enrichi
• Recherche expressive ($lookup)
• Prise en charge de nouvelles jointures, au-delà des équi jointures
à gauche, notamment les jointures non-équi et les
• Exécution native dans la base de données. Permet d'adresser
des requêtes d'analyse plus complexes avec moins de code
• Agrégations sensibles aux fuseaux horaires
• Analyse multi-région : permet de regrouper les données en
tenant compte des fuseaux horaires
• Nouvelles expressions pour des transformations plus
complexes
• Conversion d'objets en tableaux de paires clé-valeur, et inversement
• Fusion de plusieurs objets en un seul
• Élimination des champs d'un objet selon des critères d'évaluation
$lookup in 3.6
db.orders.aggregate([
{$unwind: "$line_items"},
{$lookup:{
from: "reviews",
let: {p_id:
"$line_items.id"},
pipeline: [
{$match: {$expr: {$eq:
["$p_id", "$$p_id"]}}},
{$group: {
_id: 1,
rating: {$avg:"$rating"}
}}
],
as: "avgRating" }
}
])
orders:
{
...
line_items : [
{ id: 123,
title : “USB Battery”,
price: 15.0 },
{ id: 512,
title : “Hip T-shirt”,
price : 45.0 }
],
...
}
Pilote R MongoDB
Pilote R MongoDB : recommandé pour les développeurs,
statisticiens et data scientists
• Accès idiomatique à la base de données en
langage natif
• Gestion de la cohérence et de la durabilité des
données
• Protection des données avec des mécanismes
d'authentification d'entreprise
• Support de nouveaux types de données BSON, p.
ex. "decimal128", pour des analyses scientifiques et
financières de haute précision
Cloud ManagerOps Manager MongoDB Atlas
DBaaS privé : sur
site
Compatibilité multi-environnement
Tirez un trait sur l'enfermement propriétaire
DBaaS hybride
DBaaS public :
entièrement géré
Même codebase, même API, même IU de gestion
MongoDB Atlas : le DBaaS selon MongoDB
En self-service,
élastique et
automatisé
Sécurisé par défaut
Haute disponibilité
à l'échelle mondiale
Sauvegardes
continues
Monitoring et optimisation
en temps réel
Ouverte à toutes les
configurations cloud
Les nouveautés d'Atlas
● MongoDB 3.6 disponible dans
MongoDB Atlas (version GA)
● Réplication inter-régions
● Dimensionnement automatique
du stockage
● Arrêt provisoire d'un cluster
● Assistant de performance
disponible en continu
● Restaurations inter-projets
Auto-storage
scaling
Pour aller plus loin
MongoDB 3.6
Évoluez à la vitesse de vos données
Développement
accéléré
● Change Streams
● Écritures réessayables
● Cohérence ajustable
(Tunable Consistency)
● Compass
● Expressivité des requêtes
et mises à jour granulaires
des tableaux
Scalabilité accélérée
● Ops Manager
● Validation de schéma
● Contrôles de sécurité
● Compression E2E
● Gestion multi-tenant
Analyses accélérées
● BI Connector
● Pipeline d'agrégation
enrichi
● Pilote R
http://university.mongodb.com/courses/M036/about
M036 : Nouveaux
outils et
fonctionnalités de
MongoDB 3.6
Prise en main de MongoDB 3.6
• Téléchargez la version RC et lisez les notes de version
• Lisez notre livre blanc consacré aux nouveautés de MongoDB 3.6
• Profitez d'une formation gratuite avec la MongoDB University
• Nous pouvons vous aider : Service de montée de version
MongoDB 3.6

Contenu connexe

Tendances

Webinaire 3 de la série « Retour aux fondamentaux » : Conception de schémas :...
Webinaire 3 de la série « Retour aux fondamentaux » : Conception de schémas :...Webinaire 3 de la série « Retour aux fondamentaux » : Conception de schémas :...
Webinaire 3 de la série « Retour aux fondamentaux » : Conception de schémas :...MongoDB
 
Webinaire 6 de la série « Retour aux fondamentaux » : Déploiement en production
Webinaire 6 de la série « Retour aux fondamentaux » : Déploiement en production Webinaire 6 de la série « Retour aux fondamentaux » : Déploiement en production
Webinaire 6 de la série « Retour aux fondamentaux » : Déploiement en production MongoDB
 
L'expérience client au centre de la donnée @AirFrance
L'expérience client au centre de la donnée @AirFranceL'expérience client au centre de la donnée @AirFrance
L'expérience client au centre de la donnée @AirFranceMongoDB
 
Toutes les raisons d'adopter MongoDB
Toutes les raisons d'adopter MongoDBToutes les raisons d'adopter MongoDB
Toutes les raisons d'adopter MongoDBContent Square
 
Webinaire 1 de la série Retour aux fondamentaux : Introduction à NoSQL
Webinaire 1 de la série Retour aux fondamentaux : Introduction à NoSQLWebinaire 1 de la série Retour aux fondamentaux : Introduction à NoSQL
Webinaire 1 de la série Retour aux fondamentaux : Introduction à NoSQLMongoDB
 
[Breizhcamp 2015] MongoDB et Elastic, meilleurs ennemis ?
[Breizhcamp 2015] MongoDB et Elastic, meilleurs ennemis ?[Breizhcamp 2015] MongoDB et Elastic, meilleurs ennemis ?
[Breizhcamp 2015] MongoDB et Elastic, meilleurs ennemis ?Sébastien Prunier
 
Des mises à jour? Emmenez votre application Stitch encore plus loin grâce aux...
Des mises à jour? Emmenez votre application Stitch encore plus loin grâce aux...Des mises à jour? Emmenez votre application Stitch encore plus loin grâce aux...
Des mises à jour? Emmenez votre application Stitch encore plus loin grâce aux...MongoDB
 
Les modèles NoSQL
Les modèles NoSQLLes modèles NoSQL
Les modèles NoSQLebiznext
 
Découverte de Elastic search
Découverte de Elastic searchDécouverte de Elastic search
Découverte de Elastic searchJEMLI Fathi
 
NoSql : conception des schémas, requêtage, et optimisation
NoSql : conception des schémas, requêtage, et optimisationNoSql : conception des schémas, requêtage, et optimisation
NoSql : conception des schémas, requêtage, et optimisationMicrosoft Technet France
 
GUSPQC Québec Avril 2018 - La passerelle de donnees locale
GUSPQC Québec Avril 2018 - La passerelle de donnees localeGUSPQC Québec Avril 2018 - La passerelle de donnees locale
GUSPQC Québec Avril 2018 - La passerelle de donnees localeNicolas Georgeault
 
Webinaire 4 de la série Retour aux fondamentaux : Indexation avancée, index d...
Webinaire 4 de la série Retour aux fondamentaux : Indexation avancée, index d...Webinaire 4 de la série Retour aux fondamentaux : Indexation avancée, index d...
Webinaire 4 de la série Retour aux fondamentaux : Indexation avancée, index d...MongoDB
 
Tirer le meilleur de ses données avec ElasticSearch
Tirer le meilleur de ses données avec ElasticSearchTirer le meilleur de ses données avec ElasticSearch
Tirer le meilleur de ses données avec ElasticSearchSéven Le Mesle
 
Construisez votre première application MongoDB
Construisez votre première application MongoDBConstruisez votre première application MongoDB
Construisez votre première application MongoDBMongoDB
 
Bases de données NoSQL
Bases de données NoSQLBases de données NoSQL
Bases de données NoSQLSamy Dindane
 

Tendances (20)

Webinaire 3 de la série « Retour aux fondamentaux » : Conception de schémas :...
Webinaire 3 de la série « Retour aux fondamentaux » : Conception de schémas :...Webinaire 3 de la série « Retour aux fondamentaux » : Conception de schémas :...
Webinaire 3 de la série « Retour aux fondamentaux » : Conception de schémas :...
 
Webinaire 6 de la série « Retour aux fondamentaux » : Déploiement en production
Webinaire 6 de la série « Retour aux fondamentaux » : Déploiement en production Webinaire 6 de la série « Retour aux fondamentaux » : Déploiement en production
Webinaire 6 de la série « Retour aux fondamentaux » : Déploiement en production
 
L'expérience client au centre de la donnée @AirFrance
L'expérience client au centre de la donnée @AirFranceL'expérience client au centre de la donnée @AirFrance
L'expérience client au centre de la donnée @AirFrance
 
Toutes les raisons d'adopter MongoDB
Toutes les raisons d'adopter MongoDBToutes les raisons d'adopter MongoDB
Toutes les raisons d'adopter MongoDB
 
ToursJUG mongoDB
ToursJUG mongoDBToursJUG mongoDB
ToursJUG mongoDB
 
Zenika MongoDB Tour - REX Amadeus
Zenika MongoDB Tour - REX AmadeusZenika MongoDB Tour - REX Amadeus
Zenika MongoDB Tour - REX Amadeus
 
Webinaire 1 de la série Retour aux fondamentaux : Introduction à NoSQL
Webinaire 1 de la série Retour aux fondamentaux : Introduction à NoSQLWebinaire 1 de la série Retour aux fondamentaux : Introduction à NoSQL
Webinaire 1 de la série Retour aux fondamentaux : Introduction à NoSQL
 
[Breizhcamp 2015] MongoDB et Elastic, meilleurs ennemis ?
[Breizhcamp 2015] MongoDB et Elastic, meilleurs ennemis ?[Breizhcamp 2015] MongoDB et Elastic, meilleurs ennemis ?
[Breizhcamp 2015] MongoDB et Elastic, meilleurs ennemis ?
 
Mongo DB
Mongo DBMongo DB
Mongo DB
 
Des mises à jour? Emmenez votre application Stitch encore plus loin grâce aux...
Des mises à jour? Emmenez votre application Stitch encore plus loin grâce aux...Des mises à jour? Emmenez votre application Stitch encore plus loin grâce aux...
Des mises à jour? Emmenez votre application Stitch encore plus loin grâce aux...
 
Les modèles NoSQL
Les modèles NoSQLLes modèles NoSQL
Les modèles NoSQL
 
Découverte de Elastic search
Découverte de Elastic searchDécouverte de Elastic search
Découverte de Elastic search
 
NoSql : conception des schémas, requêtage, et optimisation
NoSql : conception des schémas, requêtage, et optimisationNoSql : conception des schémas, requêtage, et optimisation
NoSql : conception des schémas, requêtage, et optimisation
 
GUSPQC Québec Avril 2018 - La passerelle de donnees locale
GUSPQC Québec Avril 2018 - La passerelle de donnees localeGUSPQC Québec Avril 2018 - La passerelle de donnees locale
GUSPQC Québec Avril 2018 - La passerelle de donnees locale
 
noSQL
noSQLnoSQL
noSQL
 
Webinaire 4 de la série Retour aux fondamentaux : Indexation avancée, index d...
Webinaire 4 de la série Retour aux fondamentaux : Indexation avancée, index d...Webinaire 4 de la série Retour aux fondamentaux : Indexation avancée, index d...
Webinaire 4 de la série Retour aux fondamentaux : Indexation avancée, index d...
 
Tirer le meilleur de ses données avec ElasticSearch
Tirer le meilleur de ses données avec ElasticSearchTirer le meilleur de ses données avec ElasticSearch
Tirer le meilleur de ses données avec ElasticSearch
 
NoSQL et Big Data
NoSQL et Big DataNoSQL et Big Data
NoSQL et Big Data
 
Construisez votre première application MongoDB
Construisez votre première application MongoDBConstruisez votre première application MongoDB
Construisez votre première application MongoDB
 
Bases de données NoSQL
Bases de données NoSQLBases de données NoSQL
Bases de données NoSQL
 

Similaire à Les nouveautés de MongoDB 3.6

Denodo, pilier central de votre stratégie API
Denodo, pilier central de votre stratégie APIDenodo, pilier central de votre stratégie API
Denodo, pilier central de votre stratégie APIDenodo
 
TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...
TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...
TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...Publicis Sapient Engineering
 
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...Microsoft Technet France
 
AWS Paris Summit 2014 - T3 - Du temps réel au data warehouse : capturez et an...
AWS Paris Summit 2014 - T3 - Du temps réel au data warehouse : capturez et an...AWS Paris Summit 2014 - T3 - Du temps réel au data warehouse : capturez et an...
AWS Paris Summit 2014 - T3 - Du temps réel au data warehouse : capturez et an...Amazon Web Services
 
Comment passer d'un POC en prod @ plusieurs milliards de rêquetes
Comment passer d'un POC en prod @ plusieurs milliards de rêquetesComment passer d'un POC en prod @ plusieurs milliards de rêquetes
Comment passer d'un POC en prod @ plusieurs milliards de rêquetesCarles Sistare
 
Optimisations et Performances d'un POC en prod @ plusieurs milliards de requê...
Optimisations et Performances d'un POC en prod @ plusieurs milliards de requê...Optimisations et Performances d'un POC en prod @ plusieurs milliards de requê...
Optimisations et Performances d'un POC en prod @ plusieurs milliards de requê...David Caramelo
 
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp012014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01MongoDB
 
BBL - Monitoring - kyriba
BBL - Monitoring - kyribaBBL - Monitoring - kyriba
BBL - Monitoring - kyribaOlivier BAZOUD
 
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 webmediaMicrosoft
 
Morning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesMorning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesOxalide
 
Oxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceOxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceLudovic Piot
 
Évolution de la supervision chez Ikoula
Évolution de la supervision chez IkoulaÉvolution de la supervision chez Ikoula
Évolution de la supervision chez IkoulaIkoula
 
Évolution de la supervision chez Ikoula
Évolution de la supervision chez IkoulaÉvolution de la supervision chez Ikoula
Évolution de la supervision chez IkoulaNicolas Trauwaen
 
Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Cellenza
 
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesChp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesLilia Sfaxi
 
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...MSDEVMTL
 
Plus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDB
Plus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDBPlus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDB
Plus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDBMongoDB
 
Plus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDB
Plus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDBPlus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDB
Plus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDBPierre-Alban DEWITTE
 
Présentation Rex GWT 2.0
Présentation Rex GWT 2.0Présentation Rex GWT 2.0
Présentation Rex GWT 2.0Ippon
 

Similaire à Les nouveautés de MongoDB 3.6 (20)

Denodo, pilier central de votre stratégie API
Denodo, pilier central de votre stratégie APIDenodo, pilier central de votre stratégie API
Denodo, pilier central de votre stratégie API
 
TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...
TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...
TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...
 
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
 
AWS Paris Summit 2014 - T3 - Du temps réel au data warehouse : capturez et an...
AWS Paris Summit 2014 - T3 - Du temps réel au data warehouse : capturez et an...AWS Paris Summit 2014 - T3 - Du temps réel au data warehouse : capturez et an...
AWS Paris Summit 2014 - T3 - Du temps réel au data warehouse : capturez et an...
 
Comment passer d'un POC en prod @ plusieurs milliards de rêquetes
Comment passer d'un POC en prod @ plusieurs milliards de rêquetesComment passer d'un POC en prod @ plusieurs milliards de rêquetes
Comment passer d'un POC en prod @ plusieurs milliards de rêquetes
 
Optimisations et Performances d'un POC en prod @ plusieurs milliards de requê...
Optimisations et Performances d'un POC en prod @ plusieurs milliards de requê...Optimisations et Performances d'un POC en prod @ plusieurs milliards de requê...
Optimisations et Performances d'un POC en prod @ plusieurs milliards de requê...
 
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp012014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01
 
BBL - Monitoring - kyriba
BBL - Monitoring - kyribaBBL - Monitoring - kyriba
BBL - Monitoring - kyriba
 
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
 
Morning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesMorning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slides
 
Oxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceOxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performance
 
Évolution de la supervision chez Ikoula
Évolution de la supervision chez IkoulaÉvolution de la supervision chez Ikoula
Évolution de la supervision chez Ikoula
 
Évolution de la supervision chez Ikoula
Évolution de la supervision chez IkoulaÉvolution de la supervision chez Ikoula
Évolution de la supervision chez Ikoula
 
Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1
 
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesChp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées Services
 
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
 
Plus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDB
Plus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDBPlus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDB
Plus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDB
 
Plus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDB
Plus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDBPlus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDB
Plus de flexibilité et de scalabilité chez Bouygues Télécom grâce à MongoDB
 
Présentation Rex GWT 2.0
Présentation Rex GWT 2.0Présentation Rex GWT 2.0
Présentation Rex GWT 2.0
 
Perf university
Perf universityPerf university
Perf university
 

Plus de MongoDB

MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB
 
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 MongoDB SoCal 2020: MongoDB Atlas Jump Start MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB SoCal 2020: MongoDB Atlas Jump StartMongoDB
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB
 

Plus de MongoDB (20)

MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 MongoDB SoCal 2020: MongoDB Atlas Jump Start MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
 

Les nouveautés de MongoDB 3.6

  • 1. MongoDB 3.6 Les nouveautés Nom, fonction Nom.fonction@mongodb.com @twitterhandle
  • 2. Sommaire • MongoDB 3.6 : réponse à l'évolution du marché et des technologies • Principales fonctionnalités et améliorations • Développeurs • Equipes Ops • Data analysts et data scientists • Prise en main
  • 3. Le digital poursuit son ascension... 4 000+ Mds $ de ventes e-commerce by 2020 75 Mds d'appareils connectés by 2025 61 % jugent "urgent" d'implémenter une stratégie IA in 2017 108 Mds $ : taille du marché de la réalité virtuelle/augmentée d'ici 2021 59 % : taux de pénétration des smartphones d'ici 2020 6 000+ Mds $ : pertes imputables au cybercrime d'ici 2021
  • 5. La vitesse compte... Mais la voie du digital est complexe Forrester Digital Transformation Infographic: https://go.forrester.com/blogs/16-05-09-digital_transformation_2016_infographic/
  • 7. Développement accéléré • Change Streams • Retryable writes (Écritures réessayables) • Tunable Consistency (cohérence ajustable) • MongoDB Compass • Expressivité des requêtes • Fonctionnalités complètes de mise à jour des tableaux
  • 8. Les applications et services de nouvelle génération sont étroitement intégrés
  • 9. MongoDB Change Streams Aide les développeurs à créer des services hyper- réactifs en temps réel ChangeStreamsAPI Applications d'entreprise Données utilisateurs Capteurs Clickstream Notifications d'événements en temps réel File de messages
  • 10. Implémenter Change Streams Les applications reçoivent des notifications via l'API Change Streams, elle-même basée sur l'oplog de MongoDB • Les avantages de Change Streams : • Flexibilité - Envoi des modifications ou du document complet, avec possibilité de filtrage par type spécifique d'événement • Cohérence - Tri et traitement complets des données à travers les différents shards • Sécurité - Contrôle des privilèges utilisateurs pour l'accès à la collection • Fiabilité - Envoi de notifications seulement après la réplication d'une écriture sur la majorité des réplicas • Reprise - Après la défaillance d'un nœud • Simultanéité - Jusqu'à 1 000 flux de changements par instance MongoDB • Familiarité - Exploitation du langage de requêtes et des moteurs standards MongoDB
  • 11. Change Streams : champs d'application • Actualisation des applications de trading selon l'évolution des cours de bourse • Synchronisation des changements à travers tous les microservices • Mise à jour des tableaux de bord et systèmes d'analyse • Pipelines de données IoT (p. ex. envoi d'alertes en cas de dysfonctionnement d'un appareil connecté) • Utilisation de transactions de cartes bancaires pour alimenter des modèles de machine learning et recalculer les risques • Gestion et actualisation des tableaux de scores dans les jeux multijoueurs ChangeStreamsAPI Applications d'entreprise Données utilisateurs Capteurs Clickstream Notifications d'événements en temps réel File de messages
  • 12. Change Streams : dans la pratique // Sélection de la collection à interroger. MongoCollection<Document> collection = database.getCollection("orders"); // Création d'un curseur pour le flux de changement. MongoCursor<Document> cursor = collection.watch().iterator();
  • 13. Disponibilité des opérations d'écriture Applications d'entreprise Données utilisateurs Capteurs Clickstream Écriture ACK
  • 14. Dans la pratique... Applications d'entreprise Données utilisateurs Capteurs Clickstream Écriture ACK ...des pannes surviennent, et l'application n'a aucun moyen de savoir si l'écriture a été appliquée ou non* • Une panne réseau entrave l'opération d'écriture dans MongoDB • Le choix du nœud primaire MongoDB n'est pas encore déterminé • L'opération d'écriture réussit, mais une panne réseau empêche l’acquittement * Pour les opérations idempotentes, le problème ne se pose pas
  • 15. Gestion des défaillances d'écriture Applications d'entreprise Données utilisateurs Capteurs Clickstream Write ACK ... des pannes surviennent, et l'application n'a aucun moyen de savoir si l'écriture a été appliquée ou non* • Une panne réseau entrave l'opération d'écriture dans MongoDB • Le choix du nœud primaire MongoDB n'est pas encore déterminé • L'opération d'écriture réussit, mais une panne réseau empêche l’acquittement Les développeurs écrivent du code complexe pour la gestion des exceptions
  • 16. Écritures réessayables MongoDB • Gestion des écritures défaillantes (liées à une panne réseau ou au choix d'un nœud primaire) • Le moteur relance automatiquement les opérations d'écriture non abouties • Avec un identifiant de transaction unique, le serveur n'applique qu'une seule fois la sémantique de traitement • Propriétés • Prise en charge des opérations idempotentes et non idempotentes, mais aussi les erreurs dues aux expirations de délai • Disponibilité continue des opérations d'écriture, à l'échelle mondiale • Traitement fiable au sein d'environnements complexes (systèmes multi-maîtres, "eventually consistent")
  • 17. Ecritures réessayables : exemples uri = "mongodb://example.com:27017/?retryWrites=true" client = MongoClient(uri) database = client.database collection = database.collection
  • 18. Forte cohérence Toutes les lectures et écritures MongoDB Primary MongoDB Secondary MongoDB Secondary Applications d'entreprise Données utilisateurs Capteurs Click stream
  • 19. Tunable consistency : dimensionnement des lectures MongoDB Primary MongoDB Secondary MongoDB Secondary Toutes les écritures et certaines lectures Lectures Lectures Applications d'entreprise Données utilisateurs Capteurs Click stream
  • 20. Cohérence ajustable (Tunable Consistency) Ajustez la cohérence des données selon vos SLA de performance Les développeurs contrôlent précisément le routage des requêtes à travers le cluster de base de données. Cohérence causale : garantit des lectures monotones et logiquement cohérentes sur chaque nœud de replica au sein d'une même session utilisateur Lecture des nœuds secondaires dans des clusters shardés : les réplicas secondaires reconnaissent désormais les blocs (chunks), ce qui garantit des lectures cohérentes, même en cas de redistribution des données sur un cluster shardé
  • 21. Cohérence causale : exemples // début de la session client (cohérence causale définie par défaut) try (ClientSession session = client.startSession(ClientSessionOptions.builder().build())) { // Exécution des opérations qui entretiennent une relation causale dans la session collection.insertOne(session, ... ); collection.updateOne(session, ...); try (MongoCursor<Document> cursor = collection.find(session).filter(...).iterator()) { while (cursor.hasNext()) { Document cur = cursor.next(); } }
  • 22. Compass : la GUI de MongoDB Nouvelles fonctionnalités • Exécution automatique des requêtes • Historique des requêtes • Vue en tableau • Framework pour Compass (plug-in) Compass Community • Édition gratuite • GUI et shell utilisables en simultané Téléchargez Compass Community
  • 23. Expressivité des requêtes et fonctionnalités complètes de mise à jour pour les tableaux • Utilisation d'expressions du pipeline d'agrégation dans le langage de requête MongoDB à l'aide du nouvel opérateur $expr • équivalent SQL de SELECT * FROM T1 a> b • Exemple : trouver tous les comptes clients dont les dépenses ont augmenté de 200$ mois après mois • Requêtes plus expressives avec moins de code côté client • Mise à jour atomique de plusieurs éléments correspondants d'un tableau avec une seule commande de mise à jour • Exemple : Augmenter de 20 % tous les prix d'un tableau • Modélisation plus souple des données • Évite les réécritures de documents imposées par d'autres systèmes de bases de données [ ]
  • 24. Mise à jour de tableaux : tous les éléments orders: { _id: 5, line_items : [ { id: 123, title : "USB Battery", price: 15.0 }, { id: 512, title : "Hip T-shirt", price : 45.0 } ], ... } db.orders.update( { _id: 5 }, { $mul: { "line_items.$[].price": 0.8 } } )
  • 25. Mise à jour de tableaux : certains éléments orders: { _id: 5, line_items : [ { id: 123, title : "USB Battery", price: 15.0 , shipped: true}, { id: 512, title : "Hip T-shirt", price : 45.0, shipped: false } ] } db.orders.update( { _id: 5 }, { $mul: { "line_items.$[li].price": .8}}, {arrayFilters:[ {"li.shipped":{$ne:true}} ]} )
  • 26. • Ops Manager • Validation de schéma • Sécurité renforcée • Compression • Multi-tenant Scalabilité accélérée
  • 27. Explorateur de données Inspection de l'utilisation des schémas et des index Vue des performances en temps réel Télémétrie en temps réel : opérations en cours et consommation des ressources Vue des performances en temps réel Scoring des requêtes et recommandations d'indexes
  • 28. Ops Manager : sauvegardes et restaurations Sauvegardes continues et cohérentes avec restauration PITR des données: Sauvegardes interrogeables : inspection des sauvegardes sans restauration préalable • Sauvegardes plus rapides : agent redéveloppé et synchronisation initiale améliorée • Restauration accélérée : création des instantanés point-in-time sur le nœud de destination, avec à la clé un saut (hop) en moins • Sauvegardes vers des object stores : sur site et dans S3 • Restauration inter-projet : restauration dans un projet différent de la source de l'instantané (snapshot)
  • 29. Conformité du modèle de données flexible avec la gouvernance { product_name: ‘Acme Paint’, color: [‘Red’, ‘Green’], size_oz: [8, 32], finish: [‘satin’, ‘eggshell’] } { product_name: ‘T-shirt’, size: [‘S’, ‘M’, ‘L’, ‘XL’], color: [‘Heather Gray’ … ], material: ‘100% cotton’, wash: ‘cold’, dry: ‘tumble dry low’ } { product_name: ‘Mountain Bike’, brake_style: ‘mechanical disc’, color: ‘grey’, frame_material: ‘aluminum’, no_speeds: 21, package_height: ‘7.5x32.9x55’, weight_lbs: 44.05, suspension_type: ‘dual’, wheel_size_in: 26 } Documents de la même collection de catalogues produits dans MongoDB
  • 30. Validation de schéma Applique une structure de schéma stricte sur une collection complète pour garantir la qualité et la bonne gouvernance des données. Complète la validation de document par la restriction du nouveau contenu qu'il est possible d'ajouter à un document • Contrôle la présence, le type et les valeurs du contenu des documents, y compris pour les tableaux imbriqués • Simplifie la logique d'application • Ajustable : imposez une structure de document, configurez des avertissements, ou autorisez une flexibilité complète • Interrogeable : identifiez tous les documents existants présentant des défauts de conformité
  • 31. Validation des schémas : exemples db.createCollection( "orders", {validator: {$jsonSchema: { properties: {line_items: {type: "array", items: {properties: {title: {type: "string"}, price: {type: "number", minimum: 0.0} }, required: ["_id", "title", "price"], additionalProperties: false}}}, required: ["line_items"]}}} )
  • 32. Sécurité des données de bout en bout • Authentification : LDAP, Kerberos, x509, challenge-réponse • Autorisation : RBAC, rôles définis par l'utilisateur, sécurité au niveau du champ • Chiffrement : données en mouvement, au repos, sauvegardes • Audit : DML et DDL complet
  • 33. Contrôles de sécurité renforcés Les nouveautés de MongoDB 3.6 • Connexion à Localhost : RPM et DEB par défaut étendus à tous les packages et plateformes. Refuse toutes les connexions externes à la base de données jusqu'à l'autorisation de l'administrateur • Whitelisting des adresses IP : acceptation des connexions externes uniquement à partir d'adresses IP ou de blocs CIDR prédéfinis
  • 34. Compression de bout en bout MongoDB 3.6 permet de compresser le trafic du protocole de transmission entre le client et la base de données Jusqu'à 80 % de gain de bande passante Compression de bout en bout Compression de bout en bout • Protocole de transmission • Intra-cluster • Index en mémoire • Stockage Application MongoDB Primary Replica Compression du protocole de transmission MongoDB Secondary Replica Single ViewMongoDB Secondary Replica Single ViewMongoDB Secondary Replica Single ViewMongoDB Secondary Replica Single ViewMongoDB Secondary Replica Réplica secondaire MongoDB Compression intra-cluster Compression des données sur disque Compression des index en mémoire
  • 35. Gestion multi-tenant • Gestion opérationnelle des sessions • Les administrateurs peuvent visualiser, grouper et rechercher toutes les sessions utilisateurs, à travers tous les nœuds • Une seule commande pour annuler les opérations en cours d'exécution sur plusieurs nœuds • Plus d'un million de collections WiredTiger • Refactorisation des éléments internes WiredTiger pour supporter les applications produisant • Applications SaaS : collection par utilisateur • Services IoT : collection par ressource par heure
  • 36. • Connector for BI • Pipeline d'agrégation • Pilote R Analyses accélérées
  • 37. MongoDB Connector for BI et bien d'autres d'autres encore...
  • 38. • Plus rapide • S'appuie sur la recherche expressive de MongoDB 3.6 pour basculer plus d'opérations de calcul vers la base de données • Supporte l'affichage du statut pour une optimisation plus poussée des performances • Plus simple • Gestion du cycle de vie avec Ops Manager • Échantillonnage et mappage des schémas désormais gérés par le processus mongosqld, et non par un utilitaire distinct • Authentification via des plug-ins côté client, ce qui évite la gestion des certificats TLS. Nouvelle prise en charge de Kerberos BI Connector : les nouveautés
  • 39. Pipeline d'agrégation enrichi • Recherche expressive ($lookup) • Prise en charge de nouvelles jointures, au-delà des équi jointures à gauche, notamment les jointures non-équi et les • Exécution native dans la base de données. Permet d'adresser des requêtes d'analyse plus complexes avec moins de code • Agrégations sensibles aux fuseaux horaires • Analyse multi-région : permet de regrouper les données en tenant compte des fuseaux horaires • Nouvelles expressions pour des transformations plus complexes • Conversion d'objets en tableaux de paires clé-valeur, et inversement • Fusion de plusieurs objets en un seul • Élimination des champs d'un objet selon des critères d'évaluation
  • 40. $lookup in 3.6 db.orders.aggregate([ {$unwind: "$line_items"}, {$lookup:{ from: "reviews", let: {p_id: "$line_items.id"}, pipeline: [ {$match: {$expr: {$eq: ["$p_id", "$$p_id"]}}}, {$group: { _id: 1, rating: {$avg:"$rating"} }} ], as: "avgRating" } } ]) orders: { ... line_items : [ { id: 123, title : “USB Battery”, price: 15.0 }, { id: 512, title : “Hip T-shirt”, price : 45.0 } ], ... }
  • 41. Pilote R MongoDB Pilote R MongoDB : recommandé pour les développeurs, statisticiens et data scientists • Accès idiomatique à la base de données en langage natif • Gestion de la cohérence et de la durabilité des données • Protection des données avec des mécanismes d'authentification d'entreprise • Support de nouveaux types de données BSON, p. ex. "decimal128", pour des analyses scientifiques et financières de haute précision
  • 42. Cloud ManagerOps Manager MongoDB Atlas DBaaS privé : sur site Compatibilité multi-environnement Tirez un trait sur l'enfermement propriétaire DBaaS hybride DBaaS public : entièrement géré Même codebase, même API, même IU de gestion
  • 43. MongoDB Atlas : le DBaaS selon MongoDB En self-service, élastique et automatisé Sécurisé par défaut Haute disponibilité à l'échelle mondiale Sauvegardes continues Monitoring et optimisation en temps réel Ouverte à toutes les configurations cloud
  • 44. Les nouveautés d'Atlas ● MongoDB 3.6 disponible dans MongoDB Atlas (version GA) ● Réplication inter-régions ● Dimensionnement automatique du stockage ● Arrêt provisoire d'un cluster ● Assistant de performance disponible en continu ● Restaurations inter-projets Auto-storage scaling
  • 46. MongoDB 3.6 Évoluez à la vitesse de vos données Développement accéléré ● Change Streams ● Écritures réessayables ● Cohérence ajustable (Tunable Consistency) ● Compass ● Expressivité des requêtes et mises à jour granulaires des tableaux Scalabilité accélérée ● Ops Manager ● Validation de schéma ● Contrôles de sécurité ● Compression E2E ● Gestion multi-tenant Analyses accélérées ● BI Connector ● Pipeline d'agrégation enrichi ● Pilote R
  • 48. Prise en main de MongoDB 3.6 • Téléchargez la version RC et lisez les notes de version • Lisez notre livre blanc consacré aux nouveautés de MongoDB 3.6 • Profitez d'une formation gratuite avec la MongoDB University • Nous pouvons vous aider : Service de montée de version