Mongodb3.4.7搭建高可用集群(一)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Mongodb3.4.7搭建高可用集群(一),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1981字,纯文字阅读大概需要3分钟。
内容图文
![Mongodb3.4.7搭建高可用集群(一)](/upload/InfoBanner/zyjiaocheng/491/dd16a7f2e81b4cf8a7d3401be72fc5ae.jpg)
简介
Sharding(分片)是一种将数据划分为多个分片,然后分布在多个机器节点上的解决方案,Mongodb使用sharding支撑其庞大的数据存储以及高效的数据访问。
单个节点上的数据库系统要存储大容量的数据,同时满足高效率的数据访问,对其来说是一个很大的挑战。没准,我们执行一次查询,CPU就挂掉了,就算不挂,查询出来的数据内存根本放不下。
面对这种情况,有2种方式可以解决系统的瓶颈:纵向增强自身、横向扩展节点。
- 纵向增强自身意味着要升级为更强悍的CPU,扩展更大的内存容量和硬盘容量,但受制于硬件技术的发展,这种方案风险太大。
- 横向扩展节点会将数据分布到不同的机器节点上,充分利用多个机器的硬件资源,即使数据继续大规模增长,也可以通过扩充节点来从容应对。
Mongodb使用sharding来实现横向扩展。
Mongodb的分片集群包括以下几个组成部分:
- shard(分片):每个shard都是要存储数据的子集,而且每一个shard都应该作为一个replica set,replica set是Mongodb主从复制的一个集群。
- mongos:mongos扮演了查询路由的角色,客户端连接它进行数据操作。
- config servers:config servers 存储集群的元数据信息和配置信息,从3.4版本开始,config server必须部署为replica set。
注:因为Mongodb本身提供以上功能,所以这些服务进程都是Mongodb的实例,要不就部署在不同的机器节点上,要不就部署在想同机器的不同端口上。
各个组件之间的关系如下图:
Shard Key
Mongodb通过shard key来确定某个document应该放在那个shard replica set上。shard key可以是collection的一个字段或多个字段的组合。shard key一旦指定,分片后,就不能在更改了,所以分片前一定要规划好。关于如何指定shard key,后面的示例说明。
如果分片的时候collection不为空,那一定要保证该collection有shard key的索引。
选择合适的shard key对程序的性能、扩展性有很大的影响。
Mongodb目前支持2中分片策略:Hashed Sharding,Ranged Sharding。具体后续文章介绍。
Chunks
Mongodb将分片数据放入chunk中,Mongodb将每个chunk均匀分布在shard集群中。
Mongodb3.4.7搭建高可用集群(一)
标签:cti 方案 行数据 示例 开始 客户端连接 应该 mongod set
本文系统来源:http://www.cnblogs.com/seastar1989/p/7510959.html
内容总结
以上是互联网集市为您收集整理的Mongodb3.4.7搭建高可用集群(一)全部内容,希望文章能够帮你解决Mongodb3.4.7搭建高可用集群(一)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。