SlideShare a Scribd company logo
1 of 123
Download to read offline
Présentation de la formation 
MongoDB, administration 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Noureddine DRISSI 
Expert consultant bases de données 
Contact : contact@valneo-xi.fr 
MongoDB: Administration alphorm.com™©
Le formateur 
 Noureddine DRISSI 
 Expertise dans le domaine des bases de données 
 15 années d’expérience sur tous les SGBDR du marché (Mysql, Oracle, SQL Server, 
Postgresql,DB2, MongoDB) 
 Issue de l’environnement bancaire 
• contact@valneo-xi.fr 
• Mon profil sur alphorm.com : http://www.alphorm.com/auteur/noureddine-drissi 
• Mes formations sur alphorm.com 
MongoDB: Administration alphorm.com™©
Connaissances préalables 
 Connaissances du système d’exploitation Linux/UNIX ou Windows 
 Connaissance de JavaScript (non indispensable) 
MongoDB: Administration alphorm.com™©
A propos de ce cours 
 Objectifs : 
• Comprendre le mouvement NoSQL; 
• installer MongoDB; 
• comprendre l’architecture de MongoDB; 
• travailler avec les objets dans MongoDB; 
• configurer la montée en charge; 
• optimiser les performances; 
• administrer MongoDB au quotidien. 
MongoDB: Administration alphorm.com™©
Plan du cours 
Module 01 : Présentation du mouvement NoSQL 
Module 02 : Présentation de MongoDB 
Module 03 : Prise en main de MongoDB 
Module 04 : Travailler avec les documents 
Module 05 : Réplication et Sharding 
Module 06 : Performance et indexation 
Module 07 : Administration de MongoDB 
MongoDB: Administration alphorm.com™©
Liens utiles 
• La documentation MongoDB 
 https://www.mongodb.org 
• Des livres : http://www.mongodb.org/books (en Anglais) 
• Blog : http://blog.mongodb.org/ 
• Services commerciaux : http://www.mongodb.com/ 
• MongoDB Management Service (un service gratuit en cloud pour la 
surveillance et backup des déploiement de mongodb) : 
http://mms.mongodb.com/ 
MongoDB: Administration alphorm.com™©
GO 
MongoDB: Administration alphorm.com™©
Présentation de la formation 
L’environnement 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Noureddine DRISSI 
Expert consultant bases de données 
Contact : contact@valneo-xi.fr 
MongoDB: Administration alphorm.com™©
Environnement 
 Prés-requis 
 Espace disque de 30G 
 OS Linux Centos 6.x ou Windows (XP, Server,...) 
Internet 
Nom: pyramide01 
IP: 192.168.1.107 
Espace disque: 30Go 
CPU: i7 (4 coeurs) 
RAM: 1Go 
OS: Centos 6.3 
MongoDB 2.4 
MongoDB: Administration alphorm.com™© C:
Présentation du mouvement NoSQL 
MongoDB: Administration alphorm.com™©
Présentation 
du mouvement NoSQL 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Noureddine DRISSI 
Expert consultant bases de données 
Contact : contact@valneo-xi.fr 
MongoDB: Administration alphorm.com™©
Le mouvement NoSQL 
 Historique 
 Le concept du NoSQL à une bonne décennie d’ancienneté 
 Utilisé pour la première fois en 1998 
 Développé par des start-up comme logiciel de stockage des données 
 Inauguration du NoSQL le 11 novembre 2009 à San Francisco 
 Début de normalisation d’un langage de manipulation des données UnQL 
(Unstructured Query Langage) en 2011 
MongoDB: Administration alphorm.com™©
Le mouvement NoSQL 
 Le NoSQL (Not Only SQL) c’est quoi ? 
 SGBD non relationnel issue du monde Web 
 Les données ne sont plus manipulées avec le SQL 
 L’unité de stockage n’est plus la table 
 La définition d’un schéma de données relationnel n’est plus nécessaire 
 Renonciation aux fonctionnalités des SGBDR (ACID) 
 Les principaux axes sont la haute disponibilité et le partitionnement des 
données 
 Permet de gérer de très grosses volumétries de données 
MongoDB: Administration alphorm.com™©
Le mouvement NoSQL 
 Catégories de bases NoSQL 
 Les bases clefs/valeurs 
• Redis, Voldemort 
 Les bases orientées documents 
• MongoDB, CouchDB, Riak 
 Les bases orientées colonnes 
• Cassandra, BigTable, HBase 
 Les bases orientées graphes 
• Neo4j: en Java 
• FlockDB: utilisé par Twitter 
MongoDB: Administration alphorm.com™©
Le mouvement NoSQL 
 Les bases clefs/valeurs 
 Principes du modèle 
• Associe un identifiant unique à chaque valeur dans la base de données 
• Une valeur peut être de type simple ou un objet sérialisé 
• Fournit quatre opérations basiques 
- création, lecture, modification, suppression 
• Toute l’intelligence dans la récupération des données se situe dans 
l’applicatif client 
MongoDB: Administration alphorm.com™©
Le mouvement NoSQL 
 Les bases orientée Colonnes 
 Principes du modèle 
• Stocke les informations sous forme de colonnes 
• Permet d’ajouter très facilement des informations 
• Limite les valeurs nulles 
MongoDB: Administration alphorm.com™©
Le mouvement NoSQL 
 Les bases orientée documents 
 Destinée à stocker des documents 
 Le contenu d'un document ne se limite pas à des attributs simples 
 Chaque document a sa propre structure dans une même collection 
MongoDB: Administration alphorm.com™©
Le mouvement NoSQL 
 Les bases orientée Graphes 
 Le moins connus et assez complexe à mettre en oeuvre 
 Principes du modèle 
• Repose sur un modèle mathématique appelé Théorie des Graphes 
• Données modélisées sous format de noeud 
• Données reliées entre elles par des Arc nommés 
MongoDB: Administration alphorm.com™©
Le mouvement NoSQL 
 Autres types de bases NoSQL 
 Base de données hiérarchique 
 Base de données objet 
MongoDB: Administration alphorm.com™©
Le mouvement NoSQL 
 MongoDB (humongous = énorme) 
 Sponsorisé par 10gen depuis 2007 
 Base de données orientée document 
 Open-source 
 Développé en C++ 
 Données stockées sous forme JSON 
 Absence de tables 
 Utilise la notion de « schemaless » 
 Fournit un shell javascript pour l’accès aux données et l’administration 
MongoDB: Administration alphorm.com™©
Le mouvement NoSQL 
 MongoDB (humongous = énorme) 
 Sponsorisé par 10gen depuis 2007 
 Base de données orientée document 
 Open-source 
 Développé en C++ 
 Données stockées sous forme JSON 
 Absence de tables 
 Utilise la notion de « schemaless » 
 Fournit un shell javascript pour l’accès aux données et l’administration 
MongoDB: Administration alphorm.com™©
Le mouvement NoSQL 
 Avantages de MongoDB 
 Répond aux besoins de performances 
 Garantit la scalabilité horizontale (réplication et sharding) 
 Nombreuses fonctionnalités (count, group by, order by, SUM, MIN, etc.) 
 Supporte l’indexation pour optimiser les performances 
MongoDB: Administration alphorm.com™©
Le mouvement NoSQL 
 La présence sur le marché de MongoDB 
 Utilisé par de grands comptes 
• MTV 
• Disney 
• Doodle 
• CERN (Organisation Européenne pour la Recherche Nucléaire) 
• … 
MongoDB: Administration alphorm.com™©
Le mouvement NoSQL 
 Analogie avec le SQL 
 NoSQL (Base) = SQL (Base) 
 NoSQL (Collection) = SQL (Table) 
 NoSQL ( Document) = SQL (Enregistrement) 
 Dans les bases SQL chaque enregistrement de la table contient 
exactement les mêmes champs, seul le contenu varie 
 Dans une collection MongoDB, les documents peuvent avoir des champs 
totalement différents 
MongoDB: Administration alphorm.com™©
Le mouvement NoSQL 
 Analogie avec le SQL 
 NoSQL (Base) = SQL (Base) 
 NoSQL (Collection) = SQL (Table) 
 NoSQL ( Document) = SQL (Enregistrement) 
 Dans les bases SQL chaque enregistrement de la table contient 
exactement les mêmes champs, seul le contenu varie 
 Dans une collection MongoDB, les documents peuvent avoir des champs 
totalement différents 
MongoDB: Administration alphorm.com™©
Le mouvement NoSQL 
 Les principaux produits NoSQL 
 MongoDB 
 Accumulo 
 Berkeley DB (Oracle) 
 BigTable (Google) 
 Cassandra (Facebook, Twitter, Digg) 
 CouchDB 
 SimpleDB (Amazon.com) 
 … 
MongoDB: Administration alphorm.com™©
Le mouvement NoSQL 
 Cas d’utilisation 
 Sites web populaires 
 Répartition de charge (load balancing) 
 Utilisation de matériel peu couteux 
 Optimisation et administration simplifiés 
MongoDB: Administration alphorm.com™©
Le mouvement NoSQL 
 Comparaison NoSQL / SGBDR 
 SGBDR 
• Les points forts : 
- Beaucoup de fonctionnalités et de règles pour garantir des bases cohérentes et 
complètes : mécanisme de verrous pour la gestion des accès concurrentiels, respect 
des propriétés ACID (Atomicité, Cohérence, Isolation, Durabilité). 
- Utilisation des outils spécialisés comme le modèle entité-relation qui est le Modèle 
Conceptuel de Données (MCD) utilisé pour modéliser la structure de la base. 
• Les points faibles : 
- Performances qui déclinent avec l’augmentation du volume de données 
- Problématique de distribution des données d’une base. 
MongoDB: Administration alphorm.com™©
Le mouvement NoSQL 
 Comparaison NoSQL / SGBDR 
 NoSQL 
• Les points forts : 
- Bons temps de réponse malgré de très gros volumes de données 
- Facilement distribuable 
- Plus flexible en cas de panne (disponibilité partielle voire totale) 
MongoDB: Administration alphorm.com™©
Le mouvement NoSQL 
 Comparaison NoSQL / SGBDR 
 NoSQL 
• Les points faibles : 
- Moins de propriétés garantissant un état cohérent de la base. 
Conformément au théorème de Brewer (aussi appelé théorème du CAP), 
seules deux des trois propriétés suivantes peuvent êtres respectées par un 
SGBD NoSQL : Cohérence, Disponibilité et Résistance au morcellement. 
- Pas de mécanismes de jointures, le côté client doit pallier à ce problème. 
- Il est rare qu’un SGBD de type NoSQL implémente un mécanisme de 
verrous pour garantir la cohérence pendant des accès concurrents. 
MongoDB: Administration alphorm.com™©
Prise en main de MongoDB 
MongoDB: Administration alphorm.com™©
Prise en main de MongoDB 
Installation sous Linux 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Noureddine DRISSI 
Expert consultant bases de données 
Contact : contact@valneo-xi.fr 
MongoDB: Administration alphorm.com™©
Installation sous Linux 
 Installation sous Linux 
 Deux solutions 
• Passer par le gestionnaire de paquets (yum sous Centos) 
- Pour les distributions Debian, Ubuntu 
• http://downloads-distro.mongodb.org/repo/ 
• Télécharger le code source directement (plus pénible) 
MongoDB: Administration alphorm.com™© 
C:
Installation sous Linux 
 Configuration de yum 
• Pour un OS 64 bits 
- Ajouter le le fichier /etc/yum.repos.d/10gen.repo 
- Ajouter les entrées suivantes 
[10gen] 
name=10gen Repository 
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64 
gpgcheck=0 
enabled=1 
MongoDB: Administration alphorm.com™©
Installation sous Linux 
 Configuration de yum 
• Pour un OS 32 bits 
- Ajouter le le fichier /etc/yum.repos.d/10gen.repo 
- Ajouter les entrées suivantes 
[10gen] 
name=10gen Repository 
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/i686 
gpgcheck=0 
enabled=1 
MongoDB: Administration alphorm.com™©
Installation sous Linux 
 Installation via yum 
• yum install mongo-10gen mongo-10gen-server 
MongoDB: Administration alphorm.com™©
Installation de MongoDB sous 
Windows 
MongoDB: Administration alphorm.com™©
Prise en main de MongoDB 
Installation sous Windows 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Noureddine DRISSI 
Expert consultant bases de données 
Contact : contact@valneo-xi.fr 
MongoDB: Administration alphorm.com™©
Installation sous Windows 
 Les étapes 
 Télécharger l’archive à partir de http://www.mongodb.org/downloads 
 Décompresser l’archive 
 Création de l’arborescence de stockage de l’instance par défaut 
 Configuration du path 
 Création du service d’arrêt/démarrage de Windows 
 Démarrage de MongoDB 
