1

MongoDB 是一个提供了高性能、高可用、自动扩展的开源的文档数据库。

文档数据库

在MongoDB中,一条纪录就是一个文档,它是由字段和值对组成的数据结构。MongoDB的文档类似于 JSON 对象。字段值可以包含其他文档、数组、和文档数组。
图片描述
使用文档的优势是:

  • 文档(例如对象)对应许多编程语言的默认数据类型。

  • 嵌入文档和数组减少了昂贵的 join 操作的需求。

  • 动态模式支持流畅多态性。

主要特征

高性能

MongoDB中提供高性能的数据持久化。 尤其是:

  • 在数据库系统中,对于嵌入式数据模型的支持减少了 I/O 活动。

  • 索引支持更快的查询,可以从内嵌文档和数组中包含Key。

丰富的查询语言

MongoDB支持丰富的查询语言,支持读写操作(CURD),例如:

  • 数据聚合

  • 文本检索和地理空间查询

高可用

MongoDB 的复制功能,被成为副本集。它提供:

  • 自动故障转移

  • 数据冗余
    副本集是一组MongoDB服务器,保持相同的数据集,提供冗余和提高数据可用性的。

横向扩展

MongoDB提供水平可伸缩性的核心功能:

  • 分片将数据分布到集群的机器

  • 标记清楚分片允许数据引导到特定的分片,如考虑地理分布的碎片

支持多种存储引擎

MongoDB支持多个存储引擎,如:

  • WiredTiger存储引擎

  • MMAPv1存储引擎
    此外,MongoDB提供可插拔存储引擎API,允许第三方制定MongoDB的存储引擎。

下一章:https://segmentfault.com/a/11...
本文来源:https://docs.mongodb.com/manu...


魔王卷子
940 声望33 粉丝

PHP程序员,专注于后端!