`
hubert_bubert
  • 浏览: 984 次
  • 性别: 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还存在很多问题,所谓的水平扩展也不是那么理想

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

 

分享到:
评论

相关推荐

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

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

    Mongodb语法使用说明(含详细示例)

    此外,文章还强调了使用SQL语法操作MongoDB的注意事项和局限性。尽管这种方法在某些场景下非常有用,但它并不能完全替代MongoDB的原生查询语言。因此,开发者在使用时应根据具体需求选择合适的方法,并结合MongoDB的...

    mongery:将MongoDB查询转换为PostgreSQL JSON的Arel AST

    当前,Mongery支持与PostgreSQL 9.3一起使用的有限查询集。 除非您为要查询的JSON路径手动创建表达式索引,否则大多数JSON数据查询都将以全表扫描结束。 有关受支持的转换,请参见spec目录中的spec文件。 用法 创建...

    mongoplayground:一个简单的沙箱,用于测试和共享MongoDB查询

    Mongo游乐场:一个简单的沙箱,用于测试和共享MongoDB查询。 在线尝试: : 局限性 尺寸限制 这个游乐场有几个限制: 一个数据库不能包含超过10个集合 集合不能包含超过100个文档 查询 当前,游乐场只能运行find()...

    vue2.0+koa2+mongodb实现注册登录

    醍醐灌顶般,刚好学习vue的时候看到有个注册登录的项目,索性我也跟着动手做一个vue项目,引入koa和mongodb,实现客户端(client)提交-服务端(server)接收返回-入数据库全过程。 本项目基于vue-cli搭建,利用...

    MongoDBrowser:在浏览器中浏览您的MongoDB。

    使用Node.js编写并基于Express的基于Web的MongoDB管理界面 -主(稳定)分支 -开发分支 使用方法: git clone 不需要安装npm 节点app.js 默认值: http://localhost:8081 提示:输入或登录(无用户名和密码)...

    mongodb 数据类型(null/字符串/数字/日期/内嵌文档/数组等)

    MongoDB的文档类似于JSON,JSON只是一种简单的表示数据的方式,只包含了6种数据类型(null、布尔、数字、字符串、数组及对象). JSON的数据类型的局限性: 1.无日期类型,对日期型的处理较为繁琐 2.无法区分浮点数和...

    terraform-azurerm-cosmosdb-mongodb:Terraform模块来创建一个天蓝色的cosmosdb帐户

    局限性该模块仅支持用于MongoDB的Cosmos DB API,并且不能禁用EnableMongo功能。用法该示例显示了具有单个数据库的服务器的部署。 module " cosmosdb " { source = " github....

    对关系型数据库局限性的重新思考

    大约五年前Heroku发布 git push heroku master部署平台让你可以轻松的在git上面提交代码并让他工作,CouchDB 和 MongoDB在数据库方面做了样的事情。在你在数据库上工作时你没有必要运行 CREATE TABLE 或 ALTER T

    多多急速蜘蛛(文章及URL高效采集)v1.0中文安装版

    它打破传统软件操作难、速度慢的局限,真正的做到一分钟上手、10分钟精通的地步,采用MongoDB数据库真正能实现分布式高速存储和提取。 主要特点: 分布式极速采集 任务分配至多个客户端,同时运行采集,效率倍增。 ...

    amity:Amity核心和NPM模块

    友情服务器 Amity-基于Web的数据库管理服务器 ...局限性 在1.0版之前,不应将其安装在可公开访问的服务器上。 友善只能出于发展目的而私下使用。 Web界面可用于在MongoDB服务器上执行恶意javascript。 1.0

    基于爬虫的题库自动生成系统Java毕设项目.rar

    本课题的主要目的是设计面向定向网站的网络爬虫程序,同时需要满足不同的性能要求,详细涉及到定向网络爬虫的各个细节与应用环节。 搜索引擎作为一个辅助人们检索信息的工具。但是,这些通用性搜索引擎也存在着一定...

    Nodejs连接mysql并实现增、删、改、查操作的方法详解

    但是mongodb有一些局限性,具体官网上有说。我打算用MySQL,因为多少还有点使用经验。先以研究为主。node-mysql,是目前最火的node下的mysql驱动。初步了用了一下,因为异步回调的这种方式,果然好多坑。 下面这个...

    TypeScript 微软脚本编程语言.rar

    由于JavaScript语言本身的局限性,难以胜任大型项目的开发和维护。因此微软开发了TypeScript ,使得其能够胜任大型项目的开发。 主要功能编辑 播报 TypeScript的作者是安德斯·海尔斯伯格,C#的首席架构师。 [4] 它...

    mongoblock-proof

    在区块链上密封MongoDB文档 作为人类,我们已经习惯了所用技术的局限性,但随着时间的流逝,其中一些局限性变得如此根本。 在1990年代初期,作为数据库管理员,我记得当我意识到数据库文件的内容是纯文本时感到的...

    datasus_node_scrap:Node.js Web搜寻器从http获取信息

    npm install安装MongoDB: sudo apt-get install mongodb如何调试: node-inspectornode --debug-brk crawler.js然后,转到如何运行: node --max-old-space-size=8192 --expose-gc crawler.js局限性: 该脚本按照...

    redis-demo:Redis学习项目,包括1)Redis笔记;2)Jedis的基本使用;3)Spring Data Redis的基本使用(基于SpringBoot)

    1 NoSQL 1.1 需求 高并发读写 海量数据的高效率存储与访问 高可扩展性和高可用性 1.2 产品分类 分类 ...CouchDB, MongoDb Web应用(与Key-Value类似,Value是结构化的,不同的是数据库能够了解Valu

    switcher-ac:Switcher API的帐户控制服务

    这包括: 管理对Switcher API的访问管理计划及其局限性功能可用性可通过GitHub OAuth访问管理资源组态Switcher AC与其他服务集成在一起即可运行。 这就是开始使用Switcher AC所需要的。 MongoDB GitHub OAuth 切换...

    最近很火的分布式数据库 RethinkDB.zip

    RethinkDB的数据流与查询计算引擎无缝整合,并允许你订阅查询结果的变化,而不仅仅是把数据复制过来。这种架构大幅度地减少了搭建实时app所需的时间和精力。除了实时推送架构,RethinkDB 还有许多胜过 MongoDB的地方...

    用于大数据存储和管理的混合数据库系统-研究论文

    这项工作提出了一种混合数据库系统,用于存储和管理称为大数据的各种组件的海量数据,从而将两种模型集成到一个系统中,以消除单个系统的局限性。 该系统是在 MongoDB 中实现的,它是一个 NoSQL 数据库和 SQL。 ...

Global site tag (gtag.js) - Google Analytics