MongoDB: Administration alphorm.com™© 
C:
Instance MongoDB 
MongoDB: Administration alphorm.com™©
Prise en main de MongoDB 
Instance MongoDB 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Noureddine DRISSI 
Expert consultant bases de données 
Contact : contact@valneo-xi.fr 
MongoDB: Administration alphorm.com™©
Instance MongoDB 
 Caractéristiques d’une instance MongoDB 
 Un port d’écoute (par défaut 27017) 
 Un processus serveur 
 Un répertoire racine de stockage 
 Un fichier de log 
 Un fichier de configuration: mongod.conf 
MongoDB: Administration alphorm.com™©
Instance MongoDB 
 Arrêt / Démarrage d’une instance MongoDB 
 Sous Linux 
• Démarrage 
- /etc/init.d/mongod start (démarrage de mongoDB via script) 
- mongod --dbpath racine_instance (démarrage de mongoDB) 
- mongod -f fichier.conf 
• Arrêt 
- /etc/init.d/mongod stop (permet d’arrêter mongoDB) 
- /etc/init.d/mongod restart (permet le redémarrage de mongoDB) 
- Commande db.shutdownServer() à partir du client mongo et la base admin 
MongoDB: Administration alphorm.com™©
Instance MongoDB 
 La racine de l’instance 
 Sous Windows 
• Via le gestionnaire de services Windows 
• En mode ligne de commande 
- net start MongoDB (démarrage du service) 
- net stop MongoDB (arrêt du service) 
MongoDB: Administration alphorm.com™©
Les outils et commandes MongoDB 
MongoDB: Administration alphorm.com™©
Prise en main de MongoDB 
Les outils et commandes 
MongoDB 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Noureddine DRISSI 
Expert consultant bases de données 
Contact : contact@valneo-xi.fr 
MongoDB: Administration alphorm.com™©
Les outils et commandes MongoDB 
 Inventaire 
 mongod (le moteur de base) 
 mongo (le shell javascript) 
 mongos (le contrôleur de Sharding) 
 Les outils d’import/export 
• mongoimport, mongoexport, mongodump, mongorestore, bsondump 
 mongofiles (l’utilitaire GridFS) 
 mongostat (visualisation des stats d’une instance mongoDB) 
 mongosniff (le tcpdump de mongo) 
 mongotop, mongoperf 
MongoDB: Administration alphorm.com™©
Bases de données MongoDB 
MongoDB: Administration alphorm.com™©
Prise en main de MongoDB 
Les bases de données 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Noureddine DRISSI 
Expert consultant bases de données 
Contact : contact@valneo-xi.fr 
MongoDB: Administration alphorm.com™©
Les bases de données 
 Architecture 
Instance MongoDB 
MongoDB: Administration alphorm.com™©
Les bases de données 
 Création / Suppression 
 Création de bases de données 
• Automatique 
- # mongo db_name 
-  use db_name 
 Suppression de bases de données 
• # mongo 
•  use db_name; 
•  db.runCommand({dropDatabase: 1}); 
•  db.dropDatabase(); 
MongoDB: Administration alphorm.com™©
Les bases de données 
 Stockage des données physiques d’une base 
 Limite en environnement 32 bits 
• Ne permet pas de stocker plus de 2.5Gb de données 
• Déconseillé pour de la production 
• Le répertoire de stockage utilise la variable --dbPath 
 En production 
• Utiliser la version 64 bits 
• Le répertoire de stockage utilise la variable --dbPath 
MongoDB: Administration alphorm.com™©
Les bases de données 
 Stockage des données physiques d’une base 
 Caractéristiques 
• Pour chaque base 
- initialisation de deux fichiers 
• db_name.0 et db_name.1 
- La taille de chaque fichier est le double de la taille du précédent (64, 128, 256, 
etc.) 
- Taille maximale d’un fichier = 2Gb 
- Le fichier nom_fichier.ns stocke les namespaces de la base (16 Mb par 
défaut) 
• modifiable via l’option -nssize, avec pour taille maximum 2Gb 
MongoDB: Administration alphorm.com™©
Les espaces de noms 
MongoDB: Administration alphorm.com™©
Prise en main de MongoDB 
Les espaces de noms 
(namespace) 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Noureddine DRISSI 
Expert consultant bases de données 
Contact : contact@valneo-xi.fr 
MongoDB: Administration alphorm.com™©
Les espaces de noms 
 Caractéristiques 
 Chaque collection et chaque indexe compte comme un espace de nom 
 Concrètement: concaténation du nom de la base et celui de la collection 
 Limites 
• Par défaut: 24000 espaces de noms 
- Possibilité d’augmenter cette taille avec le paramètre -nssize 
- Possibilité de redimensionner une base existante 
1. On redémarre mongodb avec l’option -nssize 
2. On exécute la commande db.repairDatabase() 
MongoDB: Administration alphorm.com™©
Travailler avec les documents 
MongoDB: Administration alphorm.com™©
Travailler avec les documents 
Les collections 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Noureddine DRISSI 
Expert consultant bases de données 
Contact : contact@valneo-xi.fr 
MongoDB: Administration alphorm.com™©
Les collections 
 Une Collection c’est quoi ? 
 Equivalent de la table en relationnel 
 Deux modes de création 
• Automatiquement lors d’une insertion de document (tuple) 
• En exécutant la commande db.createCollection(‘nom_collection’); 
MongoDB: Administration alphorm.com™©
Les collections 
 Les opérations sur les Collections 
 Créer 
•  db.createCollection('gens'); 
 Lister 
•  show collections; 
•  db.getCollections(); 
 Insérer un document 
•  db.collection_name.insert( { var1: valeur, var2: valeur, var3: valeur, } ); 
 Supprimer 
•  db.nom_collection.drop(); 
MongoDB: Administration alphorm.com™©
Les documents 
MongoDB: Administration alphorm.com™©
Travailles avec les documents 
Les documents 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Noureddine DRISSI 
Expert consultant bases de données 
Contact : contact@valneo-xi.fr 
MongoDB: Administration alphorm.com™©
Les documents 
 Un document c’est quoi ? 
 Equivalent d’un enregistrement (tuple) en relationnel 
 Deux modes d’insertion 
• En utilisant la commande db.nom_collection.insert() du schell 
• En utilisant la commande db.nom_collection.save () du schell 
• En utilisant un driver: PHP, Ruby, Java, Python 
 Chaque document crée contient le champ « _id » 
• Généré automatiquement 
• Type primary key 
• Indéxé 
MongoDB: Administration alphorm.com™©
Les documents 
 Rappel de la hiérarchie des objets 
MongoDB: Administration alphorm.com™©
Les documents 
 Le format JSON/BSON 
 MongoDB stocke les documents au format BSON (Binary JSON) 
 BSON est la représentation binaire des objets JSON (JavaScript Object Notation) 
MongoDB: Administration alphorm.com™©
Les documents 
 Le format JSON c’est quoi ? 
 JSON (JavaScript Object Notation) 
• Permet de représenter de l’information structurée 
• Format de données textuelle 
• Utilise une notation JavaScript 
• Décrit par la RFC 4627 
• Un document JSON, ne comprend que deux éléments structurels : 
- des ensembles de paires nom / valeur ; 
- des listes ordonnées de valeurs. 
MongoDB: Administration alphorm.com™©
Les documents 
 Le format JSON 
 Exemple 
{ 
pospect : ALFKI, 
nom : ORSYS, 
adresse : { 
numero : 77, 
codepostal : 31000, 
ville : Toulouse 
} 
} 
MongoDB: Administration alphorm.com™©
Les documents 
 Exemple pratique d’utilisation 
MongoDB: Administration alphorm.com™©
Les documents 
 Avantage du format JSON 
 Format abstrait pour une représentation simplifiée dans les différents langages 
 Indépendant du langage de programmation 
 Simple et complet pour la représentation des objets 
 Utilise des types de données connus et simples à décrire 
 Une bonne lisibilité de la syntaxe 
 Temps de traitement très proche de celui des fichiers XML 
 Moins volumineux en terme de stockage 
 Pour JavaScript un document JSON représente un objet 
MongoDB: Administration alphorm.com™©
Les documents 
 Types disponibles en JSON 
 issus de json.org 
MongoDB: Administration alphorm.com™©
Les documents 
 Le format BSON c’est quoi ? 
 BSON est la représentation binaire des objets JSON 
 Ajoute des améliorations et des capacités supplémentaires 
• expressions régulières 
• Bytes Arrays 
• Date et TimeStamps 
• stockage de blocs de code ou de fonctions JavaScript 
MongoDB: Administration alphorm.com™©
Les documents 
 Les types de données 
 Une base MongoDB est constituée de Collection(s) 
 Une collection est constituée de document(s) regroupant des paires 
clef/valeur dont la clef est une string et la valeur de type : 
• des objets ; 
• des tableaux ; 
• des valeurs génériques de type tableau, objet, booléen, nombre, chaîne 
ou null. 
MongoDB: Administration alphorm.com™©
Les opérations CRUD 
MongoDB: Administration alphorm.com™©
Réplication et Sharding 
La réplication 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Noureddine DRISSI 
Expert consultant bases de données 
Contact : contact@valneo-xi.fr 
MongoDB: Administration alphorm.com™©
La réplication 
 Présentation 
 Deux fonctionnalités importantes 
• Depuis la version 1.6 
- Les Replica Set 
- Le Sharding 
MongoDB: Administration alphorm.com™©
La réplication 
 Qu’est-ce que le Replica Set ? 
 Permet d’assurer la redondance et la haute disponibilité 
 Permet aux données d’être dupliquées de manière transparente 
 Utilise la notion de groupe de serveur appelé set 
• Chaque set possède 
- un noeud principal (primaire) : lecture/écriture 
- n serveurs de backup (secondaire) : lecture uniquement 
 Concrètement: les Replicat Set permettent de répliquer les données entre des 
instances MongoDb 
MongoDB: Administration alphorm.com™©
La réplication 
 Qu’est-ce que le Replica Set ? 
 Permet d’assurer la redondance et la haute disponibilité 
 Permet aux données d’être dupliquées de manière transparente 
 Utilise la notion de groupe de serveur appelé set 
• Chaque set possède 
- un noeud principal (primaire) : lecture/écriture 
- n serveurs de backup (secondaire) : lecture uniquement 
 Concrètement: les Replicat Set permettent de répliquer les données entre des 
instances MongoDb 
MongoDB: Administration alphorm.com™©
La réplication 
 Mise en place 
 Réplication 
• Démarrage d’un serveur dans un Replica Set 
- mongod 
• --replSet (indique a quel Replica Set appartient l’instance) 
• --shardsvr (active le partitionnement horizontal) 
• ... 
 Le serveur maître génère un journal de transaction 
• Consommé par les différentes bases esclaves 
MongoDB: Administration alphorm.com™©
La réplication 
 Mise en place 
 Réplication 
• Ajout d’un noeud dans un Replica Set 
- Sur le serveur maître 
• PRIMARY rs.add(host:port) 
• Sortir un noeud d’un Replica Set 
- Sur le serveur maître 
• PRIMARY rs.remove(host:port) 
MongoDB: Administration alphorm.com™©
La réplication 
 Mise en place 
 Réplication 
• Les principales commandes d’exploitation 
- rs.initiate(cfg); (permet d’initialiser la configuration d’un Replica Set) 
- db.isMaster(); (permet de vérifier qui est le maître) 
- rs.status(); (permet de vérifier l’état du Replica Set) 
- rs.slaveOk() ; (permet d’activer les lecture sur les serveurs esclaves) 
- rs.syncFrom(host:port); (permet de forcer la synchronisation) 
- ... 
MongoDB: Administration alphorm.com™©
La réplication 
 Exemple de Replica Set 
MongoD maitre 
(Read/Write) 
Replica Set 
Réplication Réplication 
MongoD esclave 
(Read) 
MongoD esclave 
(Read) 
MongoD arbitre 
Surveillance 
MongoDB: Administration alphorm.com™©
La réplication 
 En cas de défaillance 
Replica Set 
Serveur HS 
Surveillance 
MongoD arbitre Réplication 
MongoD maitre 
(Read/Write) 
MongoD esclave 
(Read) 
MongoDB: Administration alphorm.com™©
La réplication 
 TP 
MongoD maitre 
Racine:/mongodb/rs01_inst01 
Port: 27102 
Replica Set rs01 
Surveillance 
MongoD arbitre 
Racine: /mongodb/rs01_arbitre 
Port: 27101 
Réplication Réplication 
MongoD esclave 
Racine: /mongodb/rs01_inst02 
Port: 27103 
MongoD esclave 
Racine: /mongodb/rs01_inst03 
Port: 27104 
MongoDB: Administration alphorm.com™©
Le sharding 
MongoDB: Administration alphorm.com™©
Réplication et Sharding 
Le sharding 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Noureddine DRISSI 
Expert consultant bases de données 
Contact : contact@valneo-xi.fr 
MongoDB: Administration alphorm.com™©
Le sharding 
 Qu’est-ce que le Sharding ou partitionnement ? 
 Pré-requis: mise en place des Replica Set 
