mongodb与mysql对比

最近与同事在整一个通用的搜索框架,基于coreseek。主要结构是通过接口导入数据到mongodb,在后台配置搜索参数,由服务程序自动建立搜索服务。这里面用到了mongodb是之前比较少接触的,一直用的都是mysql,网上找了一些资料,对比下两者的区别。

##Mongodb的优点
1,弱一致性,更能保证用户的访问速度(统计不精确)
2,文档结构的存储方式,数据获取更便捷
3,内置GridFS,支持大容量的存储
4,支持自动分片,分布式方便
5,性能优越,带索引的查询与sql差距不大,不带索引的则要快很多。

##Mongodb的缺点:
1,不支持事务操作
2,占用空间大(预分配空间)
3,没有成熟的维护工具
4,mongodb数据一先放到内存,再一次性flush到文件,可能导致瞬间的高负载

MongoDB在数据插入及查询上性能表现优异,MongoDB拥有处理大型数据的能力。
但是数据修改与删除性能较mysql差

##什么情况下用mongodb
需要一个较高的写负载
存储大量低价值的业务数据
未来会有很大的数据规模
使用基于位置 的数据查询
非结构化的数据多