MongoDB 是一个开源的文档型数据库,它有着高性能,高可用性和自动扩展的优点。
文档型数据库(Document Database)
在 MongoDB 中的一条记录就是一个以多个键值对形式的数据结构组成的一个文档。 MongoDB 中的文档类似于数个 JSON 对象。其中键所对应的值也可能包含其它的文档、数组或者数组文档。
{
name: "sue", <---- field:value
age: "26", <---- field:value
status: "A", <---- field:value
groups: [ "news", "sports"] <---- field:value
}
使用文档的优势体现在:
- 文档(也就是对象)对应于许多编程语言中的本地数据类型;
- 在嵌入文档和数组方面减少了高成本的耗费;
- 动态的模式支持流畅的数据多样性
主要特性
高性能
MongoDB 提供了高性能的数据持久化。尤其是,
- 在嵌入数据模型时对减少数据系统 I/O 活动的支持;
- Indexes 支持更快的查询,并且可以包含嵌入的文档和数组中的键。
丰富的查询语言
MongoDB 为读写操作(CRUD)提供了丰富的查询语言,比如:
高效性
MongoDB 的同步复制功能,也称为 replica set 复制集,提供如下功能:
- 自动故障转移
- 数据冗余
一个复制集 replica set 就是一组维护相同数据集的 MongoDB 服务器,它提供了冗余度并提高了数据可用性。
Horizontal Scalability 水平可扩展性
MongoDB 的水平扩展性是它提供的一项核心功能:
- 分片 Sharding功能将数据分布到一个计算机集群中;
- MongoDB 3.4 基于shard key 片键创建了数个数据区 zones of data. 在均衡的集群下,MongoDB 只会对每个有分片嵌入的区进行读写操作。查看 Zones 获
取更多的信息。
支持多种数据存储引擎
MongoDB 支持多种数据引擎,比如:
另外,MongoDB 提供了可插拔式的数据存储引擎 API,它允许第三方为 MongoDB 继续开发存储引擎。
时间: 2024-10-08 06:25:05