Introduction to MongoDB
On this page
MongoDB 是一个具备高性能、高可用性、自动扩展的开源文档数据库。
文档数据库
一条记录在MongoDB中是一个数据结构为field 和value 对的文档。MongoDB 文档类似于jSON对象。values可能是其他文档、 数组、文档数组。
使用文档的优势:
- 文档 (例如 objects) 和很多编程语言自带数据类型一致.
- 内嵌文档和数组减少了昂贵joins的需求.
- 动态的设计模式支持流畅的多态性.
主要特色
高性能
MongoDB 提供高性能的数据持久化. 特别是,
- 数据库系统提供内嵌数据模式来减少 I/O 操作.
- 支撑索引使查询更快,而且 内嵌文档和数组中的keys也可以创建索引.
丰富的查询语言
MongoDB 支撑丰富的查询语言进行read and write operations (CRUD) ,还有:
- Data Aggregation 数据聚合
- Text Search全文检索 and Geospatial Queries. 地理位置查询
高可用性
MongoDB的复制设备叫副本集 replica set, 提供:
- 自动故障恢复
- 数据冗余.
replica set 是一组维护相同数据集的MongoDB服务 , 保障冗余和不断增长的数据的可用性.
水平扩展能力
MongoDB 提供水平扩展能力作为他的核心功能:
支持多种存储引擎
MongoDB 支持多种存储引擎multiple storage engines, 例如:
另外, MongoDB 提供插件式存储引擎API,允许第三方可发 MongoDB存储引擎.