• Permet une scalabilité horizontale 
• Distribution du stockage des données sur différentes instances MongoDB 
• Chaque machine stock un sous ensemble des données (chunk) 
• Utilise une clé de Sharding pour répartir le stockage 
MongoDB: Administration alphorm.com™©
Le sharding 
 Architecture du sharding 
MongoDB: Administration alphorm.com™©
Le sharding 
 Les étapes de mise en oeuvre 
 Mise en place du Replica Set 
 Mise en place du sharding 
• Les Shard servers : ou instances mongod 
• Les Config servers : Serveur de configuration qui va stocker les metadata 
du shard 
• Le mongos : Sert de routeur vers les différents shards 
 Test de l’infrastructure 
MongoDB: Administration alphorm.com™©
Le sharding 
 Les principales commandes 
 Ajouter des noeuds au sharding 
• db.runCommand({addshard : nom_Replica_Set/host1:port,host2:port,hostN:port}); 
 Activer le sharding pour une base de données 
• db.runCommand({enablesharding: nom_base}); 
 Dé finir une clef de partitionnement pour le sharding 
• db.runCommand({shardcollection: namespace, key:{:nom_champ:1}}); 
 Afficher les informations sur le sharding 
• db.printShardingStatus(); 
• db.collection.stats(); 
MongoDB: Administration alphorm.com™©
Le sharding 
 TP 
MongoD maitre 
Racine:/mongodb/rs01_inst01 
Port: 27102 
Replica Set rs01 
MongoD arbitre 
Racine: /mongodb/rs01_arbitre 
Réplication 
Réplication 
Surveillance 
Instances de config 
Port: 27201 Port: 27202 Port: 27203 
Port: 27101 
MongoD esclave 
Racine: /mongodb/rs01_inst02 
Port: 27103 
MongoD esclave 
Racine: /mongodb/rs01_inst03 
Port: 27104 
Mongos 
Port: 27301 
Clients 
MongoDB: Administration alphorm.com™©
Performance et indexation 
MongoDB: Administration alphorm.com™©
Performance et indexation 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Noureddine DRISSI 
Expert consultant bases de données 
Contact : contact@valneo-xi.fr 
MongoDB: Administration alphorm.com™©
Performance et indexation 
 Les indexes sous MongoDB 
 Pourquoi faire ? 
• Améliorer les temps d’exécution des requêtes 
 Les différents types d’indexes 
• Index sur un seul champ 
• Index unique 
• Index composé, Sparse et Hashed 
 Indexation par défaut 
• Le champ _id est indexé par défaut (impossible de le supprimer) 
MongoDB: Administration alphorm.com™©
Performance et indexation 
 Index sur un seul champ 
 Deux modes 
• Ordre ascendant (1 pour ASC) 
• Ordre descendant (-1 pour DESC) 
 Poser un index (ascendant et descendant) 
• db.collection.ensureIndex({nom_champ:1}); 
• db.collection.ensureIndex({nom_champ:-1}); 
MongoDB: Administration alphorm.com™©
Performance et indexation 
 Index composés 
 Deux modes 
• Ordre ascendant (1 pour ASC) 
• Ordre descendant (-1 pour DESC) 
 Poser un index (ascendant et descendant) 
• db.collection.ensureIndex({nom_champ1:1, nom_champ2:1}); 
• db.collection.ensureIndex({nom_champ1:-1} nom_champ2:-1}); 
MongoDB: Administration alphorm.com™©
Performance et indexation 
 Les index unique 
 Deux modes 
• Ordre ascendant (1 pour ASC) 
• Ordre descendant (-1 pour DESC) 
 Poser un index unique (ascendant et descendant) 
