`
hubert_bubert
  • 浏览: 1032 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MongoDB局限与不足

阅读更多

 

源自:http://blog.nosqlfan.com/html/3166.html

本文来源于对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还存在很多问题,所谓的水平扩展也不是那么理想

列举了一些在这里,相信还有很多在应用中不那么顺手的地方,如果您有补充的意见,欢迎在留言中提出与大家交流。

 

分享到:
评论

相关推荐

    MongoDB简介与实践.pdf

    与关系型数据库不同的是,MongoDB支持文档级别的更新操作(in-place update),以及自动的分片(Auto-sharding)和MapReduce计算模式。 8. MongoDB数据模型: MongoDB使用的是集合(Collection)作为存储数据的容器...

    MongoDB简介与实践

    ### MongoDB简介与实践 #### MongoDB概述 MongoDB是一款先进的、基于分布式文件存储的数据库系统,其核心编程语言为C++。这款数据库系统的设计初衷是为了满足Web应用对高性能、可扩展数据存储方案的需求。MongoDB...

    深入云计算(MongoDB管理与开发实战详解--学习笔记

    MongoDB 是一种流行的开源...总之,MongoDB作为NoSQL数据库的代表,通过其独特的文档存储、高并发处理能力和水平扩展特性,解决了传统关系型数据库在大数据时代的局限性,为开发者提供了更高效、更灵活的数据管理方案。

    mongodb3.2.4说明文档

    MongoDB 是一种基于分布式文件存储的开源文档型数据库系统,设计初衷是为了解决传统关系型数据库在处理大规模非结构化数据时存在的局限性。与传统的表格型数据存储方式不同,MongoDB 中的数据是以 BSON(Binary JSON...

    MongoDB北京2014 - MongoDB在快的打车关键业务中的应用 - 欧阳康

    ### MongoDB在北京2014大会中的应用案例——快的打车 #### 一、快的打车业务背景 ...通过对这些实践案例的学习和总结,我们可以更好地理解MongoDB的优势与不足,为未来的项目选择合适的数据库提供参考。

    MongoDB管理与开发精要.pdf

    ### MongoDB管理与开发精要知识点概述 #### 一、MongoDB简介及背景 - **NoSQL简介**: NoSQL(Not Only SQL)是一种非关系型数据库技术,它与传统的SQL(Structured Query Language)数据库不同,主要设计用于大...

    mongodb入门到精通

    根据提供的文件内容,我们将详细探讨MongoDB相关的知识点,并围绕NoSQL数据库的特点和优势,以及分布式系统理论中的CAP定理和ACID与BASE模型。 首先,MongoDB是一种流行的NoSQL数据库,它以文档的形式存储数据,与...

    MongoDBTest.

    MongoDB是一种流行的开源文档数据库系统,它属于NoSQL数据库类别,以其灵活性、可扩展性和高...通过“MongoDBTest”,我们可以深入理解MongoDB在实际应用中的优势和局限性,并根据测试结果做出明智的数据库选择决策。

    MongoDB 分享文档

    **NoSQL 数据库**:NoSQL 指的是“Not Only SQL”,强调不仅仅局限于 SQL 语言的传统关系型数据库。MongoDB 属于 NoSQL 数据库的一种,特别适用于处理大规模数据集,特别是在分布式环境中。 #### 二、MongoDB 和...

    mongodb教程

    MongoDB的出现,是为了解决传统关系型数据库在处理海量数据、非结构化数据及高并发访问时的局限性。接下来,我们将详细介绍MongoDB的特点、安装方法、基本操作以及NoSQL的背景知识。 首先,MongoDB是用C++语言编写...

    MongoDB与大数据.pdf

    MongoDB与大数据的结合,让我们看到了如何利用NoSQL数据库来处理和分析海量数据,提升数据处理的效率和性能。随着技术的发展,MongoDB在大数据领域扮演的角色将会越来越重要。在云计算的大背景下,MongoDB的部署和...

    10天掌握MongoDB清晰版.pdf

    MongoDB是一个高性能、开源、无模式的文档导向数据库,被广泛用于大数据存储与管理,以及在新型Web、移动和内容管理应用中的数据处理。它属于NoSQL数据库的一种,NoSQL是指非关系型数据库,它与传统的SQL数据库不同...

    MongoDB 收费前版本

    提供的压缩包子文件“Windows7-USB-DVD-tool.exe”可能是一个用于制作Windows 7安装USB的工具,与MongoDB本身无关,但在安装MongoDB时,如果你需要在Windows 7环境下部署,这样的工具可以帮助将安装文件复制到可引导...

    MySQL与MongoDB多文档事务支持对比分析.docx

    5. **局限性和限制条件**: - MongoDB的多文档事务仅适用于副本集模式,不支持单机模式,也不能在分片集群中直接使用,但计划在4.2版本中引入分布式事务。 - 它仅适用于WiredTiger存储引擎。 - 事务不支持DDL...

    spring-data-mongodb增强工具包,简化 CRUD 操作,提供类mybatis plus的数据库操作体验

    spring-data-mongodb已经对mongodb的操作做了一部分封装,但依然不够,Query Criteria Sort的操作依然有比较大的局限性,而且对于习惯sql操作的人来说,理解其使用法则依然稍显别扭。mongoHelper对spring-data-...

    MongoDB在医院信息化应用中的探讨.rar

    在医院信息化建设中,MongoDB还可以用于实现电子病历管理、医疗影像存储与检索、药品库存管理、预约挂号系统等多个关键模块。比如,电子病历系统可以通过MongoDB实现患者数据的实时更新和跨部门共享,提高医生的工作...

    5.2 MongoDB的三种集群模式1

    2) **备份与容灾**:从节点可以作为备份,当主节点出现问题时,可以手动切换为新的主节点,以保证服务的连续性。 然而,主从集群也存在一些局限性: 1) **无自动故障转移**:主节点发生故障时,从节点不能自动升级...

Global site tag (gtag.js) - Google Analytics