需要解释mongoDB如何处理选择查询

时间:2012-08-31 18:30:02

标签: mongodb sharding

在分片环境中运行mongoS选择查询时没有问题,但我的问题是:

如果设置了2个分片服务器并通过应用层运行find查询,那么分片环境的哪一部分可以执行查询?

我无法在任何实例的控制台中看到任何更改,也没有创建新进程。我通过在本地实现的分片设置上执行3000 find个查询来测试这个。

任何人都可以解释我在理解上的错误,或者发现语句不会在服务器上加载。

mongoDB如何处理选择或读取操作?

我很难理解这一点。 在此先感谢您的回复

1 个答案:

答案 0 :(得分:1)

当您通过shell(mongo)连接到mongoD或mongoS服务器时,您将无法查看该服务器上发生的查询。 shell主要用于执行查询,配置数据库并检查其状态。

MongoS只是来自应用程序的查询的路由器。

要查看您需要根据configuration检查每台服务器上的日志文件所需的各个查询。

默认情况下,只会记录慢速查询(低于100毫秒)。因此需要启用Profiler来记录所有查询。

有关分片的详情,请参阅此documentation pages