本文共 757 字,大约阅读时间需要 2 分钟。
它是一个内存数据库,数据都是放在内存里面的。
对数据的操作大部分都在内存中,但mongodb并不是单纯的内存数据库。
持久化方式:
mongodb的所有数据实际上是存放在硬盘的,所有要操作的数据通过mmap的方式映射到内存某个区域内。
然后,mongodb就在这块区域里面进行数据修改,避免了零碎的硬盘操作。
至于mmap上的内容flush到硬盘就是操作系统的事情了,所以,如果,mongodb在内存中修改了数据后,mmap数据flush到硬盘之前,系统宕机了,数据就会丢失。
定义一个名为mongoCustomConversions的bean,实现Document和实体类的转换。
常见应用场景:
1. 存log,因为mongodb本身存的就是json,可以很方便的接入各种存储日志的地方。然后可以做成相关监控报表,比如说APM,NPM等,比如说千寻位置
2. 其他的话要看所在的行业了,不同的行业有不同的用法,比如说信息的展示等等
3. 在网游界,MongoDB也非常流行,比如说最近大火的阴阳师,数据库用的就是MongoDB
大数据方面,MongoDB有以下三个优势:
1. 自带sharding,快速得水平扩展,为存储海量数据带来便捷
2. 官方提供驱动,可以直接对接hadoop或者spark
(1)Mongodb的不足之处
1、在集群分片中的数据分布不均匀 2、单机可靠性比较差 3、大数据量持续插入,写入性能有较大波动 4、磁盘空间占用比较大 (2)Mongodb的过人之处1、无模式 2、查询与索引方式灵活,是最像SQL的Nosql 3、支持复制集、主备、互为主备、自动分片等特性转载地址:http://clbii.baihongyu.com/