Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mongodb中的最大收藏量是多少_Mongodb_Mongoose - Fatal编程技术网

mongodb中的最大收藏量是多少

mongodb中的最大收藏量是多少,mongodb,mongoose,Mongodb,Mongoose,我想知道mongodb的最大收藏量是多少。 在mongodb限制文档中提到,单个MMAPv1数据库的最大大小为32TB 这意味着收集的最大大小为32TB? 如果我想在一个集合中存储超过32TB的数据,解决方案是什么?正如我将在下面介绍的那样,理论上有一些限制,但即使下限也相当高。正确计算极限并不容易,但数量级应足够 mmapv1 实际的限制取决于一些因素,比如碎片名称的长度等(如果你有几十万个碎片名称,那么这就是总数),但这里是一个实际数据的粗略计算 每个碎片都需要配置数据库中的一些空间,与任何

我想知道mongodb的最大收藏量是多少。 在mongodb限制文档中提到,单个MMAPv1数据库的最大大小为32TB

这意味着收集的最大大小为32TB?
如果我想在一个集合中存储超过32TB的数据,解决方案是什么?

正如我将在下面介绍的那样,理论上有一些限制,但即使下限也相当高。正确计算极限并不容易,但数量级应足够

mmapv1 实际的限制取决于一些因素,比如碎片名称的长度等(如果你有几十万个碎片名称,那么这就是总数),但这里是一个实际数据的粗略计算

每个碎片都需要配置数据库中的一些空间,与任何其他数据库一样,配置数据库在单机或副本集中的空间限制为32TB。在我管理的服务器上,
config.shards
中的条目平均大小为112字节。此外,每个块需要大约250字节的元数据信息。让我们假设最佳块大小接近64MB

每个服务器最多可以有500000个块。500000*250字节等于125MB,表示每个碎片的区块信息。因此,如果我们将所有内容都最大化,则每个碎片的容量为125.000112MB。将32TB除以该值表明,一个集群中最多可以有略低于256000个碎片

每个碎片依次可以保存32TB的数据。256000*32TB为8.19200 EB或8192000 TB。这将是我们的例子的极限

假设是8 EB。到目前为止,这可以很容易地转化为“足够用于所有实际目的”。给你一个印象:美国国会图书馆(就馆藏规模而言,可以说是世界上最大的图书馆之一)拥有的所有数据估计大小约为20TB,包括音频、视频和数字材料。您可以将其放入我们的理论MongoDB集群大约400000次。请注意,这是使用保守值时最大尺寸的下限

线规 好的方面是:WiredTiger存储引擎没有这个限制:数据库大小没有限制(因为可以使用多少数据文件没有限制),所以我们可以有无限数量的碎片。即使这些碎片在mmapv1上运行,并且只有配置服务器在WT上运行,a的大小也几乎是无限的——在64位系统上限制为16.8M TB的RAM可能会在某些地方导致问题,并导致
config.shard
集合的索引被交换到磁盘,从而导致系统暂停。我只能猜测,因为我的计算器拒绝处理那个区域的数字(我太懒了,不想手工处理),但我估计了两位数的yottabyte区域的限制(以及在德克萨斯州大小的某个地方承载该区域所需的空间)

结论
不要担心分片环境中的最大数据大小。不管怎样,这已经足够了,即使采用最保守的方法。使用切分,你就完成了。顺便说一句:即使32TB的数据也非常多:我所知道的大多数集群的数据和碎片都较少,因为IOPS和RAM利用率超过了单个节点的容量。

在开始考虑TB之前,您需要开始碎片化。因此,分片就是答案。因此,如果我们将数据分片到多个节点,则数据不受限制。感谢Markus提供您的信息。