Objectif général : Découvrir l'un des SGBDs noSQL les plus utilisés
Objectifs spécifiques :
Installer et démarrer un serveur et un client mongo
Créer une base de données dans un serveur mongo
Créer une collection dans une base de données mongo
Connaître les principaux types de données
Insérer des données
Consulter des données
Modifier des données
Supprimer des données
Retour aux fondamentaux : Penser en termes de documentsMongoDB
> Pour établir une conception de données efficace, il ne suffit pas d'avoir une base de données
> Les solutions d'aujourd'hui doivent prendre en compte les besoins de demain
> MongoDB vous donne le choix
Objectif général : Découvrir l'un des SGBDs noSQL les plus utilisés
Objectifs spécifiques :
Installer et démarrer un serveur et un client mongo
Créer une base de données dans un serveur mongo
Créer une collection dans une base de données mongo
Connaître les principaux types de données
Insérer des données
Consulter des données
Modifier des données
Supprimer des données
Retour aux fondamentaux : Penser en termes de documentsMongoDB
> Pour établir une conception de données efficace, il ne suffit pas d'avoir une base de données
> Les solutions d'aujourd'hui doivent prendre en compte les besoins de demain
> MongoDB vous donne le choix
La formation complète est disponible ici:
http://www.alphorm.com/tutoriel/formation-en-ligne-mongodb-administration
Cette formation vous apprendra à maîtriser le système de gestion de base de données MongoDB.
Durant cette formation vous appréhenderez le fonctionnement du moteur MongoDB, à administrer mongoDB au quotidien (collection, document, sauvegarde, sécurité) et à mettre en œuvre une solution de haute disponibilité avec le système de Replica Set.
Vous apprendrez également à mettre en œuvre une solution performante pour la montée en charge avec la fonctionnalité avancée du Sharding.
Ce cours vous permettra également d'optimiser vos bases de données MongoDB par la mise en place d'une indexation optimale.
Support Formation vidéo: MongoDB pour débutantSmartnSkilled
Un outil aussi simple que puissant ! Apprenez à gérer votre masse de données grâce au MongoDB !
L'objectif de la formation est :
- Comprendre le principe et l'enjeu du BigData à travers MongoDB.
- Etre capable de mettre en oeuvre et de gérer un système de gestion d'information MongoDB.
Suivez la formation complète par ici :
https://www.smartnskilled.com/tutoriel/formation-en-ligne-mongodb-pour-debutant1
Présentation donnée avec @_bruno_b_ lors du @breizhcamp 2016
Vous avez coder votre première application avec MongoDB, c'est décidé votre prochain vrai prochain utilisera cette base NoSQL. Il vous faudra éviter quelques écueils avant que tout fonctionne en production. Nous en parlons dans cette présentation.
Webinaire 4 de la série Retour aux fondamentaux : Indexation avancée, index d...MongoDB
Il s'agit du quatrième webinaire de la série « Retour aux fondamentaux » qui a pour but de vous présenter la base de données MongoDB. Ce webinaire expliquera l’Indexation avancée, les index de texte et géospatiaux.
Objectif général : Prendre en main Express js, le mini-framework de Node js le plus utilisé
objectifs spécifiques :
Installer Node js et Express js
Créer une application Express js
Router les requêtes
Recevoir des données à partir de l’URL d’une requête
Recevoir des données à partir du corps d’une requête
Traiter des fichiers uploadés
Utiliser un moteur de template
Utiliser une base de données
Utiliser des middlewares
A l'occasion de l'apéro Ruby du mois de novembre 2012 de Compiegne.rb, Vincent Tabary de Notso.fr et Aymeric Brisse de Perfect Memory ont fait une présentation du serveur NoSQL mongoDB et de la gem MongoId.
La formation complète est disponible ici:
http://www.alphorm.com/tutoriel/formation-en-ligne-mongodb-administration
Cette formation vous apprendra à maîtriser le système de gestion de base de données MongoDB.
Durant cette formation vous appréhenderez le fonctionnement du moteur MongoDB, à administrer mongoDB au quotidien (collection, document, sauvegarde, sécurité) et à mettre en œuvre une solution de haute disponibilité avec le système de Replica Set.
Vous apprendrez également à mettre en œuvre une solution performante pour la montée en charge avec la fonctionnalité avancée du Sharding.
Ce cours vous permettra également d'optimiser vos bases de données MongoDB par la mise en place d'une indexation optimale.
Support Formation vidéo: MongoDB pour débutantSmartnSkilled
Un outil aussi simple que puissant ! Apprenez à gérer votre masse de données grâce au MongoDB !
L'objectif de la formation est :
- Comprendre le principe et l'enjeu du BigData à travers MongoDB.
- Etre capable de mettre en oeuvre et de gérer un système de gestion d'information MongoDB.
Suivez la formation complète par ici :
https://www.smartnskilled.com/tutoriel/formation-en-ligne-mongodb-pour-debutant1
Présentation donnée avec @_bruno_b_ lors du @breizhcamp 2016
Vous avez coder votre première application avec MongoDB, c'est décidé votre prochain vrai prochain utilisera cette base NoSQL. Il vous faudra éviter quelques écueils avant que tout fonctionne en production. Nous en parlons dans cette présentation.
Webinaire 4 de la série Retour aux fondamentaux : Indexation avancée, index d...MongoDB
Il s'agit du quatrième webinaire de la série « Retour aux fondamentaux » qui a pour but de vous présenter la base de données MongoDB. Ce webinaire expliquera l’Indexation avancée, les index de texte et géospatiaux.
Objectif général : Prendre en main Express js, le mini-framework de Node js le plus utilisé
objectifs spécifiques :
Installer Node js et Express js
Créer une application Express js
Router les requêtes
Recevoir des données à partir de l’URL d’une requête
Recevoir des données à partir du corps d’une requête
Traiter des fichiers uploadés
Utiliser un moteur de template
Utiliser une base de données
Utiliser des middlewares
A l'occasion de l'apéro Ruby du mois de novembre 2012 de Compiegne.rb, Vincent Tabary de Notso.fr et Aymeric Brisse de Perfect Memory ont fait une présentation du serveur NoSQL mongoDB et de la gem MongoId.
Dans un contexte où la transmission et l'installation d'agriculteurs sont des enjeux cruciaux pour la profession agricole, de nouveaux agriculteurs s'installent chaque année et, parmi eux, certains Bac+5 ou plus. Les cursus des écoles d'ingénieurs n'ont pas vocation à former de futurs agriculteurs. Pourtant, certains apprenants ayant suivi ces cursus BAC + 5, qu'ils soient ou non issus du milieu agricole, tentent l'aventure de l'entrepreneuriat agricole. Qui sont-ils ? Quelles sont leurs motivations et visions ? Comment travaillent-ils ?
Novascope Télécoms et Réseaux Informatiques en BtoB 2023Enov
Depuis 1996, nous mesurons la digitalisation des entreprises françaises grâce à notre observatoire Novascope Télécoms et Réseaux informatiques en B2B. Découvrez quelques résultats exclusifs de la vague 2023.
2. OBJECTIF GÉNÉRAL
• Découvrir l'un des SGBD noSQL les plus utilisés
• MongoDB dans les grandes lignes
• Modéliser ses données dans Mongo
• Installation et utilisation général (requêtages)
3. D’OÙ VIENT NOSQL ? POURQUOI LE NOSQL
•Problématiques de performance
•Problématiques fonctionnelles
•Problématique de stockage
6. POURQUOI MONGODB
• Facile à mettre en œuvre
• Open Source, gratuit et vivant
• Des drivers pour tous les langages
• Riche mais pas trop exotique (une partie des concepts
relationnels s’appliquent toujours)
• Outillage assez riche
• Modèle riche
7. • Relationnel / Document
Questio
n
Comment
Response
User
SQL
Question
List(Commen
t)
List(Response
)
User
Document
9. REPRÉSENTATI
ON D'UN
DOCUMENT
MONGODB
{
Id : 1,
user : 1,
Titre : "mon premier post",
Date : 123456789,
Views : 123,
CommentsCount : 1,
Comments : [{
Content : "super ton post!",
User : "toto”},
{Content: ‘Preums !’,
User: “Le Troll”}
]
}
10. INSTALLATION ET UTILISATION GÉNÉRAL
• Installer et démarrer un serveur et un client Mongo
• Créer une base de données dans un serveur Mongo
• Créer une collection dans une base de données Mongo
• Connaître les principaux types de données
• Insérer des données
• Consulter des données
• Modifier des données
• Supprimer des données
11. LES OBJECTIFS
• Installation et démarrage d'un serveur et d'un client
• Opérations sur les bases de données
• Opérations sur les collections
• Les principaux types de données
• Insertion de données
• Consultation de données
• Modification de données
• Suppression de données
12. RAPPEL
• MongoDB est un SGBD
• dans la mouvance NoSQL (Not only SQL)
• scalable ie supporte l'accroissement e la quantité de données
• orienté documents
• Document
• Ensemble de paires clé/valeur : Ex {prenom:"ABDALLAH",sex:"M",age:24,taille:1.85}
• Equivalent d'un Enregistrement ou tuple en SGBDR
• Collection
• Ensemble de documents
• Equivalent d'une table en SGBDR
• Ne dispose pas obligatoirement de schéma
• Base de données = ensemble de collections
13. INSTALLATION ET DÉMARRAGE DU SERVEUR
ET CLIENT
1. Se rendre à l'adresse :
http://docs.mongodb.org/manual/installation/
2. Télécharger et installer mongo
3. Créer le répertoire data/db/ de stockage des données
4. En ligne de commande :
a) Démarrer le server avec la commande mongod ,
b) Accompagnée l'option --dbpath .../data/db
c) Démarrer le client avec la commande mongo (sans d) sir me 2ème
interpréteur de commande
14. OPÉRATIONS SUR LES DATABASE
DOCUMENT
• Pas de commande pour créer une base de données
• Définir ou sélectionner une base de données : use DB_NAME
• NB : une base de données n'existe que si on y crée une collection
• Voir le nom de la database document courante : db
• Voir les noms de toutes les databases documents disponible :
show dbs
• Supprimer la database sélectionnée ou courante
db.dropDatabase()
• Exemple: définition de la database "acsid" : use acsid
15. OPÉRATIONS SUR LES COLLECTIONS
• Syntaxe de création : db.createCollection('COLLECTION_NAME')
• NB : l'insertion d'un document dans une collection crée
automatiquement celle-ci
• db représente la base de données sélectionnée
• Voir toutes les collections disponibles : show collections
• Supprimer une collection : db.COLLECTION_NAME.drop()
• Exemple: création de la collection "US333G":
db.createCollection('US333G')
16. PRINCIPAUX TYPES DE DONNÉES
• Integer: nombre entier. Exemple : age: 25
• Double: nombre à virgule(décimal point). Exemple : taille: 1.85
• String: chaîne de caractères en UTF8. Exemple: prenom: "Mohamed"
• Boolean: true ou false. Exemple: present: true
• Date :
- Date courant: Date(). Exemple : lastModified : Date()
- Autre date : new Date('MM-DD-YYYY hh:mm:ss') ou ISODate("YYYY-MM-DDThh:mm:ssZ")
- Exemple: date_cmde : ISODate("2022-03-09T15:30:25Z")
• Array: valeurs entre crochets séparées par une virgule
• ObjectId: identifiant unique de 12 octets d'un document dont 4(timestamp
Unix)+3(machine)+2(processus)+ 3(incrément)
• Embedded Document : document intégré
17. INSERTION DE DONNÉES
• Syntaxe d'insertion d'un document :
db.COLLECTION_NAME.insert({key1:val1,...})
• db: base de données sélectionnée
• Si le champ_id(clé primaire) est omis dans le document inséré, mongoDB
attribut un ObjectId uniquement pour ce document.
• Insertion multiple avec un tableau de documents [{...},{...},...]
• db.COLLECTION_NAME.insert([{...},{...},...])
• Exemple :
• db.US333G.insert([{prenom:"Mohamed",sex:"M",age:30,taille:1.84},{prenom:"Marie",s
ex:"F",age:20}])
18. SÉLECTION DE DONNÉES
• Syntaxe
• db.COLLECTION_NAME.find(query,fields)
• query (optionnel): filtrer les documents à sélectionner => WHERE
• Syntaxe : {key: value, ...} (c.à.d. equal) ou {key: {$op: value},...}
• Opérateurs entre clé et val: $lt (less than), $lte (less than equals), $gt (greater than), $gte
(greater than equals), $ne (not equals), etc ...
• Opérateurs entre couples clé/valeur : $and (par défaut), $or, $not et $nor
avec la syntaxe { $op: [ {...} , {...} , ... ] }.
• field (optionnel) : filtrer les champs à sélectionner => SELECT
• Syntaxe: { champ1: <boolean>, champ2:<boolean>... }
• true ou 1 pour inclure et 0 ou false pour exclure
• _id est toujours inclus sauf s'il est explicitement exclu
19. MODIFICATION DE DONNÉES
• Syntaxe
• db.COLLECTION_NAME.update(query, update, options)
• query (obligatoire) : voir diapo sur sélection de données
• update (obligatoire) : données mises à jour
• Syntaxe : {liste de paires clé: valeur} ou {$op: {liste}}
• Options
• upsert (optionnel) : avec {upsert: true}, créer un nouveau document si aucun
ne répond à la query
• multi (optionnel) : avec {multi: true}, modifier tous les docs qui répondent à
la query
• Exemple
20. SUPPRESSION DE DONNÉES
• Syntaxe
• db.COLLECTION_NAME.remove(query, justOne)
• query (obligatoire) : voir diapo sur sélection de données
• justOne (optionnel) : avec {justOne: true}, supprimer un seul
document
• Exemple :
• db.US333G.remove({prenom: 'Maria'})
NoSQL désigne une famille de SGBD qui s'écarte du paradigme classe des Bases relationnelles (No Only SQL)
émergé autour des années 2010
NoSQL désigne une famille de SGBD qui s'écarte du paradigme classe des Bases relationnelles (No Only SQL)
émergé autour des années 2010
============= Pour répondre à des problématiques spécifique de performance :
En cas de très grosse volumétrie de données
En cas de très grosses montées en charges (sites à fort trafic
## ) les moteurs NoSQL sont plus rapides en lecture et en écriture qu'un SGBDR
Car il n' aucun contrôle sur les données
La plupart peuvent charger leurs données en mémoire vive et/ou être répartis sur plusieurs serveurs en parallèle (sharding)
================== Pour répondre à des problématiques fonctionnelles spécifique
Designer une base de données pour développer un système de gestion du cache (modèle Clés/valeurs)
Designer une base de données à la structure "super flexible" pour la réalisation d'un POC ou d'un MVP (modèles Documents et Colonnes)
Designer une base de données à nœuds multiple (type réseau social via le modèle Graphe)
Designer une base de données pour se lancer dans l'aventure "Big Data"
============================== Pour répondre à des problématique de stockage :
les collections de données n'étant pas structurées (pas de champs prédéfinis contrairement aux tables d'un SGBDR),
aucun "espace vide" n'est réservé sur le disque dur
Ce sont les grandes entreprises du web amenées à traiter des volumes de données très importants
qui ont été les premières confrontées aux limitations intrinsèques des SGBD relationnels traditionnels.
--------------------------------------
Ces systèmes fondés sur une application stricte des propriétés ACID et généralement conçus pour fonctionner sur des ordinateurs uniques ont rapidement posé des problèmes d'extensibilité.
Afin de répondre à ces limites, ces entreprises ont commencé à développer leurs propres systèmes de gestion de bases de données pouvant fonctionner sur des architectures matérielles distribuées et permettant de traiter des volumes de données importants. Les systèmes propriétaires qui en ont résulté, Google (BigTable), Amazon (Dynamo (en)), LinkedIn (Voldemort), Facebook (Cassandra puis HBase), SourceForge.net (MongoDB), Ubuntu One (CouchDB), Baidu (Hypertable) ont été les précurseurs du modèle NoSQL4.
a nécessité de posséder un paradigme de bases de données adapté à ce modèle d'infrastructure matérielle
ACSID (atomicité, cohérence, isolation et durabilité)
Données stockées de manière non structurée (chaque "record" peut contenir des champs)
Aucun contrôle sur l'intégrité des données (aucune règle d'écriture applicable-> les propriétés "cohérence" et/ou "isolation" du concept ACSID ne sont généralement pas respectées)
Aucun système d'intégrité référentielle des données entre "entité" différentes.
Système de requêtage des données plus ou moins élaborés
BigTable (Google)
Dynamo (Amazon)
Voldemort (Linkedin)
Cassandra (Facebook)
HBase (Facebook)
SourceForge
énorme
Mongo (traduit : énorme). : base de données répartie (2007)
Le serveur et les outils sont distribués sous licence SSPL,
les pilotes sous licence Apache et la documentation sous licence Creative Commons4.
Il fait partie de la mouvance NoSQL.