MongoDB是一个基于分布式文件存储的数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。
Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
选择MongoDB的原因有很多,以下为您列举出几个:
- 处理大数据量的高性能。MongoDB使用了内存资源用作缓存来换取卓越的性能,并且会自动选择速度最快的索引来进行查询。
- 高可扩展性与可用性。MongoDB以文本形式存储json文件,可扩展性极强。
- 动态查询。Mongo支持丰富的查询表达式,查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。
- 自动分片。MongoDB的自动分片功能支持水平的数据库集群,可动态添加额外的机器。
此外,MongoDB还可以处理高并发的数据访问、海量数据的存储与访问、数据库的高可扩展性与可用性等。