Alors que je cherchais dans la documentation mongoDb, j'ai trouvé deux termes différents, «mongod» et «mongos».
Lors du démarrage du serveur, j'utilise './mongod --dbpath <chemin d'accès à mongodb>' et je lance './mongo' pour me connecter au serveur.
J'ai essayé de trouver les différences exactes, mais je n'ai pas pu trouver de meilleure réponse.
Quelqu'un peut-il clarifier les différences entre ces deux termes?.
mongod
est le démon, mongo
est le client, mongos
est l'utilitaire MongoDB Shard. Regardez man mongos
:
mongos pour "MongoDB Shard" est un service de routage pour les configurations de fragments MongoDB qui traite les requêtes de la couche application et détermine l'emplacement de ces données dans. le cluster fragmenté, afin de terminer ces opérations. Du point de vue de l'application, une instance de mongos se comporte de manière identique à toute autre instance de MongoDB.
Les composants principaux du package MongoDB sont les suivants: mongod - le processus de base de données; mongos - contrôleur et routeur de requêtes pour les clusters fragmentés; et mongo le shell interactif MongoDB.
Pour plus d'informations http://docs.mongodb.org/manual/reference/program/
Mongos = MongoDB Shard Utility, contrôleur et routeur de requête pour les clusters fragmentés. La fragmentation partitionne le jeu de données en parties distinctes.
Mongod = Le processus démon principal du système MongoDB. Il traite les demandes de données, gère l'accès aux données et effectue des opérations de gestion en arrière-plan.
Cette explication de la réplication mongo et du partage m'a vraiment aidé à comprendre: https://dba.stackexchange.com/a/53705/106925
Dans un cluster partagé, mongodb est utilisé en tant que processus de données de partition et stocke le processus de métadonnées de partition. Mongos en tant que processus de routage pour manipuler la demande du client.