当前位置: 首页 > news >正文

MongoDB的应用

近,因为工作的原因,我们正在使用MongoDB做一些大数据量存储的尝试。对于MongoDB的复制功能部署问题,有一些无奈!

首先说明一下我们的情况,我们需要使用的项目情况,对于MongoDB的期望,MongoDB的无奈和解决方案。

我们的站点是一个7×24h提供服务的电子商务网站。海量数据存储,高并发,实时是我们最大的特点,也是我们的需要解决的难点。我们目前的业务量一直在增长,所以从架构角度出发,可伸缩性,可替代性是我们追求目标。

目前需要使用到MongoDB的项目有3个:

一个是应用信息中心(AIC),该项目是作用是监控线上项目出现异常的情况,该项目的特点在于瞬间并发无法估计,数据量恐怖,读写遵循“二八原则”,稳定性要求高,实时性一般;

另一个是业务日志系统(BLS),该项目主要用来存放站点业务操作的日志,目前的做法是将日志存放在DB中,我们认为这不是最好的解决方案,所以我们准备把该部分日志移植到MongoDB环境中。该项目的特点是数据增量大,每天增量大概有7g左右,数据无法删除,高并发,稳定性,实时性要求高,99%写,1%读取;

最后一个是搜索用户行为分析系统(UBA),该项目主要是记录一些我们需要分析的用户使用搜索行为的日志,该项目的特点是数据量大,并发要求高,稳定性,实时性要求一般,但是要求读写尽量分开。三个方案都要考虑成本的问题,否则硬件的投入将是最大的软肋。

仔细了解MongoDB后,先说一下能满足我们需求的点。

第一:可以存放海量数据;

第二:能承受高并发;

第三:可以使用廉价存储;

第四:单服务器稳定性可以满足要求;

不能满足我们的点:

第一:net的客户端除了完成了协议外,别的实在够差劲,

第二:MongoDB的集群功能实在无语。如果选择pair模式,对于slave只能等待master down机,不能读;选择M-M-S模式,不能保证实时性,只能保证最后一致性,并且可能存在数据重叠问题;选择M-S模式,slave倒是可以读了,但是当master down机时无法自动切换到slave。实在很无语!

解决办法:

第一:net客户端比较容易解决,自己开发一个就基本上没问题;

第二:对于AIC,我们选择存储使用M-M-S模式,我们保证海量数据的存储和并发性,实时性在这个系统中并不是重点,稳定性要去也一般,所以选择M-M-S应该问题不大;对于BLS,稳定性是我们的第一要求,并发,海量,快速是我们的第二需求,所以我们选择了pair模式,宁愿浪费一点硬件设备,也要保证稳定性;UBA系统我们选用M-S模式,原因是保证高并发,海量存储的基础上,我们还要保证读写分离

http://www.jsqmd.com/news/1132667/

相关文章:

  • WPS表格Python脚本:读取与筛选数据实战
  • 差分对回流路径设计:3种耦合场景下的平面布局与阻抗控制指南
  • OpenRGB:一个软件搞定所有RGB设备,你的桌面灯光管理终极方案
  • 健身动作生成:鸿蒙AI应用开发实战——AI私教,科学训练不迷茫
  • MoeKoeMusic:如何快速搭建你的免费高颜值音乐播放器终极指南
  • 域渗透实战:从信息收集到域控攻防的完整攻击路径解析
  • Ethernet和EtherCAT在物理层的区别
  • 墨尔本大洋路自驾:十二门徒岩与澳式肉派寻味
  • AI安全攻防:从PROMISQROUTE越狱攻击看大模型安全防御实践
  • GHelper深度解析:如何用开源工具彻底解放华硕笔记本性能潜力
  • Next.js 生活工具缓存:让页面快,也别让数据旧得悄悄的
  • WPF 基础到企业应用系列4——WPF千年轮回
  • 2026不限速避坑指南:百度网盘满速插件真实速度与防封机制横评
  • 免费开源AI图像放大神器:Upscayl完整使用指南
  • Jetson Xavier NX + ZYNQ FPGA 异构平台:PCIe 20μs级数据同步与智能电网实时仿真
  • AIOps 变更风险评分:发布小,不代表风险小
  • 字符串复制函数-strdup
  • 终极3种算法融合:QRemeshify智能四边形重拓扑解决方案在Blender中的专业实现
  • 缓存为什么“精准失效“:任务哈希的六层输入
  • 语义认知匹配引擎:架构、机制与企业认知计算的意义
  • AI应用安全必修课:Prompt注入攻击原理与防御实战
  • ECharts 趋势看板:辅助线比炫酷动画更有分析价值
  • Windows提速300%!这款系统优化工具直接封神!
  • 深度学习张量广播机制:原理、规则与高效应用实践
  • QLVideo:解锁Mac视频预览新境界,告别格式限制的智能解决方案
  • Winsorized Mean:抗干扰均值计算与实战应用指南
  • Java Web 船舶监造系统系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】
  • 3个智能方案:彻底告别重复性游戏操作
  • Herbie终极指南:如何快速下载15+天气模型数据并可视化分析
  • 年少亲密关系的隐性创伤与成年自我救赎——基于青春期未成年亲密互动的个体反思