2016-10-23 39 views
1

是否可以直接從特定的碎片查詢數據?在Mongodb碎片上查詢數據

我的意思是當我在mongos上運行這個命令時db.collection.getShardDistribution()我得到的信息是我的數據在分片之間分割,我想知道是否可以通過連接到分片來直接查詢數據。

回答

2

你的應用程序不能直接與一個碎片進行通信,也是無用的。 也許下面的圖片可以幫助你理解在MongoDB中分片是如何工作的。 enter image description here

查詢路由器(也稱爲mongos)作爲中間件:它接收來自客戶端的請求並將其自動引導到正確的(s)碎片; 當一個分片準備就緒時,將其答案發送給該查詢路由器,並將其轉發給客戶端。 使用mongoDB分片,mongos實例使用配置服務器的元數據將請求路由到受影響的分片。 沒有任何需要直接與分片進行通信,MongoDB爲您做到了。