我對這是如何工作有點困惑。在對mysql進行分片時,我們有一些表格,通常是帶有參考數據的小表格,整個分片。這是爲了使連接。如果我們在mongo中有小的集合,那麼我們不會在分片設置中分割,它們會發生什麼?他們被送到每個碎片,還是留在第一個碎片?如果一個擁有許多應用程序服務器的嚴重分片系統中的所有進程都擊中了一臺服務器,這就會成爲潛在的瓶頸。Mongodb - 分片和不分片的集合
回答
在具有自動分割功能的mongodb中,分割的集合將以某種方式均勻分佈在您擁有的所有分片上。通過那些你不可能分割的集合(不分片),你可以指定一個primary shard它們將駐留在哪裏。此主分片是特定數據庫的給定分片,因此它位於每個數據庫級別。可以移動,並且可以針對不同的數據庫而不同。
存在shard標記的概念,可以影響sharded集合的放置位置。基本上,您可以將集合或集合的一部分約束爲存儲在特定的一組碎片中。 DOCS
我不確定標籤感知分片是否適用於非分片集合,但從來沒有測試過,但是,根據事實一個非分片集合將永遠不會被平衡我會說沒有 – Sammaye
這就是爲什麼我寫到「你可以影響分片集合在哪裏放置」,但是可以說你可能會把一個分片集合完全放在一個分片上,幾乎(可能恰好)是非分片集合的行爲。我相當確定你不能標記未粘貼的集合。 – attish
謝謝大家。這就是我所關心的。對我而言,這是一個潛在的威脅。當然,您在Mongo中沒有必要擔心,這是將較小表格複製到各種分片中的主要原因之一。處理這些問題的另一種方式是建立一個不同的複製環境。我猜測,在Mongo環境中,你不會通過一個唯一的鍵來執行狀態等操作,而是使用想要在報表中顯示的實際狀態等。如果要更改它,這只是一個問題狀態文本。 – CargoMeister
- 1. Mongodb:使用分片的分佈集合
- 2. Mongodb不分片
- 3. Enzo SQL分片庫和MongoDB的分片
- 4. mongodb分片sharding
- 5. MongoDB分片鍵
- 6. MongoDB的分片findAndModify
- 7. 聚合管道在分片集合的MongoDB
- 8. MongoDB分片性能不佳
- 9. MongoDB的分片集羣錯誤14037
- 10. 創建mongodb分片羣集的工具
- 11. 分片羣集中的MongoDB ObjectID唯一
- 12. 分片集合的索引需要從分片鍵開始?
- 13. 在MongoDB中分片
- 14. MongoDB分片概念
- 15. Mongodb本地分片
- 16. MongoDB分片問題
- 17. MongoDb分片設置在副本集上
- 18. 清理關閉分片MongoDB羣集
- 19. mongodb分片在後臺收集
- 20. MongoDB:在分片羣集上查詢
- 21. 在分片中的MongoDB重命名集合
- 22. MongoDB爲相同數據庫中的相關集合分片
- 23. MongoDB的合併與$ maxkey值塊分片集羣
- 24. MongoDB。在還原時保留關於分片集合的信息
- 25. MongoDB的分片 - 上市碎片
- 26. MongoDB的分片副本
- 27. MongoDB的分片例如
- 28. MongoDB的,分片和水平縮放
- 29. 如何檢查集合是否是分片與否MongoDB中
- 30. 在數據庫中實現水平MongoDB的分片和離開的集合unsharded
您必須手動告訴(命令)哪些集合被分片。對於較小的集合,不要分割它,因此它將只保留在一個分片中。任何已完成的查詢(通過該集合)將僅被髮送到持有該集合的分片。請參閱:http:// docs.mongodb.org/manual/tutorial/deploy-shard-cluster /#sharding-setup-shard-collection' –
你不碎片的集合將駐留在第一個碎片上,是的它可能是一個瓶頸,也有分佈這些集合的討論,但是,目前的MongoDB並不是 – Sammaye