MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Pourquoi MongoDB - 10 raisons d'apprendre MongoDB pour 2022

Comme nous le voyons dans le monde d'aujourd'hui que la plupart des gens passent à MongoDB, il y en a encore beaucoup qui préfèrent utiliser une base de données relationnelle traditionnelle. Ici, nous discuterons pourquoi MongoDB devrions-nous choisir ? Comme chaque pièce a deux faces, elle a ses propres avantages et limites.

Alors, êtes-vous prêt à explorer les raisons d'apprendre MongoDB ?

Pourquoi MongoDB ?

Comme il s'agit d'une base de données NoSQL, c'est pourquoi elle a de nombreuses raisons d'apprendre MongoDB. Ces raisons ont conduit la fondation à la popularité mondiale de MongoDB.

Voici quelques raisons pour lesquelles MongoDB est populaire.

  • Cadre d'agrégation
  • Format BSON
  • Partage
  • Requête ad hoc
  • Collection plafonnée
  • Indexation
  • Stockage de fichiers
  • Réplication
  • Service de gestion MongoDB (MMS)

Principales raisons d'apprendre MongoDB

i) Cadre d'agrégation

Nous pouvons l'utiliser de manière très efficace par MongoDB. MapReduce peut être utilisé pour le traitement par lots des données et également pour les opérations d'agrégation. MapReduce n'est rien d'autre qu'un processus dans lequel de grands ensembles de données traiteront et généreront des résultats à l'aide d'algorithmes parallèles et distribués sur des clusters.

Il se compose de deux ensembles d'opérations en soi, ce sont :Map() et Reduce().

  • Carte() : Il effectue des opérations telles que le filtrage des données, puis le tri sur cet ensemble de données.
  • Réduire() : Il effectue l'opération de récapitulation de toutes les données après l'opération map().

Cadre d'agrégation

ii) Format BSON

C'est un format de stockage de type JSON. BSON signifie JSON binaire . BSON est une sérialisation codée en binaire de JSON comme les documents et MongoDB l'utilise pour stocker des documents dans des collections. Nous pouvons ajouter des types de données comme la date et le binaire (JSON ne prend pas en charge).

Le format BSON utilise ici _id comme clé primaire. Comme indiqué, _id est utilisé comme clé primaire, il a donc une valeur unique associée à lui-même appelée ObjectId, qui est soit générée par le pilote d'application, soit par le service MongoDB.

Vous trouverez ci-dessous un exemple pour mieux comprendre le format BSON :

Exemple-

{
"_id": ObjectId("12e6789f4b01d67d71da3211"),
"title": "Key features Of MongoDB",
"comments": [
...
]
}

Un autre avantage de l'utilisation du format BSON est qu'il permet d'indexer et de mapper en interne les propriétés du document. Comme il est conçu pour être plus efficace en taille et en vitesse, il augmente le débit de lecture/écriture de MongoDB.

iii. Partage

Le problème majeur de toute application Web/mobile est la mise à l'échelle. Pour surmonter cela, MongoDB a ajouté une fonctionnalité de partitionnement. C'est une méthode dans laquelle les données sont distribuées sur plusieurs machines. L'évolutivité horizontale est fournie avec le sharding.

C'est un processus compliqué et se fait à l'aide de plusieurs fragments. Chaque partition contient une partie des données et fonctionne comme une base de données distincte . La fusion de toutes les partitions forme une seule base de données logique. Les opérations ici sont effectuées par des routeurs de requête.

iv. Requêtes ad hoc

MongoDB prend en charge les requêtes de plage, les expressions régulières et de nombreux autres types de recherches. Les requêtes incluent des fonctions Javascript définies par l'utilisateur et peuvent également renvoyer des champs spécifiques à partir des documents. MongoDB peut prendre en charge les requêtes ad hoc en utilisant un langage de requête unique ou en indexant les documents BSON.

Voyons la différence entre une requête SQL SELECT et une requête similaire :

Par exemple. Récupération de tous les enregistrements de la table des étudiants avec le nom de l'étudiant comme ABC.

  • Instruction SQL – SELECT * FROM Étudiants WHERE stud_name LIKE ‘%ABC%’ ;
  • Requête MongoDB – db.Students.find({stud_name:/ABC/ });

c. Sans schéma

Comme il s'agit d'une base de données sans schéma (écrite en C++), elle est beaucoup plus flexible que la base de données traditionnelle. De ce fait, les données ne nécessitent pas beaucoup de configuration pour elles-mêmes et réduisent les frictions avec la POO. Si vous souhaitez enregistrer un objet, sérialisez-le simplement en JSON et envoyez-le à MongoDB.

vi. Collections plafonnées

