2016-10-23 35 views
1

是否可以直接从特定的碎片查询数据?在Mongodb碎片上查询数据

我的意思是当我在mongos上运行这个命令时db.collection.getShardDistribution()我得到的信息是我的数据在分片之间分割,我想知道是否可以通过连接到分片来直接查询数据。

回答

2

你的应用程序不能直接与一个碎片进行通信,也是无用的。 也许下面的图片可以帮助你理解在MongoDB中分片是如何工作的。 enter image description here

查询路由器(也称为mongos)作为中间件:它接收来自客户端的请求并将其自动引导到正确的(s)碎片; 当一个分片准备就绪时,将其答案发送给该查询路由器,并将其转发给客户端。 使用mongoDB分片,mongos实例使用配置服务器的元数据将请求路由到受影响的分片。 没有任何需要直接与分片进行通信,MongoDB为您做到了。