我正在运行MongoDB集群(后端到我的网站)。我正在将我之前的数据库从简单转换为分片结构。
问题是:我应该对我的所有藏品进行分类,还是只对那些我希望增长的作品进行分类。我有一些收藏品永远不会比几千个文件大,最多几十万,我还应该给它们分片吗?如果是的话?现在在转换过程中或转换后没有着色和碎片?
重新解释一下这个问题:如果一张桌子不是太大,是否有分片的好处?
答案 0 :(得分:1)
一个常见的误解是分片是基于集合的大小。这完全是不真实的。然而,通常意义上说,当一个集合达到一定的大小时,它可能存储在一个服务器上太多了,但另一方面,碎片的原因是由操作而不是大小决定的。
有意义的是,那些“成长很多”的应该被分片以在群集中分发这些操作,但是那些可能更安静的那些,例如较小的集合可以很乐意保留在主分片上。
关于何时对它们进行分片:这取决于操作。 Sharding旨在扩展读取和写入,因此它只是一个需要扩展集合的问题。
你可能有一个可能有1,000个项目的集合,但是如果操作要求它被分片,那么它需要分片。反之亦然,你可以收集10亿件物品,但仍然不值得分片。