本节内容
- 文档数据库
- 主要特征
MongoDB 是一个开源的文档型数据库,它具有高性能,高可用,自动容错 的特性。
文档数据库
MongoDB中的一条记录就是一个文档,是一个数据结构,由键值对组成,与Json对象类似。字段的值有可能包括其他文档、数组以及文档数组。
使用文档的优势在于:
- 许多编程语言本身支持文档类型。
- 内嵌文档和使用数组减少了joins操作。
-
动态的设计模式支持流程的多态。
主要特征
1、高性能
MongoDB提供高性能的数据持久化。特别是:
- 支持内嵌的文档模型,减少数据库系统的I/O开销。
- 支持内嵌文档和数组的快查询索引
2、丰富的查询语言
MongoDB支持丰富的查询语言,来支持读写操作(CRUD)如:
- 数据的聚合查询
- 文本检索,地理空间查询
3、高可用性
MongoDB的复制集,提供了:
- 自动故障恢复
- 数据冗余
复制集是一组MongoDB服务器维护的相同数据的集合,使用冗余的方式提高数据的高可用性
4、水平的扩展能力
MongoDB提供水平扩展能力作为它的核心功能之一
- 在集群环境下使用分片技术进行数据分发
- tag aware 分片运行直接将数据引导到特定的分片,例如:考虑分片的地理分布等
5、多个存储引擎的支持
- WiredTiger Storage Engine
- MMAPv1 Storage Engine
另外,MongoDB 支持插件式的存储引擎API,允许第三方组织为MongoDB开发存储引擎