本文介绍了什么场景应该使用MongoDB,对大家的学习或者工作有一定的参考价值。让我们和边肖一起学习。
很多人比较关心MongoDB的适用场景,也有用户在话题中分享自己的业务场景,比如
1起案件
使用应用服务器中的日志记录,比文本查找更灵活,导出也非常方便。对于应用来说也是惯例,从外围系统的MongoDB开始。
在一些第三方信息获取或抓取中,由于MongoDB的schema-less,所有格式都是灵活的,不需要专门为各种不同格式的信息设计统一的格式,大大减少了开发工作。
2起案件
以前用过Mongodb,主要是存储一些监控数据。没有哪个schema是真正方便开发者的,添加字段不改变表结构,学习成本极低。
3起案件
利用MongoDB做O2O快递应用,将快递骑手和快递商家的信息(包括位置信息)存储在MongoDB中,然后查询MongoDB的地理位置,方便地实现了查找附近商家和骑手的功能,使快递骑手可以就近接单。目前使用MongoDB问题不大。官网的文档详细有力。
经常和一些同学讨论MongoDB业务场景的时候,会听到一种类似“mysql可以解决你的场景,你就不用MongoDB了”的声音。的确,没有一个业务场景一定要用MongoDB来解决,但是使用MongoDB通常可以让你以更低的成本(包括学习、开发、运维成本等)来解决问题。).下面是MongoDB的主要特性,大家可以根据自己的业务需求来看看。
MongoDB特点优势事务支持MongoDB目前只支持单文档事务,需要复杂事务支持的场景暂时不适合灵活的文档模型。JSON格式存储最接近真实对象模型,对开发者友好,方便快速开发迭代高可用复制集,满足数据高可靠和服务高可用的要求,运维简单,自动故障转移可以在碎片化集群中扩展海量数据存储。服务能力的扩展。高性能mmapv1、wiredtiger、mongorocks(rocksdb)、内存等多引擎支持各种场景。强大的索引支持地理位置索引,可以用来构建各种O2O应用,文本索引解决搜索需求,TTL索引解决历史数据自动过期的需求。Gridfs解决了文件存储的需求。聚合mapreduce解决了数据分析场景的需求。用户可以编写自己的查询语句或脚本,并将所有请求分配给MongoDB完成。
目前,从阿里云MongoDB云数据库的用户来看,MongoDB的应用已经渗透到各个领域,如游戏、物流、电子商务、内容管理、社交网络、物联网、视频直播等。下面是几个实际应用案例。
游戏,使用MongoDB存储游戏用户信息,用户的装备,积分等。都是以嵌入式文档的形式直接存储,方便查询和更新物流场景。使用MongoDB存储订单信息,订单状态会在发货过程中不断更新,并以MongoDB嵌入式数组的形式存储,一次查询即可读出订单的所有变化。社交场景,使用MongoDB存储用户信息和用户发布的朋友圈信息,通过地理位置索引实现附近的人、场所等功能的物联网场景,使用MongoDB存储所有连接的智能设备信息和设备上报的日志信息,并对这些信息进行多维度分析和视频直播,使用MongoDB存储用户信息、礼品信息等。
如果你还在犹豫该不该用MongoDB,不妨做几道选择题帮你做个决定(注:以下内容改编自MongoDB公司TJ同学的一篇公开技术分享)。
特性是/否应用程序不需要事务和复杂的连接支持。对于新的应用肯定是肯定的,需求会变化,数据模型无法确定,想要快速迭代?读写需要2000-3000多QPS(高一点也行)?应用程序需要TB甚至PB数据存储?应用开发很快,需要能够快速横向扩展?应用程序要求存储的数据不会丢失?应用需要99.999%的高可用性?需要大量的地理位置查询和文字查询?
如果上面有一个是,可以考虑MongoDB,两个以上是,选择MongoDB绝对不会后悔。
这就是这篇关于MongoDB使用场景总结的文章。希望对大家的学习有帮助,也希望大家多多支持。