MongoDB Sharding使用总结

MongoDB的Sharding机制能够让数据库系统以接近线性的方式进行扩展,非常适合具备大数据集或者高吞吐量的业务。

官方文档参考:https://docs.mongodb.com/manual/sharding/

文档上已经写得很详细了,这里主要针对其中的几个关键点做使用总结。

Shard Keys

切片字段的选择

Shard Key不像其它类型的索引那样可以随时方便的添加,修改或删除,因此,最好在正式Insert数据之前就规划好Shard Key。如果Collection中已经有大量数据了,此时再想修改Shard Key,那么需要备份数据,重建Shard,最后再把备份数据重新写入。

在创建Shard Key之前,需要认真考虑切片字段值的3个方面的特性:Cardinality(基数),Frequency(频率)和Monotonically(单调性):

  • Cardinality:主要取决于字段有效值的数量。应该尽量多一些,不宜过少。
  • Frequency:字段不同值出现的频率。应该尽量均衡。
  • Monotonically:字段值是否随着Insert操作有单调递增或单调递减的趋势。对于Ranged Sharding,应该尽量避免出现单调变化的趋势。

可以为不同的Collection设置不同的Shard Key。但每个Collection只能有1个Shard Key,它要同

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值