*前言:前几天接触了MongoDB,有些好奇,它是做什么用的,经过查资料,百度什么的,总结了这篇文章。
1,MongoDB是一个基于分布式文件存储的数据库:
MongoDB是一个介于关系数据库非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
2,MongoDB 没有结构化语言。模式自由(schema-free),意味着对于存储在mongodb数据库中的文件,我们不需要知道它的任何结构定义。如果需要的话,你完全可以把不同结构的文件存储在同一个数据库里。就比如说,如果你想创建一个新的文档类型,你不用做任何事来告诉数据库关于这些数据的结构,而仅仅是存到数据库中即可。
MongoDB 是用C++开发的面向文档的数据库,也就是反传统的数据库范式来设计的,把相关的对象都记录到一个文档里,每个文档内是schema-free的。数据以BSON(类似JSON)的格式二进制存储。不好的地方就是可能带来一定的数据冗余和存储开销。
3,不像其他很多NoSQL产品由个别工程师根据应用场景开发出来的,MongoDB是有一个专门的公司 10gen 来维护。有一点要注意的是,MongoDB自己是不管理内存的,无法指定内存大小,完全交给操作系统来管理,因此有时候是不可控的,在生产环境使用必须在OS层面监控内存使用情况。
4,它具有强大的主流开发语言支持,如C#、C++、Java、PHP、Perl、Python、Ruby。
以上就是一些小的认识,在以后的学习过程中还会再接触,先了解到这里。关于如何配置MongoDB,可以看这篇文章:配置MongoDB
感谢您的阅读~