MongoDB 简介

简介: MongoDB 是一款开源、高性能、无模式的文档型 NoSQL 数据库,采用 BSON 文档存储数据,支持灵活的数据结构,适用于社交、游戏、物流、物联网等多种场景。具备高性能、高可用、高扩展及丰富查询能力,适合需快速迭代、大规模数据存储与高并发读写的应用。

MongoDB 是一个开源、高性能、无模式的文档型数据库,是 NoSQL 数据库产品中的一种,被设计用于简化开发和方便扩展。它以 BSON(Binary-JSON)文档的格式存储数据,支持的数据结构非常松散,类似于 JSON,既可以存储复杂数据类型,又具有很高的灵活性。​
体系结构​
​
屏幕截图 2025-08-30 195710.png

image.png

​
数据模型​
MongoDB 的最小存储单位是文档对象,文档对象对应于关系型数据库的行。BSON 是一种类 JSON 的二进制形式存储格式,支持内嵌的文档对象和数组对象,还包含一些 JSON 没有的数据类型,如 Date 和 BinData 类型。BSON 具有轻量性、可遍历性、高效性的特点,但空间利用率不太理想。​
特点​
高性能:支持嵌入式数据模型,减少 I/O 活动,索引支持更快的查询,还支持多种存储引擎,如 wiredtiger、in - memory 等,以满足各种场景需求。​
高可用性:通过副本集提供自动故障转移和数据冗余,确保数据的高可用性。​
高扩展性:分片将数据分布在一组集群的机器上,从 3.4 开始,支持基于片键创建数据区域,实现水平可扩展性。​
丰富的查询支持:支持丰富的查询语言,包括 CRUD 操作、数据聚合、文本搜索和地理空间查询等。​
应用场景​
社交场景:存储用户信息、朋友圈信息等,可通过地理位置索引实现附近的人、地点等功能。​
游戏场景:存储游戏用户信息、装备、积分等,以内嵌文档的形式存储,方便查询和更新。​
物流场景:存储订单信息,订单状态的变更以嵌入数组的形式存储,一次查询就能读取所有变更。​
物联网场景:存储智能设备信息和设备汇报的日志信息,并进行多维度分析,可通过分片集群实例实现性能和存储空间的无限扩展。​
视频直播:存储用户信息、点赞互动信息等。​
MongoDB 的适用情况​
应用不需要事务及复杂 join 支持。​
新应用,需求会变,数据模型无法确定,想快速迭代开发。​
应用需要 2000 - 3000 以上的读写 QPS。​
应用需要 TB 甚至 PB 级别数据存储。​
应用发展迅速,需要能快速水平扩展。​
应用要求存储的数据不丢失。​
应用需要 99.999% 高可用。​
应用需要大量的地理位置查询、文本查询。

相关文章
|
JavaScript
JS自动生成速记符、拼音简写/拼音的声母(例如:“你挚爱的强哥”转换为“NZADQG”)。提取首字母,返回大写形式;提取拼音, 返回首字母大写形式(全拼)。
JS自动生成速记符、拼音简写/拼音的声母(例如:“你挚爱的强哥”转换为“NZADQG”)。提取首字母,返回大写形式;提取拼音, 返回首字母大写形式(全拼)。
29091 0
|
Linux Shell
linux 下安装minio并配置
现在我们去服务器,我们启动时指定的目录去看看,文件桶相当于文件目录,这里没有使用纠删码的模式,所以直接就是源文件了。当我们线上运行的项目已经有源文件了,在使用minio的时候,可以直接指定该目录为minio的文件目录就行了。
|
7月前
|
达摩院 物联网 Swift
大模型微调开源框架推荐
LLaMA-Factory(零代码WebUI,支持100+模型)、PEFT(Hugging Face官方高效微调库)、Axolotl(YAML配置驱动)、Unsloth(提速2–5倍、省显存80%)、DeepSpeed(微软大规模分布式训练)、Swift(达摩院出品,国产模型友好)。按需选型,覆盖全场景。
1699 0
|
存储 JSON NoSQL
学习 MongoDB:打开强大的数据库技术大门
MongoDB 是一个基于分布式文件存储的文档数据库,由 C++ 编写,旨在为 Web 应用提供可扩展的高性能数据存储解决方案。它与 MySQL 类似,但使用文档结构而非表结构。核心概念包括:数据库(Database)、集合(Collection)、文档(Document)和字段(Field)。MongoDB 使用 BSON 格式存储数据,支持多种数据类型,如字符串、整数、数组等,并通过二进制编码实现高效存储和传输。BSON 文档结构类似 JSON,但更紧凑,适合网络传输。
749 15
|
11月前
|
搜索推荐 算法 UED
15 | 最近邻检索(上):如何用局部敏感哈希快速过滤相似文章?
在搜索引擎与推荐系统中,相似文章去重至关重要。通过向量空间模型将文档转化为高维向量,利用SimHash等局部敏感哈希技术生成紧凑指纹,结合海明距离与抽屉原理分段索引,可高效检索近似重复内容,在百亿网页中快速过滤雷同结果,提升用户体验。该方法适用于文本、图像等多种对象的相似性检测。
|
11月前
|
小程序 机器人 开发工具
飞书文档自动更新到百炼知识库
计算巢AppFlow支持定时自动同步飞书文档至百炼知识库,实现RAG检索。通过创建飞书应用、配置权限与凭证,结合AppFlow流程模板,可高效完成知识库自动化更新,大幅降低人工维护成本。
1515 4
|
11月前
|
云安全 运维 安全
政务云安全合规建设
政务云安全合规建设是数字政府的基石,需以等保2.0、密码法为遵循,构建专有云架构、数据分类分级防护、全链路审计、两地三中心容灾及国产化运维体系,实现全链条安全可控。通过等保测评验收,确保合规落地,助力数字政府安全发展。(238字)
923 0
|
11月前
|
数据处理
Dataphin功能Tips系列(82)「Dataphin标签管理」:让数据资产分类与检索更高效、更智能
Dataphin通过标签化管理优化数据资产组织,支持按业务、地域、时间等多维度灵活打标,提升“门店销售表”等数据的检索效率与使用便捷性,实现精准高效的资产管理。
305 0
|
缓存 API
全球最新地震信息免费API接口教程
该接口提供全球最新地震信息,数据源自中国地震台网,每5分钟更新一次。支持POST/GET请求,需提供用户ID和KEY。返回数据包括地震等级、时间、经纬度、深度及位置等详细信息。示例请求和响应详见文档。
3531 4
|
Java
ETL工具 Kettle 中 kettle循环传递变量_(最简单的方法)
本文详细介绍了如何在Kettle工具中使用循环传递变量,通过示例展示了如何将movies表数据按月插入到ods_movies表,涉及新建转换、获取变量、作业配置和执行,呈现了一个嵌套作业结构.
3443 3