MongoDB比较适用哪些业务场景?

MongoDB⽐较适⽤哪些业务场景
在云栖社区上发起了⼀个 MongoDB 使⽤场景及运维管理问题交流探讨的技术话题,有近5000⼈关注了该话题讨论,这⾥就 MongoDB 的使⽤场景做个简单的总结,谈谈什么场景该⽤ MongoDB?
宗修英
很多⼈⽐较关⼼ MongoDB 的适⽤场景,也有⽤户在话题⾥分享了⾃⼰的业务场景,⽐如
案例1
⽤在应⽤服务器的⽇志记录,查起来⽐⽂本灵活,导出也很⽅便。也是给应⽤练⼿,从外围系统开始使⽤MongoDB。
warp>冯淑萍⽤在⼀些第三⽅信息的获取或者抓取,因为MongoDB的schema-less,所有格式灵活,不⽤为了各种格式不⼀样的信息专门设计统⼀的格式,极⼤得减少开发的⼯作。
案例2
mongodb之前有⽤过,主要⽤来存储⼀些监控数据,No schema 对开发⼈员来说,真的很⽅便,增加字段不⽤改表结构,⽽且学习成本极低。
案例3
使⽤MongoDB做了O2O快递应⽤,·将送快递骑⼿、快递商家的信息(包含位置信息)存储在 MongoDB,然后通过 MongoDB 的地理位置查询,这样很⽅便的实现了查附近的商家、骑⼿等功能,使得快递骑⼿能就近接单,⽬前在使⽤MongoDB 上没遇到啥⼤的问题,官⽹的⽂档⽐较详细,很给⼒。
经常跟⼀些同学讨论 MongoDB 业务场景时,会听到类似『你这个场景 mysql 也能解决,没必要⼀定⽤ MongoDB』的声⾳,的确,并没有某个业务场景必须要使⽤ MongoDB才能解决,但使⽤ MongoDB 通常能让你以更低的成本解决问题(包括学习、开发、运维等成本),下⾯是 MongoDB 的主要特性,⼤家可以对照⾃⼰的业务需求看看,匹配的越多,⽤ MongoDB 就越合适。
MongoDB特性、优势
事务⽀持
MongoDB ⽬前只⽀持单⽂档事务,需要复杂事务⽀持的场景暂时不适合
碱含量灵活的⽂档模型
JSON 格式存储最接近真实对象模型,对开发者友好,⽅便快速开发迭代
⾼可⽤复制集
满⾜数据⾼可靠、服务⾼可⽤的需求,运维简单,故障⾃动切换
可扩展分⽚集
海量数据存储,服务能⼒⽔平扩展
⾼性能
mmapv1、wiredtiger、mongorocks(rocksdb)、in-memory 等多引擎⽀持满⾜各种场景需求
强⼤的索引⽀持
地理位置索引可⽤于构建各种 O2O 应⽤、⽂本索引解决搜索的需求、TTL索引解决历史数据⾃动过期的需求
Gridfs
解决⽂件存储的需求
aggregation & mapreduce
解决数据分析场景需求,⽤户可以⾃⼰写查询语句或脚本,将请求都分发到 MongoDB 上完成
汇源果汁债务压顶
从⽬前阿⾥云 MongoDB 云数据库上的⽤户看,MongoDB 的应⽤已经渗透到各个领域,⽐如游戏、物流、电商、内容管理、社交、物联⽹、视频直播等,以下是⼏个实际的应⽤案例。
游戏场景,使⽤ MongoDB 存储游戏⽤户信息,⽤户的装备、积分等直接以内嵌⽂档的形式存储,⽅便查询、更新
物流场景,使⽤ MongoDB 存储订单信息,订单状态在运送过程中会不断更新,以 MongoDB 内嵌数组的形式来存储,⼀次查询就能将订单所有的变更读取出来。
社交场景,使⽤ MongoDB 存储存储⽤户信息,以及⽤户发表的朋友圈信息,通过地理位置索引实现附近的⼈、地点等功能
物联⽹场景,使⽤ MongoDB 存储所有接⼊的智能设备信息,以及设备汇报的⽇志信息,并对这些信息进⾏多维度的分析
视频直播,使⽤ MongoDB 存储⽤户信息、礼物信息等
……
如果你还在为是否应该使⽤ MongoDB,不如来做⼏个选择题来辅助决策(注:以下内容改编⾃ MongoDB 公司 TJ 同学的某次公开技术分享)。
应⽤不需要事务及复杂 join ⽀持
新应⽤,需求会变,数据模型⽆法确定,想快速迭代开发
应⽤需要2000-3000以上的读写QPS(更⾼也可以)
应⽤需要TB甚⾄ PB 级别数据存储
微波天线应⽤发展迅速,需要能快速⽔平扩展
应⽤要求存储的数据不丢失
应⽤需要99.999%⾼可⽤
应⽤需要⼤量的地理位置查询、⽂本查询
如果上述有1个符合,可以考虑 MongoDB,2个及以上的符合,选择 MogoDB 绝不会后悔。

本文发布于:2024-09-23 03:30:58,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/37949.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:信息   场景   数据   需求   订单   运维   业务   管理
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议