Mongdb非关系型数据库,我们经常用的基本都是关系型数据库,比如mysql,oracle等等,这里我们先讲一下关系型数据库和菲关系型数据库各自的一个优势,如下图所示:
之前的项目中用到mongdb的地方主要是存储一些动态信息及图片等等,关系型和非关系型的很大的一个区别就是非关系型数据库没有关系型数据库的字段类型这一限制,存储起来比较方便,而且查询数据比关系型数据库会快上许多,但是mongdb对内存的要求是很大的!因为其使用的是内存映射存储引擎,它会把数据文件映射到内存中,如果是读操作,内存中的数据起到缓存的作用,如果是写操作,内存还可以把随机的写操作转换成顺序的写操作,总之可以大幅度提升性能。MongoDB并不干涉内存管理工作,而是把这些工作留给操作系统的虚拟内存管理器去处理,这样做的好处是简化了MongoDB的工作,但坏处是你没有方法很方便的控制MongoDB占多大内存,幸运的是虚拟内存管理器的存在让我们多数时候并不需要关心这个问题。所以追求查询速度存储图片,视频等等存在非关系型数据库是一个很好的选择,当然有好处跟定也有弊端,非关系型数据库不适合海量数据的持久存储,海量数据的永久存储还是关系型数据库比较好!