什么是MongoDB
来自CloudWiki
概念
MongoDB是一个数据库。
高性能、无模式、文档型,当前NoSql中比较热门的数据库之一。
Mongo一词来自单词“humongous“。
开源产品,使用C++开发。
历史
2009年10gen团队首度推出。
2022年,现今应用于各个领域,尤其互联网企业中。
特性
基本特性
- 面向集合
- 无模式
- 丰结构化
- 动态查询
- 完整的索引支持
应用特性
- 支持查询监视
- 支持程序驱动广泛
存储特性
- 高效的存储方式
- 自动分片
系统特性
- 复制及自动故障转移
- 横向伸缩性
适用场景和不适用场景
适用场景
网站数据:Mongo非常适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。
缓存:由于性能很高,Mongo也适合作为信息基础设施的缓存层。在系统重启之后,由Mongo搭建的持久化缓存层可以避免下层的数据源 过载。
大尺寸,低价值的数据:使用传统的关系型数据库存储一些数据时可能会比较昂贵,在此之前,很多时候程序员往往会选择传统的文件进行存储。
高伸缩性的场景:Mongo非常适合由数十或数百台服务器组成的数据库。Mongo的路线图中已经包含对MapReduce引擎的内置支持。
用于对象及JSON数据的存储:Mongo的BSON数据格式非常适合文档化格式的存储及查询
不适用场景
高度事务性的系统:例如银行或会计系统。
传统的关系型数据库目前还是更适用于需要大量原子性复杂事务的应用程序。