视觉中国MongoDB应用实践:从MySQL转型与选型
5星 · 超过95%的资源 需积分: 15 175 浏览量
更新于2024-07-26
收藏 2.91MB PDF 举报
在"视觉中国的MongoDB应用实践"一文中,作者在2011年的QCon Beijing会议上分享了他们公司转向MongoDB的原因和过程。起初,视觉中国采用MySQL作为数据库,遇到的问题包括多数据源需求、灵活的Schema、频繁的属性更新以及硬件资源的限制。原有的架构采用Master-Master-Slave(MMM)模式,但无法满足新的业务需求。
作者提到,他们最初考虑过NoSQL数据库是因为NoSQL数据库如MongoDB的自动分片和分布式存储特性,但这并不是他们选择MongoDB的主要原因。真正驱使他们转向的是MongoDB的键值对(KV)存储、适应性强、schema自由度较高以及对内存资源的有效管理,这些特性恰好解决了MySQL在灵活性和性能上的不足。
MongoDB的选择过程中,他们倾向于选择一个能够持久化、分布式存储,并且具有PHP/Perl客户端支持、接近Memcached性能、支持分布式集群且文档清晰的解决方案。备选方案包括Flare、Repcached、Redis和TC/TT。经过评估,MongoDB最终成为视觉中国选择的替代品,因为它满足了他们的大部分需求,尤其是在适应不确定性和处理高并发场景方面。
在这个实践中,MongoDB的应用不仅解决了原始架构中的问题,而且引入了一种新的架构设计,将MySQL与MongoDB结合使用,通过KV存储方式来应对动态变化的数据结构。此外,MongoDB的缓存持久性以及内存管理能力使得视觉中国能够在保持高性能的同时,有效管理硬件资源。
总结来说,这篇论文详细讲述了视觉中国在面临业务需求变化时,如何从传统关系型数据库切换到非关系型数据库MongoDB的过程,包括挑战、解决方案选择以及MongoDB在实际应用中的优势。这是一篇关于数据库技术转型的实际案例研究,对于理解大型企业如何处理复杂数据需求和架构优化具有参考价值。
2018-01-21 上传
2020-11-18 上传
2021-11-06 上传
2019-05-15 上传
2021-09-14 上传
2015-08-27 上传
2024-07-09 上传
2021-06-24 上传
fangminfu2013
- 粉丝: 0
- 资源: 3
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析