mongodb 集群shard_MongoDB之分片集群(Sharding)

MongoDB之分片集群(Sharding)

一、基本概念

分片(sharding)是一个通过多台机器分配数据的方法。MongoDB使用分片支持大数据集和高吞吐量的操作。大数据集和高吞吐量的数据库系统挑战着单一服务的性能。例如:高查询率将耗尽CPU的性能。大于系统RAM的工作集将给磁盘的IO很大的压力。

应对系统的增长有两个方法:垂直扩展和水平扩展。

垂直扩展的方法是提升单一服务的性能,例如:使用一个更强的CPU,或更多的内存,或提升大量的存储空间。可用技术的局限性将限制单一服务的工作负载。另外基于云的提供者也有硬件配置的上限。所以,垂直扩展是有上限的。

水平扩展的方法是将系统的数据集分配到多个服务上,添加额外的服务可以提升系统的能力。一个单独机器的性能和速度可以不是很高,每台机器处理整个工作负载的一个子集,潜在地相比一个单一的高速度、高性能的服务,提供了更好的性能。扩展部署的能力仅仅需要添加额外的需要的服务,这比添加高档的硬件要便宜不少。

1.1分片集群

MongoDB 的分片集群由下面的几个组件组成:

分片(shard):每个分片包含了分片数据的一个子集,每个分片可以作为一个副本集部署。

mongos:mongos扮演者查询路由的角色,提供着客户端应用和分片集群的接口。

config servers:配置服务存储着集群的元数据和配置设置,MongoDB3.4以后,配置服务必须部署成副本集。

下图描述了分片集群中,各个组件的交互

image1

mongodb在collection级别对数

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值