MongoDB使用场景详解(6大应用场景案例)

MongoDB使用场景详解(6大应用场景案例)-mikechen

MongoDB介绍

MongoDB是一个基于分布式文件存储的数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。

MongoDB是文档型的NoSQL数据库,数据以文档的形式在MongoDB中保存,它支持的数据结构非常松散,是类似json的bson格式。

Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能。

 

MongoDB使用场景

MongoDB的主要目标是在:键/值存储方式,并提供了高性能、高度伸缩性的场景。

MongoDB的使用场景,主要包含如下:

1.JSON 数据的存储

MongoDB采用BSON 数据格式存储,类似JSON格式,所以非常适合文档化格式的存储及查询。

 

2.数据量很大的场景

MySQL在一个单达表到5-10GB时会出现明显的性能降级,此时需要通过数据的水平和垂直拆分、库的拆分完成扩展。

而MongoDB内建了多种数据分片的特性,Mongo非常适合由数十或者数百台服务器组成的数据库,可以很好的适应大数据量的需求。

 

3.表结构不明确,且数据在不断变大

由于MongoDB是文档型数据库,为非结构的文档增加一个新字段是很快速的操作,并且不会影响到已有数据,而传统关系式数据库,增加一个字段会锁住整个数据库/表。

另外一个好处是,当业务数据发生变化时,是将不在需要由DBA修改表结构。

 

4.适用于实时插入查询

适用于实时的插入、更新与查询的需求,并具备应用程序实时数据存储所需的复制及高度伸缩性。

 

MongoDB使用场景案例

1.游戏场景

使用MongoDB存储游戏用户信息、装备等,直接以内嵌文档的形式存储,方便查询更新。

2.物流场景

使用MongoDB存储订单信息,订单状态,以及物流信息等,以MongoDB内嵌数组的形式来存储,一次查询就能将订单所有的变更查出来。

3.社交场景

使用MongoDB存储用户信息,朋友圈信息,通过地理位置索引,实现附近的人、定位功能。

4.物联网场景

使用MongoDB存储设备信息,设备汇报的日志信息,并对这些信息进行多维度分析。

5.视频直播

使用MongoDB存储用户信息,用户点赞,礼物信息,以及互动信息。

6.运维监控系统

由于监控系统随时多变的,这时候使用MongoDB就体现了很大的便利,不需要去修改数据库的结构,直接根据业务需要灵活调整即可。

作者简介

陈睿|mikechen,10年+大厂架构经验,BAT资深面试官,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

👇阅读更多mikechen架构文章👇

阿里架构 |双11秒杀 |分布式架构 |负载均衡 |单点登录 |微服务 |云原生 |高并发 |架构师

以上

关注作者「mikechen」公众号,获取更多技术干货!

后台回复架构,即可获取《阿里架构师进阶专题全部合集》,后台回复面试即可获取《史上最全阿里Java面试题总结

评论交流
    说说你的看法