Introduction à MongoDB
La domination historique des bases de données relationnelles
L’apparition des bases NoSQL. Les différents types de bases NoSQL
Présentation de MongoDB, son positionnement, ses avantages
La structure de données au sein de MongoDB : base de données, collections, documents…
Les formats JSON et BSON. Types de données élémentaires et spéciaux
Exemples d’utilisation de MongoDB
Installation de MongoDB
Plateformes supportées
Installations sous les différentes distributions de Linux, lancement
Installation sous Windows, configuration, création de services, lancement
Présentation des outils MongoDB
L’invite de commande (shell) Mongo
Présentation et lancement
Premières commandes et pages d’aide
Script d’initialisation et configuration de l’invite de commande
Bases de données, collections, documents, namespaces : gestion et règles de nommage
Les instructions CRUD : insertion, lecture, mise à jour, suppression
Écrire des scripts et des programmes pour MongoDB
Scripts JavaScript externes : différences avec le shell et lancement
Stocker des fonctions JavaScript sur le serveur et appeler celles-ci
Utiliser les drivers pour manipuler les données depuis des programmes externes
L’indexation des données
Principes. Types et propriétés d’index
Couverture de requête et intersection d’index
Stratégies d’indexation et explication de requêtes
La réplication de données
Présentation et intérêt
Nœuds maître et secondaires. Réplication des données et bascule automatique en cas d’incident
Nœuds secondaires : priorité, nœuds cachés et différés
Procédure de mise en place de la réplication
Le partitionnement de données (sharding)
Présentation et intérêt
Le sharding avec MongoDB
Répartition automatique ou manuelle des données
Procédure de mise en place du sharding
Le cas GridFS : stockage de fichiers lourds
Les moteurs de stockage des données
Le moteur WiredTiger : concurrence, journalisation, compression, usage mémoire…
Le moteur MMAPv1 : journalisation, usage disque, usage mémoire..
Le moteur In-Memory : concurrence, usage mémoire, stratégie de déploiement…
Les moteurs de stockage tiers : RocksDB…
Sécuriser son installation de MongoDB
Cheklist de sécurité
L’authentification et les différents mécanismes utilisables
Utilisateurs, rôles et privilèges
Authentification entre nœuds
Les fonctionnalités entreprise : cryptage, audit
Administrer et superviser MongoDB
Importer / exporter des données (mongoexport, mongoimport)
Sauvegarder / restaurer : les différentes stratégies (mongodump, mongorestore, snapshot filesystem)
Superviser l’exécution et intégrer des outils de supervision externes
Les outils graphiques d’administration
Gérer la journalisation