MongoDB的局限性与不足
本文来源于对Quora上一个问答的整理,主要列举了MongoDB身上一些局限的功能及目前做得不够好的地方。其中包括了原本就并非MongoDB想做的部分,也包括了MongoDB想做但没做好的方面。
- 在32位系统上,不支持大于2.5G的数据。详见这里
- 单个文档大小限制为 4 M/16 M(1.8版本后升为16M)
- 锁粒度太粗,MongoDB使用的是一把全局的读写锁,详见这里
- 不支持join操作和事务机制,这个确实是非MongoDB要做的领域
- 对内存要求比较大,至少要保证热数据(索引,数据及系统其它开销)都能装进内存
- 用户权限方面比较弱,这一点MongoDB官方推荐的是将机器部署在安全的内网环境中,尽量不要用权限,详见这里
- MapReduce在单个实例上无法并行,只有采用Auto-Sharding才能并行。这是由JS引擎的限制造成的
- MapReduce的结果无法写入到一个被Sharding的Collection中,2.0版本对这个问题的解决好像也不彻底
- 对于数组型的数据操作不够丰富
- Auto-Sharding还存在很多问题,所谓的水平扩展也不是那么理想
列举了一些在这里,相信还有很多在应用中不那么顺手的地方,如果您有补充的意见,欢迎在留言中提出与大家交流。
42区 VPS
42qu.com 云主机 , 卖给创业的你 。 点击这里 , 查看详情
| anyShare据说看到好文章不转的人,服务器容易宕机! | |
| |



MongoDb 对重要业务性数据存储不够稳重安全,有丢数据的情况。
MongoDB对于海量数据很挫,1亿数据,_id索引40字节左右的URL,尼玛连内存放不下,擦