Mongo

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

文件数据库

MongoDB中的记录是一个文档,它是由字段和值对组成的数据结构。

MongoDB文档类似于JSON对象。字段的值可以包括其他文档,数组和文档数组。

  • 文档数据库的优点

文档(即对象)对应于许多编程语言中的本机数据类型。

嵌入式文档和数组减少了对昂贵连接的需求。

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

核心特性

高性能

MongoDB提供高性能数据持久性。特别是,

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

索引支持更快的查询,并且可以包含来自嵌入式文档和数组的键。

丰富的查询语言

MongoDB支持丰富的查询语言以支持读写操作(CRUD)以及:

数据聚合

文本搜索和地理空间查询。

高可用性

MongoDB的复制工具称为副本集,它提供:

自动故障转移和

数据冗余。

副本集是一组MongoDB服务器,它们维护相同的数据集,提供冗余并提高数据可用性。

水平可伸缩性

MongoDB提供水平可伸缩性作为其核心功能的一部分:

分片在一组机器上分配数据。

从3.4开始,MongoDB支持基于分片键创建数据区域。在平衡群集中,MongoDB仅将区域覆盖的读取和写入指向区域内的分片。有关更多信息,请参阅Zones手册页。 支持多个存储引擎

MongoDB支持多个存储引擎:

WiredTiger存储引擎(包括对静态加密的支持)

内存存储引擎

MMAPv1存储引擎(在MongoDB 4.0中不推荐使用)

此外,MongoDB提供可插拔存储引擎API,允许第三方为MongoDB开发存储引擎。

SQL 和 mongo 的映射关系

SQL 和 MongoDB 的映射对应关系。

sql-comparison

参考资料

https://docs.mongodb.com/manual/introduction/