MongoDB prend en charge la collecte plafonnée, car il a une taille fixe des collections dedans. Il maintient l'ordre d'insertion. Une fois la limite atteinte, il commence à se comporter comme une file d'attente circulaire.

Exemple – Limitation de notre collection limitée à 2 Mo

  • db.createCollection('logs', {capped :vrai, taille :2097152})

viii. Indexation

Pour améliorer les performances des recherchesdes index sont en cours de création . Nous pouvons indexer n'importe quel champ du document MongoDB, qu'il soit primaire ou secondaire.

Pour cette raison, le moteur de base de données peut résoudre efficacement les requêtes.

Indexation

viii. Stockage de fichiers

MongoDB peut également être utilisé comme système de stockage de fichiers, ce qui évite le déséquilibre de charge ainsi que la réplication des données. Cette fonction est exécutée à l'aide de Grid File System , il est inclus dans les pilotes qui stockent les fichiers.

Stockage de fichiers dans MongoDB

ix. Réplication

La réplication est assurée par la distribution des données sur différentes machines. Il peut avoir un nœud principal et plusieurs nœuds secondaires (jeu de répliques).

Cet ensemble agit comme un maître-esclave. Ici, un maître peut effectuer une lecture et une écriture et un esclave copie les données d'un maître en tant que sauvegarde uniquement pour une opération de lecture.

Réplication

x. Service de gestion MongoDB (MMS)

MongoDB possède une fonctionnalité très puissante de MMS, grâce à laquelle nous pouvons suivre nos bases de données ou nos machines et, si nécessaire, sauvegarder nos données. Il suit également les métriques matérielles pour gérer le déploiement.

Il fournit une fonctionnalité d'alerte personnalisée, grâce à laquelle nous pouvons découvrir les problèmes avant que notre instance MongoDB n'affecte.

Service de gestion MongoDB (MMS)

Avantages de MongoDB

Il s'agit de la deuxième phase de Pourquoi MongoDB, avantages.

je. Équilibrage de charge

Si vous avez un grand nombre de données que vous devez traiter, vous pouvez répartir le trafic entre différentes machines à l'aide de l'équilibrage de charge.

Cela aide l'utilisateur de manière à ce que vous puissiez continuer votre travail même si l'un des nœuds/machines a cessé de fonctionner pour une raison quelconque. Les autres nœuds garderont le travail dans une continuité et votre traitement ne s'arrêtera pas.

Équilibrage de charge

ii. Partage

Avec l'aide du sharding, nous pouvons faire une mise à l'échelle horizontale. Ce qui n'est pas possible avec l'aide d'une base de données relationnelle. En utilisant cette méthode, nous pouvons répartir les données sur différentes machines.

Nous créons des fragments des données que nous avons avec nous-mêmes, puis nous essayons de faciliter un peu la tâche de traitement.

Partage dans MongoDB

iii. Flexibilité

Il ne nécessite pas de structures de données, qui sont unifiées par nature sur tous les objets utilisés. Cela facilite l'utilisation de MongoDB. Avec l'aide du schéma dynamique, il est très facile d'utiliser MongoDB.

Flexibilité

iv. Vitesse

MongoDB peut traiter rapidement et facilement les données. Mais ceci est valable jusqu'à ce que vos données soient au format document. Nous pouvons dire que sa vitesse augmente automatiquement car il traite une grande quantité de données non structurées en quelques secondes, ce qui semble magique.

Avantages et inconvénients de MongoDB

Inconvénients/Limites de MongoDB

Il s'agit de la troisième phase de Pourquoi MongoDB , limites.

je. Utilisation de la mémoire

Comme nous savons que MongoDB stocke le nom de la clé avec chaque document, il est donc évident qu'il consommera une grande quantité de mémoire. Et comme les jointures ne sont pas non plus possibles, il devient très difficile de travailler avec des données en double.

Utilisation de la mémoire

ii. Aucune jointure

Comme nous appliquons très facilement des jointures dans la base de données relationnelle, il n'est pas possible d'appliquer des jointures dans MongoDB. Donc, si vous souhaitez y appliquer des jointures, vous devrez écrire de nombreuses requêtes complexes pour effectuer l'opération de jointure ici.

iii. Toujours en cours de développement

SQL a été développé dans les années 1980, et MongoDB vient d'émerger en 2009. Donc, pour cette raison, MongoDB n'est pas encore entièrement documenté ou testé et ne bénéficie pas du soutien total de ses experts.

Résumé

Ainsi, après l'avoir lu, vous pouvez vous faire une idée de la raison pour laquelle nous devrions l'utiliser, quels sont ses avantages et ses inconvénients. En outre, si vous avez des questions, n'hésitez pas à les poser dans la section des commentaires ci-dessous, nous serions ravis de vous aider.