mongodb是nosql数据库吗 13 NoSQL | MongoDB入门实战教程( 二 )

因此,基于分片集的这些机制和特点,建议生产环境尽量使用分片集群,当然前提是你有足够的硬件资源如CPU、内存 和 磁盘 。
3 分片集的数据分布策略
MongoDB分片集提供了三种数据分布的策略:
(1)基于范围(Range)
(2)基于哈希(Hash)
(3)基于zone/tag
基于范围分片
首先,基于范围的数据分片很好理解,通常会按照某个字段如创建日期来区分不同范围的数据存储 。

mongodb是nosql数据库吗 13 NoSQL | MongoDB入门实战教程

文章插图
其优点是分片范围的查询性能足够好,缺点是存在热点数据问题,数据的分布可能会不够均匀 。
基于哈希分片
其次,基于Hash的分片策略也比较好理解,通常会按照某个字段的哈希值来确定数据存储的位置 。
mongodb是nosql数据库吗 13 NoSQL | MongoDB入门实战教程

文章插图
其优点是数据的分布会比较均匀,缺点则是范围查询的效率会较低,因为可能会涉及在多个节点读取数据并聚合 。
基于Zone/Tag分片
最后,基于zone/tag的数据分片则有点不太好理解,它不是一般我们所熟知的分片方式 。所谓基于zone/tag的数据分片,一般是指在两地三中心或异地多活的应用场景中,如果数据存在地域性的访问需求,那么就可以自定义Zone来进行分片 。
通过打tag的方式,可以实现将为某个地域服务的数据存储到指定地域的数据分片上(比如CountryCode=NewYork),最终实现本地读和本地写的目的 。
4 分片集群的搭建
由于MongoDB分片集群的搭建偏运维,我这里就不做实践了 。
网上有很多相关的操作指南,有兴趣的童鞋可以自行搜索 。
5 总结
本文简单介绍了MongoDB分片集的机制及原理,最后介绍了MongoDB数据分片的三种基本策略 。
下一篇,我们会总结MongoDB应用开发的最佳实践,它也会是本系列的最后一篇文章 。
参考资料
唐建法,《MongoDB高手课》(极客时间)
郭远威,《MongoDB实战指南》(图书)


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: