安装mongodb版本>;3覆盆子皮2

安装mongodb版本>;3覆盆子皮2,mongodb,raspberry-pi,raspbian,Mongodb,Raspberry Pi,Raspbian,是否可以在raspberry pi上安装mongo db版本大于3.2,并在pi上安装RASPBIAN JESSIE LITE 使用本教程,我只成功获得了2.1版 我尝试了很多教程,但不可能找到一个更大版本的工作 因为注释中已经写了,所以您只能使用32位版本 这带来了严重的缺点: 由于WiredTiger不可用,因此可存储的数据小于2Gb(可能要少得多),而MMAPv1由于大量使用内存映射,因此最大文件大小限制为2Gb。它在32位机器上的可寻址空间非常有限 WiredTiger存储引擎不可用

是否可以在raspberry pi上安装mongo db版本大于3.2,并在pi上安装RASPBIAN JESSIE LITE

使用本教程,我只成功获得了2.1版


我尝试了很多教程,但不可能找到一个更大版本的工作

因为注释中已经写了,所以您只能使用32位版本

这带来了严重的缺点:

  • 由于WiredTiger不可用,因此可存储的数据小于2Gb(可能要少得多),而MMAPv1由于大量使用内存映射,因此最大文件大小限制为2Gb。它在32位机器上的可寻址空间非常有限
  • WiredTiger存储引擎不可用。它允许压缩,因此对于有限的资源来说特别有趣
  • MongoDB需要RAM。越多越好。索引需要它,连接非常需要它,内存映射很好地利用了它。好吧,我们只有32位。MongoDB公司决定不为一项即将消亡的技术创造工作区。因此,不要指望这种情况会改变
  • 然而,最大的缺点是日志记录和复制基本上不是Gos,因为Gos进一步限制了您可以存储的数据量。没有日志记录就意味着数据的持久性有限(除非您愿意通过使用相应的写入关注点强制将每次写入的数据同步到磁盘),而缺少复制以及由此导致的故障切换能力的缺乏很可能在Raspi上不太成问题
MongoDB Inc强烈建议不要将32位版本用于测试以外的目的。他们这样做是有充分理由的。就个人而言,我生成的测试数据远远超过了32位版本的限制


因此,是的,这在技术上应该是可行的(即使手头没有软件包:编译MongoDB也不是火箭科学)。这是个好主意吗?嗯,如果你问我的话,没那么多。

我是@user334399提到的博客的作者


只需补充一点,Arch Linux ARM最新版本的MongoDB 3.2.0似乎运行良好。除了默认存储引擎编译为WiredTiger之外,尽管WiredTiger不支持32位。您需要添加参数--storageEngine=mmapv1

MongoDB已移动到64位,因此我认为不可能。感谢您的快速回答,我也看到了这一点,但在MongoDB网站上写着:从MongoDB 3.2开始,32位二进制文件已被弃用,在未来的版本中将不可用。它将有可能安装至少3.2是的,你是对的。。。我用过这个,但不能花时间尝试编译一个不同的版本。也许你可以。。。我使用此链接成功地从源代码Mongo3.0.7编译和安装了mongodb。感谢您在MongoDB 3.0.14中对Docker Image的帮助,并感谢您提供了详细解释的答案。限制很高,但出于测试目的,我使用mongodb,因为我的fontend应用程序是用react编写的,我需要检索JSON文件来呈现包含数据的组件,我认为mongodb最适合于使用mysql,而不是使用类似ORM的sequelize。这是一款聊天应用程序,使用socket io客户端频繁写入数据库并在web浏览器上检索消息。Redis不适合我,因为我不知道会存储多少数据。你会在树莓圆周率上使用什么数据库?在购买迷你PC机之前,我使用raspberry pi测试我的应用程序。不要使用数据库进行集成,而是使用Linux套接字发送基于protocoll缓冲区的消息。回到根上来!如果您不需要DBMS服务器,SQLite工作非常好,而且对资源非常友好。感谢您的建议,我将更详细地了解Linux套接字。对于SQLite,我认为它不处理并发性。所以在聊天应用程序中,我决定将其排除在外。使用与最终产品不同的数据库,您必须重写应用程序并添加更多测试,因此我研究了mongodb的限制,剩下的1Gb大小足以让我进行测试。关于日志记录,我看到mongo要求操作系统刷新内存更改。因此,我将为数据损坏做一些备份。再次感谢您的建议,下次在购买便宜的产品之前,我将检查操作系统/体系结构。@user334399如果只是为了测试目的,应该不会有太大问题。日志记录只是为了数据更改的持久性,这在测试环境中应该不是什么大事。说到这里:VP现在这么便宜,我看不出买金属做测试有什么意义。关于SQLite的并发性:它本身不处理并发性,这是正确的。但是没有人阻止你在操作中使用互斥。再次感谢你的博客真的很有帮助!好了,MongoDB启动v3.2时使用的是SpiderMonkey引擎,而不是V8引擎,所以我有一个问题:对于v3.2+来说,不再需要修补任何源代码了?