web-dev-qa-db-fra.com

Quelle est la différence exacte entre mongod et mongos

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?.

21
Rajeshwar

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.

31
user1907906

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/

10
it'sme

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

5
punkrockpolly

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.

0
Edward