mongo application

MongoDB est un système de gestion de base de données. Il est conçu pour faciliter l’accès aux données et ne nécessite que rarement des jointures ou des transactions. Mais lorsque vous devez effectuer des requêtes complexes, il est plus qu’à la hauteur de la tâche.

L’API de requête MongoDB vous permet d’effectuer des requêtes profondes dans les documents. Vous pouvez même réaliser des pipelines d’analyse complexes avec seulement quelques lignes de code déclaratif.

MongoDB stocke également des données beaucoup plus volumineuses que les bases de données relationnelles. Tous ces dossiers sont trouvables grâce à la recherche textuelle.

Mongodb, qu’est-ce que c’est ?

Mongodb

MongoDB est un système de gestion de base de données à code open source orienté vers les documents. Il est conçu pour stocker et manipuler des données à grande échelle. Il utilise des terminologies et des structures différentes de celles des bases de données SQL.

MongoDB utilise des collections et des documents au lieu des tables et des lignes des bases de données traditionnelles.

Le logiciel a été développé et lancé en février 2009. La société qui l’héberge est mongoDB.inc, qui utilise la SSPL (server-side public license).

La société a créé MongoDB pour gérer plusieurs pilotes pour plusieurs langages de programmation tels que C, C#, C++, .Net, Java, Swift, Python, PHP, etc.

MongoDB est utilisé par de nombreuses entreprises comme Nokia, eBay, Aadhar, Shutterfly, EA, etc.

Il est unique parmi les bases de données NoSQL, car il applique toute la technologie NoSQL. Et conserve certaines fonctionnalités essentielles des systèmes de bases de données relationnelles.

Fonctionnement de Mongodb

MongoDB est une base de données très flexible, caractéristique de la plupart des bases de données NoSQL. Elle permet de stocker et de travailler sur différents types de données dans un même document.

MongoDB stocke également des données beaucoup plus volumineuses que les bases de données relationnelles. Les caractéristiques essentielles de MongoDB sont dues au format de stockage de documents employé par le système de base de données, appelé JSON.

JSON (JavaScript Object Notation) est un format de fichier et d’échange de données standard ouvert. Il stocke et transmet des objets de données en utilisant du texte lisible. Il s’agit d’un format de données très répandu, utilisé dans plusieurs échanges de données électroniques.

Bien qu’il soit à l’origine dérivé de JavaScript, il est aujourd’hui indépendant du langage. Car, actuellement, de nombreux langages de programmation possèdent des codes. Et ces derniers permettent d’utiliser des données au format JSON, stockées avec l’extension .json.

Certaines parties de MongoDB sont indispensables pour son fonctionnement.

  1. Les pilotes

Ce sont des outils et des logiciels disponibles sur les serveurs qui peuvent interagir avec MongoDB.

  1. Moteur de stockage

C’est la partie de MongoDB qui s’occupe de la quantité de données stockées sur le disque et la mémoire. Il est lié aux moteurs de recherche utilisés pour rechercher des données.

Le moteur de stockage par défaut de MongoDB est le moteur de stockage WiredTiger. Cependant, il existe d’autres moteurs de stockage, tels que le moteur de stockage en mémoire et le moteur de stockage crypté que MongoDB utilise.

  1. MongoDB Shell

Mongo Shell se présente comme une plateforme accessible et interactive pour MongoDB. La plateforme est utilisée pour mettre à jour, interroger et gérer les données pour différentes utilisations.

Recherche textuelle de MongoDB : comment ça marche ?

MongoDB proposent des fonctions. Parmi les principales, on a la recherche textuelle. Elle permet d’interroger les champs de chaîne pour trouver des mots spécifiques ou un texte.

La recherche de texte peut être effectuée grâce à l’opérateur $text ou à l’index texte. Le dernier peut se présenter sous forme d’un tableau d’éléments de chaîne ou d’une simple requête sous forme d’une chaîne.

L’interrogation des données à partir de la recherche textuelle doit contenir un index texte. La collection quant à elle ne peut contenir qu’un seul index texte. Ce qui est avantageux, c’est qu’un même index texte peut être utilisé pour plusieurs champs.

