什么是MongoDB
MongoDB 是一个以JSON为数据模型的文档数据库,文档来自于“JSON Document”,并非我们一般理解的PDF,WORD文档
MongoDB中的记录就是一个文档,它是由键值对组成的数据结构。MongoDB 文档类似于 JSON 对象。字段的值可以包括文档、数组等。
官方文档地址:https://www.mongodb.com/docs/manual/introduction/
MongoDB特点?
高性能
MongoDB 提供高性能的数据持久化,特别是:
- 对嵌入式数据模型的支持减少了数据库系统上的 I/O 活动。
- 索引支持更快的查询,并且可以包含来自嵌入式文档和数组的键。(文本索引解决搜索的需求、TTL索引解决历史数据自动过期的需求、地理位置索引可用于构建各种 O2O 应用)
高可用性
MongoDB的复制工具称为副本集(replica set),它可提供自动故障转移和数据冗余。副本集是一组维护相同数据集的 MongoDB 服务器,提供冗余并提高数据可用性。
高可扩展性
MongoDB 提供水平可伸缩性作为其核心 功能的一部分:
- 分片将数据分布在一组机器上
- 从3.4开始,MongoDB支持基于片键创建数据区域。在一个平衡的集群中,MongoDB将一个区域所覆盖的读写只定向到该区域内的那些
片。
支持多个存储引擎
MongoDB 支持多种存储引擎:
- WiredTiger 存储引擎(包括对静态加密的支持)
- 内存存储引擎。
- MongoDB 也提供了可插拔的存储引擎 API,允许第三方为 MongoDB 开发存储引擎
丰富的查询支持
MongoDB支持丰富的查询语言,支持读和写操作(CRUD),比如数据聚合、文本搜索和地理空间查询等。