以下是 MongoDB 的详细介绍,涵盖核心概念、使用场景、优势与操作示例:
一、MongoDB 简介
MongoDB 是一个开源的 文档型 NoSQL 数据库,采用灵活的 JSON-like(BSON)格式存储数据,适合处理非结构化或半结构化数据。
- 核心特点:
- Schema-free:无需预定义表结构,字段可动态扩展。
- 分布式架构:支持水平扩展(分片)和高可用性(副本集)。
- 高性能读写:内存映射和索引优化提升吞吐量。
二、核心概念与术语
概念 | 说明 |
---|---|
Database | 数据库容器(类似 MySQL 的 Database)。 |
Collection | 类似表(Table),但无需固定结构。 |
Document | 数据存储单元,格式为 BSON(Binary JSON),如 {name: "Alice", age: 30} 。 |
Index | 支持多种索引(单字段、复合、全文、地理空间等)。 |
Replica Set | 副本集(主从复制),提供数据冗余和自动故障转移。 |
Sharding | 分片技术,将数据分布到多个节点以实现水平扩展。 |
三、MongoDB 的优势
1. 灵活的数据模型
- 动态 Schema 支持快速迭代,适合需求多变的业务场景(如社交网络、实时分析)。
- 嵌套文档和数组可直接存储复杂对象,无需多表关联。
2. 水平扩展能力
- 通过分片(Sharding)自动分配数据到多个服务器,支持 PB 级数据存储。
- 副本集(Replica Set)确保高可用性和数据冗余。
3. 高性能
- 内存映射文件加速数据访问,适合高频读写场景(如 IoT 设备日志)。
- 聚合管道(Aggregation Pipeline)支持复杂的数据处理。 <