Vous pouvez faire une recherche dans une collection via un index texte. Il suffit d’utiliser l’opérateur $text. D’un espace blanc, il marque chaque série de recherches. Il traite toute la ponctuation exceptée « – » et « \ ». Ces ponctuations servent de séparations.

Après avoir souligné la série de recherches, l’opérateur fait l’OR (Opération logique) sur les marques.

MongoDB utilise MongoDB Query Language afin d’extraire les informations de la base de données.

Exemples pratiques

INSERT : permet de créer ou d’insérer un nouveau document dans une série. S’il n’y a pas encore de collection, une nouvelle sera créée.

Vous aurez :

  • db.collection.insertOne() : pour ajouter un dossier dans une collection ;
  • Et db.collection.insertMany() : pour ajouter plusieurs documents en un clic dans une collection.

Pour ajouter un document/dossier dans la collection de clients :

db.customer.insertOne (

{

firstname: “Jeanne”,

lastname: “Dubois”

Address: “61 la Canebière, 13001 Marseille, France”

}

FIND : permet d’interroger une collection de documents. Des sélections et des critères de requêtes sont appliqués pour trouver des documents spécifiques.

db.collection.find()

Le code suivant trouve tous les dossiers dans la collection de clients : db.customer.find()

UPDATE : modifie les fichiers existants dans une collection.

db.collection.updateOne()

db.collection.updateMany()

db.collection.replaceOne()

Pour la mise à jour d’un dossier dans la collection de clients :

db.customer.updateOne(

{firstname: “Jeanne”},

{

$set: {“address”, “71 Av. Henri Martin, 75016 Paris, France”}

}

)

Les avantages de MongoDB

mongodb avantages

Hautes performances

Grâce au modèle de document utilisé dans MongoDB, les informations peuvent être intégrées à l’intérieur d’un seul document. Cela évite de s’appuyer sur les opérations de jointure coûteuses des bases de données relationnelles traditionnelles.

Les requêtes sont plus rapides et renvoient toutes les informations nécessaires en un seul appel à la base de données. Vous pouvez effectuer une jointure externe gauche avec l’étape de pipeline d’agrégation $lookup. Elle offre des performances similaires à celles des SGBDR.

En ce qui concerne les performances d’écriture, MongoDB offre plusieurs fonctionnalités. Ces dernières permettent d’insérer et de mettre à jour plusieurs enregistrements à la fois avec insertMany et updateMany.

Ces deux fonctions offrent un gain de performance significatif par rapport aux écritures par lots des bases de données traditionnelles.

Schémas de documents flexibles

Avec les bases de données en langage de requête structuré, chaque tentative d’insertion d’informations nécessite la déclaration et la confirmation d’un schéma de table. MongoDB, étant une base de données de documents, conserve différents documents dans une seule collection.

MongoDB permet de stocker plusieurs objets de manière unifiée, avec un ensemble différent de champs. Les schémas documentaires flexibles offrent de grands avantages lorsqu’on travaille sur des données complexes ou qu’on manipule des données en temps réel.

Sharding

Le partage est le processus consistant à partager des données volumineuses et à les répartir sur plusieurs unités ou machines appelées shards. Le partage est le plus avantageux pour un système de base de données lorsqu’il traite de difficiles et lourdes requêtes.

C’est le cas des applications web où des millions d’utilisateurs se connectent et utilisent la plateforme quotidiennement. Dans MongoDB, le sharding détermine une évolutivité horizontale sans effort.

L’ajout d’un plus grand nombre de shards offre une possibilité importante de répartir les données. Cela permet de faire évoluer efficacement la base de données.

Chaque shard contient une partie du jeu de données. Cette dernière constitue un ensemble et fonctionne comme une base de données capable d’exécuter plus efficacement de multiples requêtes sans temps d’arrêt.

Dans un environnement de sharding, les requêtes sont envoyées à différents shards en utilisant une clé de shard. Ce processus de traitement est appelé Mongos. Lorsqu’il est effectué correctement, le sharding permet un meilleur équilibrage des charges.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *