MongoDB被称为最像关系型数据库的非关系型数据库,结构非常松散,支持复杂的数据类型,几乎可以实现关系型数据库单表查询的绝大部分功能,另外还支持索引,最新的版本还将增加事物;
MongoDB的主要特点有:
1.面向集合存储,容易存储对象类型的数据,
2.模式自由,采用无结构存储,
3.支持完全索引,
4.查询丰富,可以完成大部分类似sql的查询操作
5.强大的聚合,MapReduce可以完成非常复杂的聚合操作;
6.支持复制和数据恢复,MongoDB支持主从复制,可以实现数据备份,故障恢复,读扩展等功能;
7.使用高效的二进制数据存储;
与redis单纯使用内存不同,MongoDB在工作时同时使用内存和硬盘,其通过mmap映射将内存和硬盘联系在一起;对于速度的比较,理论上redis>mongodb>mysql;对于单表查询,mongodb是要比mysql快很多的;
使用场景
mongodb侧重写入性能,不注重事物的安全,所以使用于数据质量要求不高的场景,
mongodb自身支持很多地理相关的特性,可以方便的用在涉及地理位置的场景,
我在的项目主要使用他来做查询服务器的db,