首页 > 数据库技术 > 详细

MongoDB的“3M”差异

时间:2020-06-06 23:52:58      阅读:75      评论:0      收藏:0      [点我收藏+]

  看到这个标题时先别慌,哈哈……

  “3M”是我自个命名的简称,分别是mongo、mongod和mongos;有时候我们很容易弄混淆这三者的概念和作用,现对它们做个简单的区分描述。

  (1)mongo:mongo是一个有关MongoDB的可交互的JS shell接口;对管理员和开发人员来说,在直接测试查询和操作MongoDB数据库时mongo提供了强有力的接口能力。此外,它还为MongoDB实例提供了一种完全可用的JS环境。在MongoDB服务安装包中包含了mongo命令工具,同时MongoDB也提供独立mongo命令工具的包。简单来说mongo就是一个shell命令工具。

  (2)mongod:mongod是MongoDB系统中最主要的守护进程,它处理数据的请求、管理数据访问权限和完成后台的管理操作。简单来说,只要MongoDB服务正常启动了,那么mongod就是该服务的一个实例,并且是在后台一直运行着。

  (3)mongos:在分片集群中,mongos实例在客户应用程序和分片集群之间提供一个入口,也就是说在分片集群中所有的请求操作都需要通过mongos实例进行协调,它就是客户应用访问数据库的入口。mongos实例向分片组中进行路由查询和读写操作。从应用的角度来说,mongos实例的行为与其它任何的MongDB实例都是一样的。简单来说,mongos是特指MongoDB集群中路由服务器实例,扮演着一个承上启下的角色,类似一个请求分发中心,把应用的请求转发到对应的分片服务器上。在生产环境一般会部署多台mongos实例服务器,作为应用请求的入口,避免服务中断。

 

MongoDB的“3M”差异

原文:https://www.cnblogs.com/bien94/p/13057547.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!