searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

MongoDB概述

2024-06-19 09:36:45
26
0

1.什么是MongoDB?

MongoDB 是一个基于分布式文件存储的数据库,由 C++ 编写,可以为 WEB 应用提供可扩展、高性能、易部署的数据存储解决方案。
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库中功能最丰富、最像关系数据库的。在高负载的情况下,通过添加更多的节点,可以保证服务器性能。

2.MongoDB 和RDBMS对比

image.png

3.BSON在MongoDB中的使用

BSON(Binary JSON)是一种类JSON的一种二进制形式的存储格式。它和JSON一样,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,如Date和Binary Data类型。BSON可以做为网络数据交换的一种存储形式,是一种schema-less的存储形式,它的优点是灵活性高,但它的缺点是空间利用率不佳。
MongoDB使用了BSON这种结构来存储数据和网络数据交换。把这种格式转化成一文档这个概念(Document),这里的一个Document也可以理解成关系数据库中的一条记录(Record),只是这里的Document的变化更丰富一些,如Document可以嵌套。
MongoDB中Document 中可以出现的数据类型:
image.png
特殊数据类型File:

  • 二进制转码小于16M,用Base64存储
  • 二进制转码大于16M,用GridFS存储

    GridFS 用两个集合来存储一个文件:fs.files与 fs.chunk

举例:真正存储需要使用mongofiles --db your_database_name put /path/to/your/large/file

4.何时使用MongoDB?

image.png
行业具体应用场景:

  • 游戏场景,使用 MongoDB 存储游戏用户信息,用户的装备、积分等直接以内嵌文档的形式存储,方便查询、更新。
  • 物流场景,使用 MongoDB 存储订单信息,订单状态在运送过程中会不断更新,以 MongoDB 内嵌数组的形式来存储,一次查询就能将订单所有的变更读取出来。
  • 社交场景,使用 MongoDB 存储存储用户信息,以及用户发表的朋友圈信息,通过地理位置索引实现附近的人、地点等功能。
  • 物联网场景,使用 MongoDB 存储所有接入的智能设备信息,以及设备汇报的日志信息,并对这些信息进行多维度的分析。
  • 直播,使用 MongoDB 存储用户信息、礼物信息等。
0条评论
0 / 1000
1****m
13文章数
0粉丝数
1****m
13 文章 | 0 粉丝
原创

MongoDB概述

2024-06-19 09:36:45
26
0

1.什么是MongoDB?

MongoDB 是一个基于分布式文件存储的数据库,由 C++ 编写,可以为 WEB 应用提供可扩展、高性能、易部署的数据存储解决方案。
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库中功能最丰富、最像关系数据库的。在高负载的情况下,通过添加更多的节点,可以保证服务器性能。

2.MongoDB 和RDBMS对比

image.png

3.BSON在MongoDB中的使用

BSON(Binary JSON)是一种类JSON的一种二进制形式的存储格式。它和JSON一样,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,如Date和Binary Data类型。BSON可以做为网络数据交换的一种存储形式,是一种schema-less的存储形式,它的优点是灵活性高,但它的缺点是空间利用率不佳。
MongoDB使用了BSON这种结构来存储数据和网络数据交换。把这种格式转化成一文档这个概念(Document),这里的一个Document也可以理解成关系数据库中的一条记录(Record),只是这里的Document的变化更丰富一些,如Document可以嵌套。
MongoDB中Document 中可以出现的数据类型:
image.png
特殊数据类型File:

  • 二进制转码小于16M,用Base64存储
  • 二进制转码大于16M,用GridFS存储

    GridFS 用两个集合来存储一个文件:fs.files与 fs.chunk

举例:真正存储需要使用mongofiles --db your_database_name put /path/to/your/large/file

4.何时使用MongoDB?

image.png
行业具体应用场景:

  • 游戏场景,使用 MongoDB 存储游戏用户信息,用户的装备、积分等直接以内嵌文档的形式存储,方便查询、更新。
  • 物流场景,使用 MongoDB 存储订单信息,订单状态在运送过程中会不断更新,以 MongoDB 内嵌数组的形式来存储,一次查询就能将订单所有的变更读取出来。
  • 社交场景,使用 MongoDB 存储存储用户信息,以及用户发表的朋友圈信息,通过地理位置索引实现附近的人、地点等功能。
  • 物联网场景,使用 MongoDB 存储所有接入的智能设备信息,以及设备汇报的日志信息,并对这些信息进行多维度的分析。
  • 直播,使用 MongoDB 存储用户信息、礼物信息等。
文章来自个人专栏
后端研发
13 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0