- db.collection.ensureIndex({nom_champ1:1, {unique: true}); 
- db.collection.ensureIndex({nom_champ1:-1, {unique: true}); 
MongoDB: Administration alphorm.com™©
Performance et indexation 
 Plusieurs types d’indexes 
 Index BTREE 
 Index Sparse 
 Index Haché 
 Géospatial 
 Text 
MongoDB: Administration alphorm.com™©
Performance et indexation 
 Création des index en arrière plan 
 Par défaut construction de l’index en premier plan 
 Possibilité de construire un index en arrière plan 
• db.collection.ensureIndex( { a: 1 }, { background: true } ) 
MongoDB: Administration alphorm.com™©
Performance et indexation 
 Visualisation des index 
 Index d’une collection 
• db.collection.getIndexes() 
 Index d’une base de données 
• db.system.indexes.find() 
MongoDB: Administration alphorm.com™©
Performance et indexation 
 Reconstruction d’index 
 Utilisation de la méthode db.collection.reIndex() 
• Suppression d’index 
  db.collection.dropIndex('nom_index') 
MongoDB: Administration alphorm.com™©
Performance et indexation 
 Monitoring des opérations sur les index (création/reconstruction) 
 Progression: db.currentOp() 
 Interruption: db.killOp() 
MongoDB: Administration alphorm.com™©
Performance et indexation 
 Visualisation des plans d’exécution 
 Utilisation de la méthode: cursor.explain() 
• db.collection.find().explain() 
 Forcer l’utilisation d’un index avec hint() 
• Utilisation de la méthode: cursor.hint() 
- db.collection.find().hint( { nom_champ: 1 } ).explain() 
MongoDB: Administration alphorm.com™©
Administration de MongoDB 
MongoDB: Administration alphorm.com™©
Administration de MongoDB 
Sauvegarde et restauration 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Noureddine DRISSI 
Expert consultant bases de données 
Contact : contact@valneo-xi.fr 
MongoDB: Administration alphorm.com™©
Sauvegarde et restauration 
 Sauvegarde à froid (le plus simple) 
 Les étapes 
• Arrêter le service mongodb 
• Copier tous les fichiers de --dbpath 
- nom_base.numero_fichier 
- nom_base.ns 
• Démarrer le service mongodb 
MongoDB: Administration alphorm.com™©
Sauvegarde et restauration 
 Export MongoDB 
 Commande mongodump 
• Permet d’exporter (collection, base, instance) 
- Contient autant de répertoire que de base 
• Contenant chacun un fichier BSON par collection, plus un fichier BSON 
d’index. 
MongoDB: Administration alphorm.com™©
Sauvegarde et restauration 
 Export MongoDB 
 mongodump 
• Les principales options 
- --db 
- --collection 
- --out (précise le répertoire d’export) 
- --dbpath (précise la racine à exporter) 
MongoDB: Administration alphorm.com™©
Sauvegarde et restauration 
 Export MongoDB 
 Commande mongoexport 
• Permet d’exporter 
- Une base 
- Une collection 
- Des champs 
• Deux formats d’exports possible 
- JSON 
- CSV 
MongoDB: Administration alphorm.com™©
Sauvegarde et restauration 
 Export MongoDB 
 mongoexport 
• Les principales options 
- --db 
- --collection 
- --csv 
- --fields 
MongoDB: Administration alphorm.com™©
Sauvegarde et restauration 
 Import MongoDB 
 Commande mongoimport 
• Permet d’importer 
- Une base 
- Une collection 
- Des champs 
• Deux formats d’imports possible 
- JSON 
- CSV 
MongoDB: Administration alphorm.com™©
Sauvegarde et restauration 
 Import MongoDB 
 Commande mongorestore 
• Permet de restaurer 
- Pré-requis 
• Droper la base cible 
• Les principales options 
- --db 
- --collection 
- --dbpath 
MongoDB: Administration alphorm.com™©
La sécurité sous MongoDB 
MongoDB: Administration alphorm.com™©
Administration de MongoDB 
Map Reduce 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Noureddine DRISSI 
Expert consultant bases de données 
Contact : contact@valneo-xi.fr 
MongoDB: Administration alphorm.com™©
Map Reduce 
 Caractéristiques 
 Se compose de deux fonctions : 
• map qui passe à reduce une clé et des données à traiter 
• reduce qui, pour chaque clé donnée par map, va opérer une réduction sur 
les données en provenance de map selon une logique qu'il faut écrire. 
 Fonctionnement 
• La fonction map va émettre (emit) des paires clé/valeur sur lesquelles reduce va travailler. 
• map traverse tous les documents d'une collection MongoDB et va pousser des infos à reduce 
selon une clé définie 
• Permet de paralléliser les traitements 
• Stocke le résultat dans une collection 
MongoDB: Administration alphorm.com™©
La journalisation 
MongoDB: Administration alphorm.com™©
Administration de MongoDB 
La journalisation 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Noureddine DRISSI 
Expert consultant bases de données 
Contact : contact@valneo-xi.fr 
MongoDB: Administration alphorm.com™©
La journalisation 
 Caractéristiques 
 Permet d’assurer la fonctionnalité de durabilité 
 Utilise les write ahead logging (journal des transactions) 
 En version 2.0: la journalisation est activée par défaut en environnement 64-bits 
 Ne pas désactiver le mode journal en production 
 Au démarrage les opérations d’écritures sont écrites en mémoire et dans le journal des 
transactions avant l’application dans les fichiers data 
MongoDB: Administration alphorm.com™©
La journalisation 
 Activation du journal 
 Démarrage de mongodb avec l’option --journal 
• Si pas de fichier journal, mongodb pré-alloue un nouveau fichier de 1Go 
• Pas de connection possible pendant cette opération 
MongoDB: Administration alphorm.com™©
La journalisation 
 Recouvrement 
 Après un crash ou un arrêt intempestif 
• Au démarrage mongodb rejoue automatiquement les fichiers journaux 
• Si le démarrage échoue 
- Utiliser la commande repairDatabase() 
MongoDB: Administration alphorm.com™©
Les principaux paramètres de 
configuration d’une instance 
MongoDB: Administration alphorm.com™©
Administration de MongoDB 
Les principaux paramètres 
Site : http://www.alphorm.com 
Blog : http://www.alphorm.com/blog 
Forum : http://www.alphorm.com/forum 
Noureddine DRISSI 
Expert consultant bases de données 
Contact : contact@valneo-xi.fr 
MongoDB: Administration alphorm.com™©
Les principaux paramètres 
 Renseignés dans le fichier mongod.conf 
 dbpath emplacement des données d’une instance 
 logpath emplacement des logs 
 logappend continu a écrire des anciens logs ou créer un nouveau fichier 
 nojournal = true désactive ou pas la journalisation 
 noprealloc = true désactive la pré-allocation des fichiers data 
 nssize = size taille du fichier d’espace de nom 
 port = 27017 port utilisé par une instance 
 auth = true active l’authentification sous MongoDB 
 fork = true démarrage de mongod en tâche de fond 
 objcheck = true inspection des documents avant insertion ( utf-8 , type ect .. ) 
 nohttpinterface = true active ou désactive l'interface web de monitoring (Defaults to localhost:27018). 
 ... 
MongoDB: Administration alphorm.com™©
Les interfaces graphiques 
d’administration 
MongoDB: Administration alphorm.com™©

More Related Content

What's hot

Présentation des bases de données orientées graphes
Présentation des bases de données orientées graphesPrésentation des bases de données orientées graphes
Présentation des bases de données orientées graphesKoffi Sani
 
Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkAmal Abid
 
The Basics of MongoDB
The Basics of MongoDBThe Basics of MongoDB
The Basics of MongoDBvaluebound
 
Alphorm.com Formation Elastic : Maitriser les fondamentaux
Alphorm.com Formation Elastic : Maitriser les fondamentauxAlphorm.com Formation Elastic : Maitriser les fondamentaux
Alphorm.com Formation Elastic : Maitriser les fondamentauxAlphorm
 
Introduction à ElasticSearch
Introduction à ElasticSearchIntroduction à ElasticSearch
Introduction à ElasticSearchFadel Chafai
 
Formation Spring Avancé gratuite par Ippon 2014
Formation Spring Avancé gratuite par Ippon 2014Formation Spring Avancé gratuite par Ippon 2014
Formation Spring Avancé gratuite par Ippon 2014Ippon
 
Apache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performantApache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performantALTIC Altic
 
Workshop spring session 2 - La persistance au sein des applications Java
Workshop spring   session 2 - La persistance au sein des applications JavaWorkshop spring   session 2 - La persistance au sein des applications Java
Workshop spring session 2 - La persistance au sein des applications JavaAntoine Rey
 
JDBC: Gestion des bases de données en Java
JDBC: Gestion des bases de données en Java JDBC: Gestion des bases de données en Java
JDBC: Gestion des bases de données en Java Youness Boukouchi
 
alphorm.com - Formation PostgreSQL administration
alphorm.com - Formation PostgreSQL administrationalphorm.com - Formation PostgreSQL administration
alphorm.com - Formation PostgreSQL administrationAlphorm
 
Les modèles NoSQL
Les modèles NoSQLLes modèles NoSQL
Les modèles NoSQLebiznext
 
Alphorm.com Formation MySQL Administration(1Z0-883)
Alphorm.com   Formation MySQL Administration(1Z0-883)Alphorm.com   Formation MySQL Administration(1Z0-883)
Alphorm.com Formation MySQL Administration(1Z0-883)Alphorm
 
Alphorm.com Formation Big Data & Hadoop : Le Guide Complet
Alphorm.com Formation Big Data & Hadoop : Le Guide CompletAlphorm.com Formation Big Data & Hadoop : Le Guide Complet
Alphorm.com Formation Big Data & Hadoop : Le Guide CompletAlphorm
 

What's hot (20)

Présentation des bases de données orientées graphes
Présentation des bases de données orientées graphesPrésentation des bases de données orientées graphes
Présentation des bases de données orientées graphes
 
Hive ppt (1)
Hive ppt (1)Hive ppt (1)
Hive ppt (1)
 
Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - Spark
 
Chapitre 3 spark
Chapitre 3 sparkChapitre 3 spark
Chapitre 3 spark
 
MongoDB.pptx
MongoDB.pptxMongoDB.pptx
MongoDB.pptx
 
The Basics of MongoDB
The Basics of MongoDBThe Basics of MongoDB
The Basics of MongoDB
 
Alphorm.com Formation Elastic : Maitriser les fondamentaux
Alphorm.com Formation Elastic : Maitriser les fondamentauxAlphorm.com Formation Elastic : Maitriser les fondamentaux
Alphorm.com Formation Elastic : Maitriser les fondamentaux
 
Introduction à ElasticSearch
Introduction à ElasticSearchIntroduction à ElasticSearch
Introduction à ElasticSearch
 
Formation Spring Avancé gratuite par Ippon 2014
Formation Spring Avancé gratuite par Ippon 2014Formation Spring Avancé gratuite par Ippon 2014
Formation Spring Avancé gratuite par Ippon 2014
 
Apache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performantApache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performant
 
Workshop spring session 2 - La persistance au sein des applications Java
Workshop spring   session 2 - La persistance au sein des applications JavaWorkshop spring   session 2 - La persistance au sein des applications Java
Workshop spring session 2 - La persistance au sein des applications Java
 
JDBC: Gestion des bases de données en Java
JDBC: Gestion des bases de données en Java JDBC: Gestion des bases de données en Java
JDBC: Gestion des bases de données en Java
 
alphorm.com - Formation PostgreSQL administration
alphorm.com - Formation PostgreSQL administrationalphorm.com - Formation PostgreSQL administration
alphorm.com - Formation PostgreSQL administration
 
Les modèles NoSQL
Les modèles NoSQLLes modèles NoSQL
Les modèles NoSQL
 
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka StreamsTraitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
 
Alphorm.com Formation MySQL Administration(1Z0-883)
Alphorm.com   Formation MySQL Administration(1Z0-883)Alphorm.com   Formation MySQL Administration(1Z0-883)
Alphorm.com Formation MySQL Administration(1Z0-883)
 
Support de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfiSupport de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfi
 
Cassandra Database
Cassandra DatabaseCassandra Database
Cassandra Database
 
An introduction to MongoDB
An introduction to MongoDBAn introduction to MongoDB
An introduction to MongoDB
 
Alphorm.com Formation Big Data & Hadoop : Le Guide Complet
Alphorm.com Formation Big Data & Hadoop : Le Guide CompletAlphorm.com Formation Big Data & Hadoop : Le Guide Complet
Alphorm.com Formation Big Data & Hadoop : Le Guide Complet
 

Viewers also liked

Alphorm.com Formation Windows Presentation Foundation avec Visual Studio 2013...
Alphorm.com Formation Windows Presentation Foundation avec Visual Studio 2013...Alphorm.com Formation Windows Presentation Foundation avec Visual Studio 2013...
Alphorm.com Formation Windows Presentation Foundation avec Visual Studio 2013...Alphorm
 
Alphorm.com Support de la formation Programmer en C# avec visual studio 2015
Alphorm.com Support de la formation Programmer en C# avec visual studio 2015Alphorm.com Support de la formation Programmer en C# avec visual studio 2015
Alphorm.com Support de la formation Programmer en C# avec visual studio 2015Alphorm
 
Alphorm.com Formation Oracle 12c DBA2 : Installation et mise à niveau
Alphorm.com Formation Oracle 12c DBA2 : Installation et mise à niveauAlphorm.com Formation Oracle 12c DBA2 : Installation et mise à niveau
Alphorm.com Formation Oracle 12c DBA2 : Installation et mise à niveauAlphorm
 
Alphorm.com support de la formation windows 10 administration des services av...
Alphorm.com support de la formation windows 10 administration des services av...Alphorm.com support de la formation windows 10 administration des services av...
Alphorm.com support de la formation windows 10 administration des services av...Alphorm
 
Alphorm.com Formation OS X 10.11 Client El Capitan , avancé
Alphorm.com Formation OS X 10.11 Client El Capitan , avancéAlphorm.com Formation OS X 10.11 Client El Capitan , avancé
Alphorm.com Formation OS X 10.11 Client El Capitan , avancéAlphorm
 
Alphorm.com Formation Security+ 1/2
Alphorm.com Formation Security+ 1/2Alphorm.com Formation Security+ 1/2
Alphorm.com Formation Security+ 1/2Alphorm
 
Alphorm.com Formation Microsoft ATA 2016 : Installation et Configuration
Alphorm.com Formation Microsoft ATA 2016 : Installation et ConfigurationAlphorm.com Formation Microsoft ATA 2016 : Installation et Configuration
Alphorm.com Formation Microsoft ATA 2016 : Installation et ConfigurationAlphorm
 
Alphorm.com Support de la Formation SCOM 2012 R2 avancé
Alphorm.com Support de la Formation SCOM 2012 R2 avancéAlphorm.com Support de la Formation SCOM 2012 R2 avancé
Alphorm.com Support de la Formation SCOM 2012 R2 avancéAlphorm
 
Alphorm.com support de la formation Drupal 8 webmaster configurateur
Alphorm.com support de la formation Drupal 8 webmaster configurateurAlphorm.com support de la formation Drupal 8 webmaster configurateur
Alphorm.com support de la formation Drupal 8 webmaster configurateurAlphorm
 
Alphorm.com ressources-formation-hacking-et-securite-reseaux-sans-fils
Alphorm.com ressources-formation-hacking-et-securite-reseaux-sans-filsAlphorm.com ressources-formation-hacking-et-securite-reseaux-sans-fils
Alphorm.com ressources-formation-hacking-et-securite-reseaux-sans-filsAlphorm
 
Alphorm.com Formation Azure Active Directory RMS et Azure Information Protection
Alphorm.com Formation Azure Active Directory RMS et Azure Information ProtectionAlphorm.com Formation Azure Active Directory RMS et Azure Information Protection
Alphorm.com Formation Azure Active Directory RMS et Azure Information ProtectionAlphorm
 
Alphorm.com Formation Exchange 2016, Configuration Avancée
Alphorm.com Formation Exchange 2016, Configuration AvancéeAlphorm.com Formation Exchange 2016, Configuration Avancée
Alphorm.com Formation Exchange 2016, Configuration AvancéeAlphorm
 
Alphorm.com Support de la formation Hacking & Sécurité, Expert - Vulnérabilit...
Alphorm.com Support de la formation Hacking & Sécurité, Expert - Vulnérabilit...Alphorm.com Support de la formation Hacking & Sécurité, Expert - Vulnérabilit...
Alphorm.com Support de la formation Hacking & Sécurité, Expert - Vulnérabilit...Alphorm
 
Alphorm.com-Formation windows 2012 (70-410)
Alphorm.com-Formation windows 2012 (70-410)Alphorm.com-Formation windows 2012 (70-410)
Alphorm.com-Formation windows 2012 (70-410)Alphorm
 
Alphorm.com Support de la Formation Exchange 2016 Installation et Configuration
Alphorm.com Support de la Formation Exchange 2016 Installation et ConfigurationAlphorm.com Support de la Formation Exchange 2016 Installation et Configuration
Alphorm.com Support de la Formation Exchange 2016 Installation et ConfigurationAlphorm
 
Alphorm.com Formation Stormshield version 3 - Comprendre les mises à jour
Alphorm.com Formation Stormshield version 3 - Comprendre les mises à jourAlphorm.com Formation Stormshield version 3 - Comprendre les mises à jour
Alphorm.com Formation Stormshield version 3 - Comprendre les mises à jourAlphorm
 
Alphorm.com Support de la Formation Microsoft Identity Manager (MIM) 2016 Imp...
Alphorm.com Support de la Formation Microsoft Identity Manager (MIM) 2016 Imp...Alphorm.com Support de la Formation Microsoft Identity Manager (MIM) 2016 Imp...
Alphorm.com Support de la Formation Microsoft Identity Manager (MIM) 2016 Imp...Alphorm
 
alphorm.com - Formation Windows Server Core 2012 R2 - Guide de l'Admin IT
alphorm.com - Formation Windows Server Core 2012 R2 - Guide de l'Admin ITalphorm.com - Formation Windows Server Core 2012 R2 - Guide de l'Admin IT
alphorm.com - Formation Windows Server Core 2012 R2 - Guide de l'Admin ITAlphorm
 
alphorm.com - Formation Windows 8.1 (70-687)
alphorm.com - Formation Windows 8.1 (70-687)alphorm.com - Formation Windows 8.1 (70-687)
alphorm.com - Formation Windows 8.1 (70-687)Alphorm
 
Alphorm.com Support de la Formation JavaScript , avancé
Alphorm.com Support de la Formation JavaScript , avancéAlphorm.com Support de la Formation JavaScript , avancé
Alphorm.com Support de la Formation JavaScript , avancéAlphorm
 

Viewers also liked (20)

Alphorm.com Formation Windows Presentation Foundation avec Visual Studio 2013...
Alphorm.com Formation Windows Presentation Foundation avec Visual Studio 2013...Alphorm.com Formation Windows Presentation Foundation avec Visual Studio 2013...
Alphorm.com Formation Windows Presentation Foundation avec Visual Studio 2013...
 
Alphorm.com Support de la formation Programmer en C# avec visual studio 2015
Alphorm.com Support de la formation Programmer en C# avec visual studio 2015Alphorm.com Support de la formation Programmer en C# avec visual studio 2015
Alphorm.com Support de la formation Programmer en C# avec visual studio 2015
 
Alphorm.com Formation Oracle 12c DBA2 : Installation et mise à niveau
Alphorm.com Formation Oracle 12c DBA2 : Installation et mise à niveauAlphorm.com Formation Oracle 12c DBA2 : Installation et mise à niveau
Alphorm.com Formation Oracle 12c DBA2 : Installation et mise à niveau
 
Alphorm.com support de la formation windows 10 administration des services av...
Alphorm.com support de la formation windows 10 administration des services av...Alphorm.com support de la formation windows 10 administration des services av...
Alphorm.com support de la formation windows 10 administration des services av...
 
Alphorm.com Formation OS X 10.11 Client El Capitan , avancé
Alphorm.com Formation OS X 10.11 Client El Capitan , avancéAlphorm.com Formation OS X 10.11 Client El Capitan , avancé
Alphorm.com Formation OS X 10.11 Client El Capitan , avancé
 
Alphorm.com Formation Security+ 1/2
Alphorm.com Formation Security+ 1/2Alphorm.com Formation Security+ 1/2
Alphorm.com Formation Security+ 1/2
 
Alphorm.com Formation Microsoft ATA 2016 : Installation et Configuration
Alphorm.com Formation Microsoft ATA 2016 : Installation et ConfigurationAlphorm.com Formation Microsoft ATA 2016 : Installation et Configuration
Alphorm.com Formation Microsoft ATA 2016 : Installation et Configuration
 
Alphorm.com Support de la Formation SCOM 2012 R2 avancé
Alphorm.com Support de la Formation SCOM 2012 R2 avancéAlphorm.com Support de la Formation SCOM 2012 R2 avancé
Alphorm.com Support de la Formation SCOM 2012 R2 avancé
 
Alphorm.com support de la formation Drupal 8 webmaster configurateur
Alphorm.com support de la formation Drupal 8 webmaster configurateurAlphorm.com support de la formation Drupal 8 webmaster configurateur
Alphorm.com support de la formation Drupal 8 webmaster configurateur
 
Alphorm.com ressources-formation-hacking-et-securite-reseaux-sans-fils
Alphorm.com ressources-formation-hacking-et-securite-reseaux-sans-filsAlphorm.com ressources-formation-hacking-et-securite-reseaux-sans-fils
Alphorm.com ressources-formation-hacking-et-securite-reseaux-sans-fils
 
Alphorm.com Formation Azure Active Directory RMS et Azure Information Protection
Alphorm.com Formation Azure Active Directory RMS et Azure Information ProtectionAlphorm.com Formation Azure Active Directory RMS et Azure Information Protection
Alphorm.com Formation Azure Active Directory RMS et Azure Information Protection
 
Alphorm.com Formation Exchange 2016, Configuration Avancée
Alphorm.com Formation Exchange 2016, Configuration AvancéeAlphorm.com Formation Exchange 2016, Configuration Avancée
Alphorm.com Formation Exchange 2016, Configuration Avancée
 
Alphorm.com Support de la formation Hacking & Sécurité, Expert - Vulnérabilit...
Alphorm.com Support de la formation Hacking & Sécurité, Expert - Vulnérabilit...Alphorm.com Support de la formation Hacking & Sécurité, Expert - Vulnérabilit...
Alphorm.com Support de la formation Hacking & Sécurité, Expert - Vulnérabilit...
 
Alphorm.com-Formation windows 2012 (70-410)
Alphorm.com-Formation windows 2012 (70-410)Alphorm.com-Formation windows 2012 (70-410)
Alphorm.com-Formation windows 2012 (70-410)
 
Alphorm.com Support de la Formation Exchange 2016 Installation et Configuration
Alphorm.com Support de la Formation Exchange 2016 Installation et ConfigurationAlphorm.com Support de la Formation Exchange 2016 Installation et Configuration
Alphorm.com Support de la Formation Exchange 2016 Installation et Configuration
 
Alphorm.com Formation Stormshield version 3 - Comprendre les mises à jour
Alphorm.com Formation Stormshield version 3 - Comprendre les mises à jourAlphorm.com Formation Stormshield version 3 - Comprendre les mises à jour
Alphorm.com Formation Stormshield version 3 - Comprendre les mises à jour
 
Alphorm.com Support de la Formation Microsoft Identity Manager (MIM) 2016 Imp...
Alphorm.com Support de la Formation Microsoft Identity Manager (MIM) 2016 Imp...Alphorm.com Support de la Formation Microsoft Identity Manager (MIM) 2016 Imp...
Alphorm.com Support de la Formation Microsoft Identity Manager (MIM) 2016 Imp...
 
alphorm.com - Formation Windows Server Core 2012 R2 - Guide de l'Admin IT
alphorm.com - Formation Windows Server Core 2012 R2 - Guide de l'Admin ITalphorm.com - Formation Windows Server Core 2012 R2 - Guide de l'Admin IT
alphorm.com - Formation Windows Server Core 2012 R2 - Guide de l'Admin IT
 
alphorm.com - Formation Windows 8.1 (70-687)
alphorm.com - Formation Windows 8.1 (70-687)alphorm.com - Formation Windows 8.1 (70-687)
alphorm.com - Formation Windows 8.1 (70-687)
 
Alphorm.com Support de la Formation JavaScript , avancé
Alphorm.com Support de la Formation JavaScript , avancéAlphorm.com Support de la Formation JavaScript , avancé
Alphorm.com Support de la Formation JavaScript , avancé
 

Similar to Alphorm.com-Formation MongoDB Administration

Support Formation vidéo: MongoDB pour débutant
Support Formation vidéo: MongoDB pour débutantSupport Formation vidéo: MongoDB pour débutant
Support Formation vidéo: MongoDB pour débutantSmartnSkilled
 
Introduction nosql
Introduction nosqlIntroduction nosql
Introduction nosqlInes Slimene
 
cours06-nosql.pdf
cours06-nosql.pdfcours06-nosql.pdf
cours06-nosql.pdfhbadir
 
Introduction aux bases de données NoSQL
Introduction aux bases de données NoSQLIntroduction aux bases de données NoSQL
Introduction aux bases de données NoSQLAntoine Augusti
 
Drupal et le NoSQL - drupagora 2011
Drupal et le NoSQL - drupagora 2011Drupal et le NoSQL - drupagora 2011
Drupal et le NoSQL - drupagora 2011OSInet
 
Alphorm.com Formation le langage SQL
Alphorm.com  Formation le langage SQLAlphorm.com  Formation le langage SQL
Alphorm.com Formation le langage SQLAlphorm
 
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
 
11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .net11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .netHamza SAID
 
Serveur web / Base de donnees Langages de développement
Serveur web / Base de donnees Langages de développementServeur web / Base de donnees Langages de développement
Serveur web / Base de donnees Langages de développementLudovic REUS
 
Node.js et MongoDB: Mongoose
Node.js et MongoDB: MongooseNode.js et MongoDB: Mongoose
Node.js et MongoDB: Mongoosejeromegn
 
Morning with MongoDB Paris 2012 - Fast Connect
Morning with MongoDB Paris 2012 - Fast ConnectMorning with MongoDB Paris 2012 - Fast Connect
Morning with MongoDB Paris 2012 - Fast ConnectMongoDB
 
Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...Microsoft Technet France
 
MongoDB_presentation_xmls.pptx
MongoDB_presentation_xmls.pptxMongoDB_presentation_xmls.pptx
MongoDB_presentation_xmls.pptxZALIMAZA
 
MongoDB_presentation_p.pptx
MongoDB_presentation_p.pptxMongoDB_presentation_p.pptx
MongoDB_presentation_p.pptxZALIMAZA
 
Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...
Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...
Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...Valtech
 
MongoDB_presentation_tts.pptx
MongoDB_presentation_tts.pptxMongoDB_presentation_tts.pptx
MongoDB_presentation_tts.pptxZALIMAZA
 
MongoDB_presentation_example.pptx
MongoDB_presentation_example.pptxMongoDB_presentation_example.pptx
MongoDB_presentation_example.pptxZALIMAZA
 
MongoDB_presentation_Moyou.pptx
MongoDB_presentation_Moyou.pptxMongoDB_presentation_Moyou.pptx
MongoDB_presentation_Moyou.pptxZALIMAZA
 
Réussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDBRéussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDB MongoDB
 

Similar to Alphorm.com-Formation MongoDB Administration (20)

Support Formation vidéo: MongoDB pour débutant
Support Formation vidéo: MongoDB pour débutantSupport Formation vidéo: MongoDB pour débutant
Support Formation vidéo: MongoDB pour débutant
 
Introduction nosql
Introduction nosqlIntroduction nosql
Introduction nosql
 
cours06-nosql.pdf
cours06-nosql.pdfcours06-nosql.pdf
cours06-nosql.pdf
 
Introduction aux bases de données NoSQL
Introduction aux bases de données NoSQLIntroduction aux bases de données NoSQL
Introduction aux bases de données NoSQL
 
Drupal et le NoSQL - drupagora 2011
Drupal et le NoSQL - drupagora 2011Drupal et le NoSQL - drupagora 2011
Drupal et le NoSQL - drupagora 2011
 
Alphorm.com Formation le langage SQL
Alphorm.com  Formation le langage SQLAlphorm.com  Formation le langage SQL
Alphorm.com Formation le langage SQL
 
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
 
11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .net11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .net
 
Serveur web / Base de donnees Langages de développement
Serveur web / Base de donnees Langages de développementServeur web / Base de donnees Langages de développement
Serveur web / Base de donnees Langages de développement
 
Node.js et MongoDB: Mongoose
Node.js et MongoDB: MongooseNode.js et MongoDB: Mongoose
Node.js et MongoDB: Mongoose
 
Morning with MongoDB Paris 2012 - Fast Connect
Morning with MongoDB Paris 2012 - Fast ConnectMorning with MongoDB Paris 2012 - Fast Connect
Morning with MongoDB Paris 2012 - Fast Connect
 
Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...
 
MongoDB_presentation_xmls.pptx
MongoDB_presentation_xmls.pptxMongoDB_presentation_xmls.pptx
MongoDB_presentation_xmls.pptx
 
Mariadb une base de données NewSQL
Mariadb une base de données NewSQLMariadb une base de données NewSQL
Mariadb une base de données NewSQL
 
MongoDB_presentation_p.pptx
MongoDB_presentation_p.pptxMongoDB_presentation_p.pptx
MongoDB_presentation_p.pptx
 
Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...
Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...
Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...
 
MongoDB_presentation_tts.pptx
MongoDB_presentation_tts.pptxMongoDB_presentation_tts.pptx
MongoDB_presentation_tts.pptx
 
MongoDB_presentation_example.pptx
MongoDB_presentation_example.pptxMongoDB_presentation_example.pptx
MongoDB_presentation_example.pptx
 
MongoDB_presentation_Moyou.pptx
MongoDB_presentation_Moyou.pptxMongoDB_presentation_Moyou.pptx
MongoDB_presentation_Moyou.pptx
 
Réussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDBRéussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDB
 

More from Alphorm

Alphorm.com Formation Microsoft 365 (MS-500) : Administrateur Sécurité - Prot...
Alphorm.com Formation Microsoft 365 (MS-500) : Administrateur Sécurité - Prot...Alphorm.com Formation Microsoft 365 (MS-500) : Administrateur Sécurité - Prot...
Alphorm.com Formation Microsoft 365 (MS-500) : Administrateur Sécurité - Prot...Alphorm
 
Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...
Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...
Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...Alphorm
 
Alphorm.com Formation CCNP ENCOR 350-401 (6of8) : Sécurité
Alphorm.com Formation CCNP ENCOR 350-401 (6of8) : SécuritéAlphorm.com Formation CCNP ENCOR 350-401 (6of8) : Sécurité
Alphorm.com Formation CCNP ENCOR 350-401 (6of8) : SécuritéAlphorm
 
Alphorm.com Formation Vue JS 3 : Créer une application de A à Z
Alphorm.com Formation Vue JS 3 : Créer une application de A à ZAlphorm.com Formation Vue JS 3 : Créer une application de A à Z
Alphorm.com Formation Vue JS 3 : Créer une application de A à ZAlphorm
 
Alphorm.com Formation Blockchain : Maîtriser la Conception d'Architectures
Alphorm.com Formation Blockchain : Maîtriser la Conception d'ArchitecturesAlphorm.com Formation Blockchain : Maîtriser la Conception d'Architectures
Alphorm.com Formation Blockchain : Maîtriser la Conception d'ArchitecturesAlphorm
 
Alphorm.com Formation Sage : Gestion Commerciale
Alphorm.com Formation Sage : Gestion CommercialeAlphorm.com Formation Sage : Gestion Commerciale
Alphorm.com Formation Sage : Gestion CommercialeAlphorm
 
Alphorm.com Formation PHP 8 (2/6) : L'héritage en orienté objet
Alphorm.com Formation PHP 8 (2/6) : L'héritage en orienté objetAlphorm.com Formation PHP 8 (2/6) : L'héritage en orienté objet
Alphorm.com Formation PHP 8 (2/6) : L'héritage en orienté objetAlphorm
 
Alphorm.com Formation Excel 2019 : Concevoir un Tableau de Bord Interactif
Alphorm.com Formation Excel 2019 : Concevoir un Tableau de Bord InteractifAlphorm.com Formation Excel 2019 : Concevoir un Tableau de Bord Interactif
Alphorm.com Formation Excel 2019 : Concevoir un Tableau de Bord InteractifAlphorm
 
Alphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style Isométrique
Alphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style IsométriqueAlphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style Isométrique
Alphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style IsométriqueAlphorm
 
Alphorm.com Formation VMware vSphere 7 : La Mise à Niveau
Alphorm.com Formation VMware vSphere 7 : La Mise à NiveauAlphorm.com Formation VMware vSphere 7 : La Mise à Niveau
Alphorm.com Formation VMware vSphere 7 : La Mise à NiveauAlphorm
 
Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...
Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...
Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...Alphorm
 
Alphorm.com Formation Unity : Monétiser votre jeu 3D sur les plateformes Mobiles
Alphorm.com Formation Unity : Monétiser votre jeu 3D sur les plateformes MobilesAlphorm.com Formation Unity : Monétiser votre jeu 3D sur les plateformes Mobiles
Alphorm.com Formation Unity : Monétiser votre jeu 3D sur les plateformes MobilesAlphorm
 
Alphorm.com Formation PHP 8 : Les bases de la POO
Alphorm.com Formation PHP 8 : Les bases de la POOAlphorm.com Formation PHP 8 : Les bases de la POO
Alphorm.com Formation PHP 8 : Les bases de la POOAlphorm
 
Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...
Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...
Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...Alphorm
 
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...Alphorm
 
Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...
Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...
Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...Alphorm
 
Alphorm.com Formation Unity (6/7) : Maitriser l'Intelligence Artificielle de ...
Alphorm.com Formation Unity (6/7) : Maitriser l'Intelligence Artificielle de ...Alphorm.com Formation Unity (6/7) : Maitriser l'Intelligence Artificielle de ...
Alphorm.com Formation Unity (6/7) : Maitriser l'Intelligence Artificielle de ...Alphorm
 
Alphorm.com Formation Architecture Microservices : Jenkins et SpringBoot
Alphorm.com Formation Architecture Microservices : Jenkins et SpringBootAlphorm.com Formation Architecture Microservices : Jenkins et SpringBoot
Alphorm.com Formation Architecture Microservices : Jenkins et SpringBootAlphorm
 
Alphorm.com Formation Active Directory 2022 : Multi Sites et Services
Alphorm.com Formation Active Directory 2022 : Multi Sites et ServicesAlphorm.com Formation Active Directory 2022 : Multi Sites et Services
Alphorm.com Formation Active Directory 2022 : Multi Sites et ServicesAlphorm
 
Alphorm.com Formation Vue JS 3 : Exploiter la Composition API
Alphorm.com Formation Vue JS 3 : Exploiter la Composition APIAlphorm.com Formation Vue JS 3 : Exploiter la Composition API
Alphorm.com Formation Vue JS 3 : Exploiter la Composition APIAlphorm
 

More from Alphorm (20)

Alphorm.com Formation Microsoft 365 (MS-500) : Administrateur Sécurité - Prot...
Alphorm.com Formation Microsoft 365 (MS-500) : Administrateur Sécurité - Prot...Alphorm.com Formation Microsoft 365 (MS-500) : Administrateur Sécurité - Prot...
Alphorm.com Formation Microsoft 365 (MS-500) : Administrateur Sécurité - Prot...
 
Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...
Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...
Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...
 
Alphorm.com Formation CCNP ENCOR 350-401 (6of8) : Sécurité
Alphorm.com Formation CCNP ENCOR 350-401 (6of8) : SécuritéAlphorm.com Formation CCNP ENCOR 350-401 (6of8) : Sécurité
Alphorm.com Formation CCNP ENCOR 350-401 (6of8) : Sécurité
 
Alphorm.com Formation Vue JS 3 : Créer une application de A à Z
Alphorm.com Formation Vue JS 3 : Créer une application de A à ZAlphorm.com Formation Vue JS 3 : Créer une application de A à Z
Alphorm.com Formation Vue JS 3 : Créer une application de A à Z
 
Alphorm.com Formation Blockchain : Maîtriser la Conception d'Architectures
Alphorm.com Formation Blockchain : Maîtriser la Conception d'ArchitecturesAlphorm.com Formation Blockchain : Maîtriser la Conception d'Architectures
Alphorm.com Formation Blockchain : Maîtriser la Conception d'Architectures
 
Alphorm.com Formation Sage : Gestion Commerciale
Alphorm.com Formation Sage : Gestion CommercialeAlphorm.com Formation Sage : Gestion Commerciale
Alphorm.com Formation Sage : Gestion Commerciale
 
Alphorm.com Formation PHP 8 (2/6) : L'héritage en orienté objet
Alphorm.com Formation PHP 8 (2/6) : L'héritage en orienté objetAlphorm.com Formation PHP 8 (2/6) : L'héritage en orienté objet
Alphorm.com Formation PHP 8 (2/6) : L'héritage en orienté objet
 
Alphorm.com Formation Excel 2019 : Concevoir un Tableau de Bord Interactif
Alphorm.com Formation Excel 2019 : Concevoir un Tableau de Bord InteractifAlphorm.com Formation Excel 2019 : Concevoir un Tableau de Bord Interactif
Alphorm.com Formation Excel 2019 : Concevoir un Tableau de Bord Interactif
 
Alphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style Isométrique
Alphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style IsométriqueAlphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style Isométrique
Alphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style Isométrique
 
Alphorm.com Formation VMware vSphere 7 : La Mise à Niveau
Alphorm.com Formation VMware vSphere 7 : La Mise à NiveauAlphorm.com Formation VMware vSphere 7 : La Mise à Niveau
Alphorm.com Formation VMware vSphere 7 : La Mise à Niveau
 
Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...
Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...
Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...
 
Alphorm.com Formation Unity : Monétiser votre jeu 3D sur les plateformes Mobiles
Alphorm.com Formation Unity : Monétiser votre jeu 3D sur les plateformes MobilesAlphorm.com Formation Unity : Monétiser votre jeu 3D sur les plateformes Mobiles
Alphorm.com Formation Unity : Monétiser votre jeu 3D sur les plateformes Mobiles
 
Alphorm.com Formation PHP 8 : Les bases de la POO
Alphorm.com Formation PHP 8 : Les bases de la POOAlphorm.com Formation PHP 8 : Les bases de la POO
Alphorm.com Formation PHP 8 : Les bases de la POO
 
Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...
Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...
Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...
 
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...
 
Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...
Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...
Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...
 
Alphorm.com Formation Unity (6/7) : Maitriser l'Intelligence Artificielle de ...
Alphorm.com Formation Unity (6/7) : Maitriser l'Intelligence Artificielle de ...Alphorm.com Formation Unity (6/7) : Maitriser l'Intelligence Artificielle de ...
Alphorm.com Formation Unity (6/7) : Maitriser l'Intelligence Artificielle de ...
 
Alphorm.com Formation Architecture Microservices : Jenkins et SpringBoot
Alphorm.com Formation Architecture Microservices : Jenkins et SpringBootAlphorm.com Formation Architecture Microservices : Jenkins et SpringBoot
Alphorm.com Formation Architecture Microservices : Jenkins et SpringBoot
 
Alphorm.com Formation Active Directory 2022 : Multi Sites et Services
Alphorm.com Formation Active Directory 2022 : Multi Sites et ServicesAlphorm.com Formation Active Directory 2022 : Multi Sites et Services
Alphorm.com Formation Active Directory 2022 : Multi Sites et Services
 
Alphorm.com Formation Vue JS 3 : Exploiter la Composition API
Alphorm.com Formation Vue JS 3 : Exploiter la Composition APIAlphorm.com Formation Vue JS 3 : Exploiter la Composition API
Alphorm.com Formation Vue JS 3 : Exploiter la Composition API
 

Alphorm.com-Formation MongoDB Administration

  • 1. Présentation de la formation MongoDB, administration Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Noureddine DRISSI Expert consultant bases de données Contact : contact@valneo-xi.fr MongoDB: Administration alphorm.com™©
  • 2. Le formateur Noureddine DRISSI Expertise dans le domaine des bases de données 15 années d’expérience sur tous les SGBDR du marché (Mysql, Oracle, SQL Server, Postgresql,DB2, MongoDB) Issue de l’environnement bancaire • contact@valneo-xi.fr • Mon profil sur alphorm.com : http://www.alphorm.com/auteur/noureddine-drissi • Mes formations sur alphorm.com MongoDB: Administration alphorm.com™©
  • 3. Connaissances préalables Connaissances du système d’exploitation Linux/UNIX ou Windows Connaissance de JavaScript (non indispensable) MongoDB: Administration alphorm.com™©
  • 4. A propos de ce cours Objectifs : • Comprendre le mouvement NoSQL; • installer MongoDB; • comprendre l’architecture de MongoDB; • travailler avec les objets dans MongoDB; • configurer la montée en charge; • optimiser les performances; • administrer MongoDB au quotidien. MongoDB: Administration alphorm.com™©
  • 5. Plan du cours Module 01 : Présentation du mouvement NoSQL Module 02 : Présentation de MongoDB Module 03 : Prise en main de MongoDB Module 04 : Travailler avec les documents Module 05 : Réplication et Sharding Module 06 : Performance et indexation Module 07 : Administration de MongoDB MongoDB: Administration alphorm.com™©
  • 6. Liens utiles • La documentation MongoDB https://www.mongodb.org • Des livres : http://www.mongodb.org/books (en Anglais) • Blog : http://blog.mongodb.org/ • Services commerciaux : http://www.mongodb.com/ • MongoDB Management Service (un service gratuit en cloud pour la surveillance et backup des déploiement de mongodb) : http://mms.mongodb.com/ MongoDB: Administration alphorm.com™©
  • 7. GO MongoDB: Administration alphorm.com™©
  • 8. Présentation de la formation L’environnement Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Noureddine DRISSI Expert consultant bases de données Contact : contact@valneo-xi.fr MongoDB: Administration alphorm.com™©
  • 9. Environnement Prés-requis Espace disque de 30G OS Linux Centos 6.x ou Windows (XP, Server,...) Internet Nom: pyramide01 IP: 192.168.1.107 Espace disque: 30Go CPU: i7 (4 coeurs) RAM: 1Go OS: Centos 6.3 MongoDB 2.4 MongoDB: Administration alphorm.com™© C:
  • 10. Présentation du mouvement NoSQL MongoDB: Administration alphorm.com™©
  • 11. Présentation du mouvement NoSQL Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Noureddine DRISSI Expert consultant bases de données Contact : contact@valneo-xi.fr MongoDB: Administration alphorm.com™©
  • 12. Le mouvement NoSQL Historique Le concept du NoSQL à une bonne décennie d’ancienneté Utilisé pour la première fois en 1998 Développé par des start-up comme logiciel de stockage des données Inauguration du NoSQL le 11 novembre 2009 à San Francisco Début de normalisation d’un langage de manipulation des données UnQL (Unstructured Query Langage) en 2011 MongoDB: Administration alphorm.com™©
  • 13. Le mouvement NoSQL Le NoSQL (Not Only SQL) c’est quoi ? SGBD non relationnel issue du monde Web Les données ne sont plus manipulées avec le SQL L’unité de stockage n’est plus la table La définition d’un schéma de données relationnel n’est plus nécessaire Renonciation aux fonctionnalités des SGBDR (ACID) Les principaux axes sont la haute disponibilité et le partitionnement des données Permet de gérer de très grosses volumétries de données MongoDB: Administration alphorm.com™©
  • 14. Le mouvement NoSQL Catégories de bases NoSQL Les bases clefs/valeurs • Redis, Voldemort Les bases orientées documents • MongoDB, CouchDB, Riak Les bases orientées colonnes • Cassandra, BigTable, HBase Les bases orientées graphes • Neo4j: en Java • FlockDB: utilisé par Twitter MongoDB: Administration alphorm.com™©
  • 15. Le mouvement NoSQL Les bases clefs/valeurs Principes du modèle • Associe un identifiant unique à chaque valeur dans la base de données • Une valeur peut être de type simple ou un objet sérialisé • Fournit quatre opérations basiques - création, lecture, modification, suppression • Toute l’intelligence dans la récupération des données se situe dans l’applicatif client MongoDB: Administration alphorm.com™©
  • 16. Le mouvement NoSQL Les bases orientée Colonnes Principes du modèle • Stocke les informations sous forme de colonnes • Permet d’ajouter très facilement des informations • Limite les valeurs nulles MongoDB: Administration alphorm.com™©
  • 17. Le mouvement NoSQL Les bases orientée documents Destinée à stocker des documents Le contenu d'un document ne se limite pas à des attributs simples Chaque document a sa propre structure dans une même collection MongoDB: Administration alphorm.com™©
  • 18. Le mouvement NoSQL Les bases orientée Graphes Le moins connus et assez complexe à mettre en oeuvre Principes du modèle • Repose sur un modèle mathématique appelé Théorie des Graphes • Données modélisées sous format de noeud • Données reliées entre elles par des Arc nommés MongoDB: Administration alphorm.com™©
  • 19. Le mouvement NoSQL Autres types de bases NoSQL Base de données hiérarchique Base de données objet MongoDB: Administration alphorm.com™©
  • 20. Le mouvement NoSQL MongoDB (humongous = énorme) Sponsorisé par 10gen depuis 2007 Base de données orientée document Open-source Développé en C++ Données stockées sous forme JSON Absence de tables Utilise la notion de « schemaless » Fournit un shell javascript pour l’accès aux données et l’administration MongoDB: Administration alphorm.com™©
  • 21. Le mouvement NoSQL MongoDB (humongous = énorme) Sponsorisé par 10gen depuis 2007 Base de données orientée document Open-source Développé en C++ Données stockées sous forme JSON Absence de tables Utilise la notion de « schemaless » Fournit un shell javascript pour l’accès aux données et l’administration MongoDB: Administration alphorm.com™©
  • 22. Le mouvement NoSQL Avantages de MongoDB Répond aux besoins de performances Garantit la scalabilité horizontale (réplication et sharding) Nombreuses fonctionnalités (count, group by, order by, SUM, MIN, etc.) Supporte l’indexation pour optimiser les performances MongoDB: Administration alphorm.com™©
  • 23. Le mouvement NoSQL La présence sur le marché de MongoDB Utilisé par de grands comptes • MTV • Disney • Doodle • CERN (Organisation Européenne pour la Recherche Nucléaire) • … MongoDB: Administration alphorm.com™©
  • 24. Le mouvement NoSQL Analogie avec le SQL NoSQL (Base) = SQL (Base) NoSQL (Collection) = SQL (Table) NoSQL ( Document) = SQL (Enregistrement) Dans les bases SQL chaque enregistrement de la table contient exactement les mêmes champs, seul le contenu varie Dans une collection MongoDB, les documents peuvent avoir des champs totalement différents MongoDB: Administration alphorm.com™©
  • 25. Le mouvement NoSQL Analogie avec le SQL NoSQL (Base) = SQL (Base) NoSQL (Collection) = SQL (Table) NoSQL ( Document) = SQL (Enregistrement) Dans les bases SQL chaque enregistrement de la table contient exactement les mêmes champs, seul le contenu varie Dans une collection MongoDB, les documents peuvent avoir des champs totalement différents MongoDB: Administration alphorm.com™©
  • 26. Le mouvement NoSQL Les principaux produits NoSQL MongoDB Accumulo Berkeley DB (Oracle) BigTable (Google) Cassandra (Facebook, Twitter, Digg) CouchDB SimpleDB (Amazon.com) … MongoDB: Administration alphorm.com™©
  • 27. Le mouvement NoSQL Cas d’utilisation Sites web populaires Répartition de charge (load balancing) Utilisation de matériel peu couteux Optimisation et administration simplifiés MongoDB: Administration alphorm.com™©
  • 28. Le mouvement NoSQL Comparaison NoSQL / SGBDR SGBDR • Les points forts : - Beaucoup de fonctionnalités et de règles pour garantir des bases cohérentes et complètes : mécanisme de verrous pour la gestion des accès concurrentiels, respect des propriétés ACID (Atomicité, Cohérence, Isolation, Durabilité). - Utilisation des outils spécialisés comme le modèle entité-relation qui est le Modèle Conceptuel de Données (MCD) utilisé pour modéliser la structure de la base. • Les points faibles : - Performances qui déclinent avec l’augmentation du volume de données - Problématique de distribution des données d’une base. MongoDB: Administration alphorm.com™©
  • 29. Le mouvement NoSQL Comparaison NoSQL / SGBDR NoSQL • Les points forts : - Bons temps de réponse malgré de très gros volumes de données - Facilement distribuable - Plus flexible en cas de panne (disponibilité partielle voire totale) MongoDB: Administration alphorm.com™©
  • 30. Le mouvement NoSQL Comparaison NoSQL / SGBDR NoSQL • Les points faibles : - Moins de propriétés garantissant un état cohérent de la base. Conformément au théorème de Brewer (aussi appelé théorème du CAP), seules deux des trois propriétés suivantes peuvent êtres respectées par un SGBD NoSQL : Cohérence, Disponibilité et Résistance au morcellement. - Pas de mécanismes de jointures, le côté client doit pallier à ce problème. - Il est rare qu’un SGBD de type NoSQL implémente un mécanisme de verrous pour garantir la cohérence pendant des accès concurrents. MongoDB: Administration alphorm.com™©
  • 31. Prise en main de MongoDB MongoDB: Administration alphorm.com™©
  • 32. Prise en main de MongoDB Installation sous Linux Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Noureddine DRISSI Expert consultant bases de données Contact : contact@valneo-xi.fr MongoDB: Administration alphorm.com™©
  • 33. Installation sous Linux Installation sous Linux Deux solutions • Passer par le gestionnaire de paquets (yum sous Centos) - Pour les distributions Debian, Ubuntu • http://downloads-distro.mongodb.org/repo/ • Télécharger le code source directement (plus pénible) MongoDB: Administration alphorm.com™© C:
  • 34. Installation sous Linux Configuration de yum • Pour un OS 64 bits - Ajouter le le fichier /etc/yum.repos.d/10gen.repo - Ajouter les entrées suivantes [10gen] name=10gen Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64 gpgcheck=0 enabled=1 MongoDB: Administration alphorm.com™©
  • 35. Installation sous Linux Configuration de yum • Pour un OS 32 bits - Ajouter le le fichier /etc/yum.repos.d/10gen.repo - Ajouter les entrées suivantes [10gen] name=10gen Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/i686 gpgcheck=0 enabled=1 MongoDB: Administration alphorm.com™©
  • 36. Installation sous Linux Installation via yum • yum install mongo-10gen mongo-10gen-server MongoDB: Administration alphorm.com™©
  • 37. Installation de MongoDB sous Windows MongoDB: Administration alphorm.com™©
  • 38. Prise en main de MongoDB Installation sous Windows Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Noureddine DRISSI Expert consultant bases de données Contact : contact@valneo-xi.fr MongoDB: Administration alphorm.com™©
  • 39. Installation sous Windows Les étapes Télécharger l’archive à partir de http://www.mongodb.org/downloads Décompresser l’archive Création de l’arborescence de stockage de l’instance par défaut Configuration du path Création du service d’arrêt/démarrage de Windows Démarrage de MongoDB MongoDB: Administration alphorm.com™© C:
  • 40. Instance MongoDB MongoDB: Administration alphorm.com™©
  • 41. Prise en main de MongoDB Instance MongoDB Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Noureddine DRISSI Expert consultant bases de données Contact : contact@valneo-xi.fr MongoDB: Administration alphorm.com™©
  • 42. Instance MongoDB Caractéristiques d’une instance MongoDB Un port d’écoute (par défaut 27017) Un processus serveur Un répertoire racine de stockage Un fichier de log Un fichier de configuration: mongod.conf MongoDB: Administration alphorm.com™©
  • 43. Instance MongoDB Arrêt / Démarrage d’une instance MongoDB Sous Linux • Démarrage - /etc/init.d/mongod start (démarrage de mongoDB via script) - mongod --dbpath racine_instance (démarrage de mongoDB) - mongod -f fichier.conf • Arrêt - /etc/init.d/mongod stop (permet d’arrêter mongoDB) - /etc/init.d/mongod restart (permet le redémarrage de mongoDB) - Commande db.shutdownServer() à partir du client mongo et la base admin MongoDB: Administration alphorm.com™©
  • 44. Instance MongoDB La racine de l’instance Sous Windows • Via le gestionnaire de services Windows • En mode ligne de commande - net start MongoDB (démarrage du service) - net stop MongoDB (arrêt du service) MongoDB: Administration alphorm.com™©
  • 45. Les outils et commandes MongoDB MongoDB: Administration alphorm.com™©
  • 46. Prise en main de MongoDB Les outils et commandes MongoDB Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Noureddine DRISSI Expert consultant bases de données Contact : contact@valneo-xi.fr MongoDB: Administration alphorm.com™©
  • 47. Les outils et commandes MongoDB Inventaire mongod (le moteur de base) mongo (le shell javascript) mongos (le contrôleur de Sharding) Les outils d’import/export • mongoimport, mongoexport, mongodump, mongorestore, bsondump mongofiles (l’utilitaire GridFS) mongostat (visualisation des stats d’une instance mongoDB) mongosniff (le tcpdump de mongo) mongotop, mongoperf MongoDB: Administration alphorm.com™©
  • 48. Bases de données MongoDB MongoDB: Administration alphorm.com™©
  • 49. Prise en main de MongoDB Les bases de données Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Noureddine DRISSI Expert consultant bases de données Contact : contact@valneo-xi.fr MongoDB: Administration alphorm.com™©
  • 50. Les bases de données Architecture Instance MongoDB MongoDB: Administration alphorm.com™©
  • 51. Les bases de données Création / Suppression Création de bases de données • Automatique - # mongo db_name - use db_name Suppression de bases de données • # mongo • use db_name; • db.runCommand({dropDatabase: 1}); • db.dropDatabase(); MongoDB: Administration alphorm.com™©
  • 52. Les bases de données Stockage des données physiques d’une base Limite en environnement 32 bits • Ne permet pas de stocker plus de 2.5Gb de données • Déconseillé pour de la production • Le répertoire de stockage utilise la variable --dbPath En production • Utiliser la version 64 bits • Le répertoire de stockage utilise la variable --dbPath MongoDB: Administration alphorm.com™©
  • 53. Les bases de données Stockage des données physiques d’une base Caractéristiques • Pour chaque base - initialisation de deux fichiers • db_name.0 et db_name.1 - La taille de chaque fichier est le double de la taille du précédent (64, 128, 256, etc.) - Taille maximale d’un fichier = 2Gb - Le fichier nom_fichier.ns stocke les namespaces de la base (16 Mb par défaut) • modifiable via l’option -nssize, avec pour taille maximum 2Gb MongoDB: Administration alphorm.com™©
  • 54. Les espaces de noms MongoDB: Administration alphorm.com™©
  • 55. Prise en main de MongoDB Les espaces de noms (namespace) Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Noureddine DRISSI Expert consultant bases de données Contact : contact@valneo-xi.fr MongoDB: Administration alphorm.com™©
  • 56. Les espaces de noms Caractéristiques Chaque collection et chaque indexe compte comme un espace de nom Concrètement: concaténation du nom de la base et celui de la collection Limites • Par défaut: 24000 espaces de noms - Possibilité d’augmenter cette taille avec le paramètre -nssize - Possibilité de redimensionner une base existante 1. On redémarre mongodb avec l’option -nssize 2. On exécute la commande db.repairDatabase() MongoDB: Administration alphorm.com™©
  • 57. Travailler avec les documents MongoDB: Administration alphorm.com™©
  • 58. Travailler avec les documents Les collections Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Noureddine DRISSI Expert consultant bases de données Contact : contact@valneo-xi.fr MongoDB: Administration alphorm.com™©
  • 59. Les collections Une Collection c’est quoi ? Equivalent de la table en relationnel Deux modes de création • Automatiquement lors d’une insertion de document (tuple) • En exécutant la commande db.createCollection(‘nom_collection’); MongoDB: Administration alphorm.com™©
  • 60. Les collections Les opérations sur les Collections Créer • db.createCollection('gens'); Lister • show collections; • db.getCollections(); Insérer un document • db.collection_name.insert( { var1: valeur, var2: valeur, var3: valeur, } ); Supprimer • db.nom_collection.drop(); MongoDB: Administration alphorm.com™©
  • 61. Les documents MongoDB: Administration alphorm.com™©
  • 62. Travailles avec les documents Les documents Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Noureddine DRISSI Expert consultant bases de données Contact : contact@valneo-xi.fr MongoDB: Administration alphorm.com™©
  • 63. Les documents Un document c’est quoi ? Equivalent d’un enregistrement (tuple) en relationnel Deux modes d’insertion • En utilisant la commande db.nom_collection.insert() du schell • En utilisant la commande db.nom_collection.save () du schell • En utilisant un driver: PHP, Ruby, Java, Python Chaque document crée contient le champ « _id » • Généré automatiquement • Type primary key • Indéxé MongoDB: Administration alphorm.com™©
  • 64. Les documents Rappel de la hiérarchie des objets MongoDB: Administration alphorm.com™©
  • 65. Les documents Le format JSON/BSON MongoDB stocke les documents au format BSON (Binary JSON) BSON est la représentation binaire des objets JSON (JavaScript Object Notation) MongoDB: Administration alphorm.com™©
  • 66. Les documents Le format JSON c’est quoi ? JSON (JavaScript Object Notation) • Permet de représenter de l’information structurée • Format de données textuelle • Utilise une notation JavaScript • Décrit par la RFC 4627 • Un document JSON, ne comprend que deux éléments structurels : - des ensembles de paires nom / valeur ; - des listes ordonnées de valeurs. MongoDB: Administration alphorm.com™©
  • 67. Les documents Le format JSON Exemple { pospect : ALFKI, nom : ORSYS, adresse : { numero : 77, codepostal : 31000, ville : Toulouse } } MongoDB: Administration alphorm.com™©
  • 68. Les documents Exemple pratique d’utilisation MongoDB: Administration alphorm.com™©
  • 69. Les documents Avantage du format JSON Format abstrait pour une représentation simplifiée dans les différents langages Indépendant du langage de programmation Simple et complet pour la représentation des objets Utilise des types de données connus et simples à décrire Une bonne lisibilité de la syntaxe Temps de traitement très proche de celui des fichiers XML Moins volumineux en terme de stockage Pour JavaScript un document JSON représente un objet MongoDB: Administration alphorm.com™©
  • 70. Les documents Types disponibles en JSON issus de json.org MongoDB: Administration alphorm.com™©
  • 71. Les documents Le format BSON c’est quoi ? BSON est la représentation binaire des objets JSON Ajoute des améliorations et des capacités supplémentaires • expressions régulières • Bytes Arrays • Date et TimeStamps • stockage de blocs de code ou de fonctions JavaScript MongoDB: Administration alphorm.com™©
  • 72. Les documents Les types de données Une base MongoDB est constituée de Collection(s) Une collection est constituée de document(s) regroupant des paires clef/valeur dont la clef est une string et la valeur de type : • des objets ; • des tableaux ; • des valeurs génériques de type tableau, objet, booléen, nombre, chaîne ou null. MongoDB: Administration alphorm.com™©
  • 73. Les opérations CRUD MongoDB: Administration alphorm.com™©
  • 74. Réplication et Sharding La réplication Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Noureddine DRISSI Expert consultant bases de données Contact : contact@valneo-xi.fr MongoDB: Administration alphorm.com™©
  • 75. La réplication Présentation Deux fonctionnalités importantes • Depuis la version 1.6 - Les Replica Set - Le Sharding MongoDB: Administration alphorm.com™©
  • 76. La réplication Qu’est-ce que le Replica Set ? Permet d’assurer la redondance et la haute disponibilité Permet aux données d’être dupliquées de manière transparente Utilise la notion de groupe de serveur appelé set • Chaque set possède - un noeud principal (primaire) : lecture/écriture - n serveurs de backup (secondaire) : lecture uniquement Concrètement: les Replicat Set permettent de répliquer les données entre des instances MongoDb MongoDB: Administration alphorm.com™©
  • 77. La réplication Qu’est-ce que le Replica Set ? Permet d’assurer la redondance et la haute disponibilité Permet aux données d’être dupliquées de manière transparente Utilise la notion de groupe de serveur appelé set • Chaque set possède - un noeud principal (primaire) : lecture/écriture - n serveurs de backup (secondaire) : lecture uniquement Concrètement: les Replicat Set permettent de répliquer les données entre des instances MongoDb MongoDB: Administration alphorm.com™©
  • 78. La réplication Mise en place Réplication • Démarrage d’un serveur dans un Replica Set - mongod • --replSet (indique a quel Replica Set appartient l’instance) • --shardsvr (active le partitionnement horizontal) • ... Le serveur maître génère un journal de transaction • Consommé par les différentes bases esclaves MongoDB: Administration alphorm.com™©
  • 79. La réplication Mise en place Réplication • Ajout d’un noeud dans un Replica Set - Sur le serveur maître • PRIMARY rs.add(host:port) • Sortir un noeud d’un Replica Set - Sur le serveur maître • PRIMARY rs.remove(host:port) MongoDB: Administration alphorm.com™©
  • 80. La réplication Mise en place Réplication • Les principales commandes d’exploitation - rs.initiate(cfg); (permet d’initialiser la configuration d’un Replica Set) - db.isMaster(); (permet de vérifier qui est le maître) - rs.status(); (permet de vérifier l’état du Replica Set) - rs.slaveOk() ; (permet d’activer les lecture sur les serveurs esclaves) - rs.syncFrom(host:port); (permet de forcer la synchronisation) - ... MongoDB: Administration alphorm.com™©
  • 81. La réplication Exemple de Replica Set MongoD maitre (Read/Write) Replica Set Réplication Réplication MongoD esclave (Read) MongoD esclave (Read) MongoD arbitre Surveillance MongoDB: Administration alphorm.com™©
  • 82. La réplication En cas de défaillance Replica Set Serveur HS Surveillance MongoD arbitre Réplication MongoD maitre (Read/Write) MongoD esclave (Read) MongoDB: Administration alphorm.com™©
  • 83. La réplication TP MongoD maitre Racine:/mongodb/rs01_inst01 Port: 27102 Replica Set rs01 Surveillance MongoD arbitre Racine: /mongodb/rs01_arbitre Port: 27101 Réplication Réplication MongoD esclave Racine: /mongodb/rs01_inst02 Port: 27103 MongoD esclave Racine: /mongodb/rs01_inst03 Port: 27104 MongoDB: Administration alphorm.com™©
  • 84. Le sharding MongoDB: Administration alphorm.com™©
  • 85. Réplication et Sharding Le sharding Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Noureddine DRISSI Expert consultant bases de données Contact : contact@valneo-xi.fr MongoDB: Administration alphorm.com™©
  • 86. Le sharding Qu’est-ce que le Sharding ou partitionnement ? Pré-requis: mise en place des Replica Set • Permet une scalabilité horizontale • Distribution du stockage des données sur différentes instances MongoDB • Chaque machine stock un sous ensemble des données (chunk) • Utilise une clé de Sharding pour répartir le stockage MongoDB: Administration alphorm.com™©
  • 87. Le sharding Architecture du sharding MongoDB: Administration alphorm.com™©
  • 88. Le sharding Les étapes de mise en oeuvre Mise en place du Replica Set Mise en place du sharding • Les Shard servers : ou instances mongod • Les Config servers : Serveur de configuration qui va stocker les metadata du shard • Le mongos : Sert de routeur vers les différents shards Test de l’infrastructure MongoDB: Administration alphorm.com™©
  • 89. Le sharding Les principales commandes Ajouter des noeuds au sharding • db.runCommand({addshard : nom_Replica_Set/host1:port,host2:port,hostN:port}); Activer le sharding pour une base de données • db.runCommand({enablesharding: nom_base}); Dé finir une clef de partitionnement pour le sharding • db.runCommand({shardcollection: namespace, key:{:nom_champ:1}}); Afficher les informations sur le sharding • db.printShardingStatus(); • db.collection.stats(); MongoDB: Administration alphorm.com™©
  • 90. Le sharding TP MongoD maitre Racine:/mongodb/rs01_inst01 Port: 27102 Replica Set rs01 MongoD arbitre Racine: /mongodb/rs01_arbitre Réplication Réplication Surveillance Instances de config Port: 27201 Port: 27202 Port: 27203 Port: 27101 MongoD esclave Racine: /mongodb/rs01_inst02 Port: 27103 MongoD esclave Racine: /mongodb/rs01_inst03 Port: 27104 Mongos Port: 27301 Clients MongoDB: Administration alphorm.com™©
  • 91. Performance et indexation MongoDB: Administration alphorm.com™©
  • 92. Performance et indexation Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Noureddine DRISSI Expert consultant bases de données Contact : contact@valneo-xi.fr MongoDB: Administration alphorm.com™©
  • 93. Performance et indexation Les indexes sous MongoDB Pourquoi faire ? • Améliorer les temps d’exécution des requêtes Les différents types d’indexes • Index sur un seul champ • Index unique • Index composé, Sparse et Hashed Indexation par défaut • Le champ _id est indexé par défaut (impossible de le supprimer) MongoDB: Administration alphorm.com™©
  • 94. Performance et indexation Index sur un seul champ Deux modes • Ordre ascendant (1 pour ASC) • Ordre descendant (-1 pour DESC) Poser un index (ascendant et descendant) • db.collection.ensureIndex({nom_champ:1}); • db.collection.ensureIndex({nom_champ:-1}); MongoDB: Administration alphorm.com™©
  • 95. Performance et indexation Index composés Deux modes • Ordre ascendant (1 pour ASC) • Ordre descendant (-1 pour DESC) Poser un index (ascendant et descendant) • db.collection.ensureIndex({nom_champ1:1, nom_champ2:1}); • db.collection.ensureIndex({nom_champ1:-1} nom_champ2:-1}); MongoDB: Administration alphorm.com™©
  • 96. Performance et indexation Les index unique Deux modes • Ordre ascendant (1 pour ASC) • Ordre descendant (-1 pour DESC) Poser un index unique (ascendant et descendant) - db.collection.ensureIndex({nom_champ1:1, {unique: true}); - db.collection.ensureIndex({nom_champ1:-1, {unique: true}); MongoDB: Administration alphorm.com™©
  • 97. Performance et indexation Plusieurs types d’indexes Index BTREE Index Sparse Index Haché Géospatial Text MongoDB: Administration alphorm.com™©
  • 98. Performance et indexation Création des index en arrière plan Par défaut construction de l’index en premier plan Possibilité de construire un index en arrière plan • db.collection.ensureIndex( { a: 1 }, { background: true } ) MongoDB: Administration alphorm.com™©
  • 99. Performance et indexation Visualisation des index Index d’une collection • db.collection.getIndexes() Index d’une base de données • db.system.indexes.find() MongoDB: Administration alphorm.com™©
  • 100. Performance et indexation Reconstruction d’index Utilisation de la méthode db.collection.reIndex() • Suppression d’index db.collection.dropIndex('nom_index') MongoDB: Administration alphorm.com™©
  • 101. Performance et indexation Monitoring des opérations sur les index (création/reconstruction) Progression: db.currentOp() Interruption: db.killOp() MongoDB: Administration alphorm.com™©
  • 102. Performance et indexation Visualisation des plans d’exécution Utilisation de la méthode: cursor.explain() • db.collection.find().explain() Forcer l’utilisation d’un index avec hint() • Utilisation de la méthode: cursor.hint() - db.collection.find().hint( { nom_champ: 1 } ).explain() MongoDB: Administration alphorm.com™©
  • 103. Administration de MongoDB MongoDB: Administration alphorm.com™©
  • 104. Administration de MongoDB Sauvegarde et restauration Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Noureddine DRISSI Expert consultant bases de données Contact : contact@valneo-xi.fr MongoDB: Administration alphorm.com™©
  • 105. Sauvegarde et restauration Sauvegarde à froid (le plus simple) Les étapes • Arrêter le service mongodb • Copier tous les fichiers de --dbpath - nom_base.numero_fichier - nom_base.ns • Démarrer le service mongodb MongoDB: Administration alphorm.com™©
  • 106. Sauvegarde et restauration Export MongoDB Commande mongodump • Permet d’exporter (collection, base, instance) - Contient autant de répertoire que de base • Contenant chacun un fichier BSON par collection, plus un fichier BSON d’index. MongoDB: Administration alphorm.com™©
  • 107. Sauvegarde et restauration Export MongoDB mongodump • Les principales options - --db - --collection - --out (précise le répertoire d’export) - --dbpath (précise la racine à exporter) MongoDB: Administration alphorm.com™©
  • 108. Sauvegarde et restauration Export MongoDB Commande mongoexport • Permet d’exporter - Une base - Une collection - Des champs • Deux formats d’exports possible - JSON - CSV MongoDB: Administration alphorm.com™©
  • 109. Sauvegarde et restauration Export MongoDB mongoexport • Les principales options - --db - --collection - --csv - --fields MongoDB: Administration alphorm.com™©
  • 110. Sauvegarde et restauration Import MongoDB Commande mongoimport • Permet d’importer - Une base - Une collection - Des champs • Deux formats d’imports possible - JSON - CSV MongoDB: Administration alphorm.com™©
  • 111. Sauvegarde et restauration Import MongoDB Commande mongorestore • Permet de restaurer - Pré-requis • Droper la base cible • Les principales options - --db - --collection - --dbpath MongoDB: Administration alphorm.com™©
  • 112. La sécurité sous MongoDB MongoDB: Administration alphorm.com™©
  • 113. Administration de MongoDB Map Reduce Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Noureddine DRISSI Expert consultant bases de données Contact : contact@valneo-xi.fr MongoDB: Administration alphorm.com™©
  • 114. Map Reduce Caractéristiques Se compose de deux fonctions : • map qui passe à reduce une clé et des données à traiter • reduce qui, pour chaque clé donnée par map, va opérer une réduction sur les données en provenance de map selon une logique qu'il faut écrire. Fonctionnement • La fonction map va émettre (emit) des paires clé/valeur sur lesquelles reduce va travailler. • map traverse tous les documents d'une collection MongoDB et va pousser des infos à reduce selon une clé définie • Permet de paralléliser les traitements • Stocke le résultat dans une collection MongoDB: Administration alphorm.com™©
  • 115. La journalisation MongoDB: Administration alphorm.com™©
  • 116. Administration de MongoDB La journalisation Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Noureddine DRISSI Expert consultant bases de données Contact : contact@valneo-xi.fr MongoDB: Administration alphorm.com™©
  • 117. La journalisation Caractéristiques Permet d’assurer la fonctionnalité de durabilité Utilise les write ahead logging (journal des transactions) En version 2.0: la journalisation est activée par défaut en environnement 64-bits Ne pas désactiver le mode journal en production Au démarrage les opérations d’écritures sont écrites en mémoire et dans le journal des transactions avant l’application dans les fichiers data MongoDB: Administration alphorm.com™©
  • 118. La journalisation Activation du journal Démarrage de mongodb avec l’option --journal • Si pas de fichier journal, mongodb pré-alloue un nouveau fichier de 1Go • Pas de connection possible pendant cette opération MongoDB: Administration alphorm.com™©
  • 119. La journalisation Recouvrement Après un crash ou un arrêt intempestif • Au démarrage mongodb rejoue automatiquement les fichiers journaux • Si le démarrage échoue - Utiliser la commande repairDatabase() MongoDB: Administration alphorm.com™©
  • 120. Les principaux paramètres de configuration d’une instance MongoDB: Administration alphorm.com™©
  • 121. Administration de MongoDB Les principaux paramètres Site : http://www.alphorm.com Blog : http://www.alphorm.com/blog Forum : http://www.alphorm.com/forum Noureddine DRISSI Expert consultant bases de données Contact : contact@valneo-xi.fr MongoDB: Administration alphorm.com™©
  • 122. Les principaux paramètres Renseignés dans le fichier mongod.conf dbpath emplacement des données d’une instance logpath emplacement des logs logappend continu a écrire des anciens logs ou créer un nouveau fichier nojournal = true désactive ou pas la journalisation noprealloc = true désactive la pré-allocation des fichiers data nssize = size taille du fichier d’espace de nom port = 27017 port utilisé par une instance auth = true active l’authentification sous MongoDB fork = true démarrage de mongod en tâche de fond objcheck = true inspection des documents avant insertion ( utf-8 , type ect .. ) nohttpinterface = true active ou désactive l'interface web de monitoring (Defaults to localhost:27018). ... MongoDB: Administration alphorm.com™©
  • 123. Les interfaces graphiques d’administration MongoDB: Administration alphorm.com™©