在MongoDB北京2014年的大会上,DBA肖贝贝分享了关于大规模MongoDB集群管理和迁移的经验。演讲主题围绕着百度在处理海量数据和高并发请求时遇到的问题及其解决方案。以下是一些关键知识点: 1. **大数据量与高请求量**: 百度云的应用广泛,包括首页信息、通讯录、短信、人脸识别数据、网盘图片元数据以及日志记录等。集群规模庞大,拥有数百亿数据,每秒处理大量请求。这种环境下,MongoDB实例众多,对数据的IO性能和可靠性有极高要求。 2. **解决IO问题**: 遇到的挑战是IO瓶颈,表现为磁盘I/O利用率长期接近100%。通过升级为SSD磁盘并进行数据分片,提高了读写效率。每个分片由2-4台在线服务节点(SSD)构成,根据业务需求选择主从配置,以及1台HDD作为延时备份。选择性能优良的SSD芯片也是优化策略之一。 3. **集群可控性与权限管理**: 集群中存在安全问题,如非法操作被视为攻击行为。为防止滥用,需要实施上层权限控制,如添加REST接口来限制昂贵或可能导致问题的操作,如创建和删除索引、数据表。 4. **在线建索引优化**: 在线建索引会导致性能下降,通过复制集的特性,可以轮转建立索引,确保单节点失效不会影响集群,同时注意oplog的时间长度以保证一致性。 5. **连接问题与优化**: 连接到Mongos的连接会创建额外的分片连接,可能导致连接数剧增。通过在Mongos前部署连接池和使用轻量级proxy来控制分片间的连接数,减轻了连接压力,但牺牲了跨分片查询的功能。 6. **均衡问题**: 当服务器负载较高时,均衡性能成为关注点。两种解决方法包括: - 设置均衡数据的后台删除,减少同步过程对性能的影响。 - 完全取消均衡数据的删除阶段,但这可能不是长久之计,需要深入分析性能瓶颈,例如在删除数据阶段的IO问题。 7. **MongoDB集群均衡**: 自动均衡是通过ConfigServer和Mongos实现的。当需要迁移chunk时,数据会在shard1和shard2之间进行动态分配,确保负载均衡。 8. **数据传输与管理**: 数据在分片之间的传输涉及到chunk的移动,这涉及到了Balancer工具的运用,确保数据在集群内的高效分布。 这些知识点展示了在处理大规模MongoDB集群时,如何有效地解决各种技术挑战,包括性能优化、安全性控制和集群管理等方面的问题。
剩余24页未读,继续阅读
- 粉丝: 10
- 资源: 14
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 前端面试必问:真实项目经验大揭秘
- 永磁同步电机二阶自抗扰神经网络控制技术与实践
- 基于HAL库的LoRa通讯与SHT30温湿度测量项目
- avaWeb-mast推荐系统开发实战指南
- 慧鱼SolidWorks零件模型库:设计与创新的强大工具
- MATLAB实现稀疏傅里叶变换(SFFT)代码及测试
- ChatGPT联网模式亮相,体验智能压缩技术.zip
- 掌握进程保护的HOOK API技术
- 基于.Net的日用品网站开发:设计、实现与分析
- MyBatis-Spring 1.3.2版本下载指南
- 开源全能媒体播放器:小戴媒体播放器2 5.1-3
- 华为eNSP参考文档:DHCP与VRP操作指南
- SpringMyBatis实现疫苗接种预约系统
- VHDL实现倒车雷达系统源码免费提供
- 掌握软件测评师考试要点:历年真题解析
- 轻松下载微信视频号内容的新工具介绍