我对这是如何工作有点困惑。在对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