在查看MongoDB文档时,我发现了两个不同的术语mongod
和mongos
。
启动服务器时,我正在使用./mongod --dbpath <path to mongodb>
,我正在运行./mongo
以连接到服务器。
有人可以澄清这两个术语之间的差异。
答案 0 :(得分:32)
mongod
是守护程序,mongo
是客户端,mongos
是&#39; MongoDB Shard Utility&#39;。看看man mongos
:
mongos for&#34; MongoDB Shard,&#34;是MongoDB分片配置的路由服务,用于处理来自应用程序层的查询,并确定此数据的位置 分片群集,以完成这些操作。从应用程序的角度来看,mongos实例的行为与任何其他MongoDB实例完全相同。
答案 1 :(得分:11)
MongoDB软件包中的核心组件是: mongod - 核心数据库进程; mongos - 分片群集的控制器和查询路由器;和 mongo 交互式MongoDB Shell。
答案 2 :(得分:5)
Mongos = MongoDB Shard Utility,用于分片群集的控制器和查询路由器。分片将数据集划分为不连续的部分。
Mongod = MongoDB系统的主要守护程序进程。它处理数据请求,管理数据访问并执行后台管理操作。
对mongo复制和分片的这种解释确实帮助我理解了它:https://dba.stackexchange.com/a/53705/106925
答案 3 :(得分:0)
在分片群集中,mongod作为分片数据进程并存储分片元数据进程。 mongos作为操纵客户请求的路由过程。