标签: mongodb sharding
是否可以直接从特定碎片查询数据?
我的意思是当我在mongos上运行此命令db.collection.getShardDistribution()时,我得到了我的数据在分片之间分割的信息,我想知道是否可以通过连接到分片来直接查询数据。
答案 0 :(得分:2)
您的应用程序无法直接与一个分片通信,也没用。 也许下面的图片可以帮助您了解MongoDB中的分片是如何工作的。
查询路由器(也称为mongos)作为中间件工作:它接收来自客户端的请求并自动将其引导到正确的分片; 当分片准备就绪时,将其答案发送到此查询路由器,该路由器将其转发给客户端。 使用mongoDB分片,mongos实例使用配置服务器的元数据将请求路由到受影响的分片。 没有任何需要直接与碎片通信,MongoDB为您做了。