本文共1061字,共计阅读时间10分钟
MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
提到MongoDB的优势,就不得不说说NoSQL。因为MongoDB就是属于NoSQL中的一种非关系型数据库。
NoSQL,指的是非关系型的数据库。NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。可以很容易的访问和抓取数据。用户的个人信息,社交网络,地理位置,用户生成的数据和用户操作日志已经成倍的增加。我们如果要对这些用户数据进行挖掘,那SQL数据库已经不适合这些应用了, NoSQL 数据库的发展却能很好的处理这些大的数据。
优点
1.高可扩展性 2.分布式计算 3.低成本 4.架构的灵活性,半结构化数据 5.没有复杂的关系
缺点
1.没有标准化 2.有限的查询功能(到目前为止) 3.最终一致是不直观的程序
1.应用服务器的日志记录
日常我们会把一些应用日志存储到文本格式的文件中,这样不便于查看同时也不便于统计等。通过MongoDB存储,既可以很好的存储、统计同时也方便不同的业务场景下日志数据格式不一致等情况。
2.第三方信息的抓取与存储
我们在一些业务场景中难免会去使用到第三方的数据,当接入多个第三方平台时,这时候我们需要考虑到每个平台数据格式不一致,自身的存储系统结构设计等情况。这时候我们使用MongoDB来存储就很好的避免了这个问题。
3.运维监控系统
在一些大型的项目中,监控是必不可少的。监控系统要监控的内容,可能是随时多变的,这时候使用MongoDB就体现了很大的便利。不需要去修改数据库的结构,直接根据业务需要灵活调整即可。大大降低了开发成本。
4.O2O业务场景
将送快递骑手、快递商家的信息(包含位置信息)存储在 MongoDB,然后通过 MongoDB 的地理位置查询,这样很方便的实现了查找附近的商家、骑手等功能。
5.游戏业务场景
使用 MongoDB 存储游戏用户信息,用户的装备、积分等直接以内嵌文档的形式存储,方便查询、更新。
6.社交业务场景
使用 MongoDB 存储存储用户信息,以及用户发表的朋友圈信息,通过地理位置索引实现附近的人、地点等功能。
7.物联网业务场景
使用 MongoDB 存储所有接入的智能设备信息,以及设备汇报的日志信息,并对这些信息进行多维度的分析。
8.视频直播业务场景
视频直播,使用 MongoDB 存储用户信息、礼物信息等。