当前位置: 首页 > 知识库问答 >
问题:

编年史映射可以处理大于内存的数据吗?

孔深
2023-03-14

共有1个答案

皇甫德庸
2023-03-14

答案是这取决于你的操作系统。在Windows上,Chronicle映射必须适合于主内存,但是在Linux和MacOSX上,它没有在主内存中进行修复(不同之处在于内存映射是如何在这些操作系统上实现的)注意:Linux甚至允许映射大于磁盘空间的区域(MacOSX和Windows没有)

因此,在Linux上,您可以在32 GB内存的机器上映射1 TB甚至100 TB。重要的是要记住,您的访问模式和驱动器的选择对性能至关重要。如果您通常访问相同的数据的大部分时间,你有SSD这将会很好的表现。如果您有旋转磁盘和随机访问模式,您将受到驱动器速度的限制。

注意:我们已经对25亿个条目进行了Chronicle Map测试,由于它使用了64位密钥散列,所以它的性能很好。

 类似资料:
  • 什么是实现历史地图的最佳方式,其中值侧是地图或集合? 我需要类似于以下内容的数据结构,我可以使用特定id存储某些数据的多个版本: 或者可能有两张地图: (原子性和序列化性能是我主要关心的问题)方法似乎不适用于标准映射/集实现。

  • 我通常使用创建新的编年史映射,如下所示: 历史记录映射是否支持不同值类实例的存储,如果支持,如何构建该映射?

  • 如果我只有一个内存为25 GB的执行器,并且如果它一次只能运行一个任务,那么是否可以处理(转换和操作)1 TB的数据?如果可以,那么将如何读取它以及中间数据将存储在哪里? 同样对于相同的场景,如果hadoop文件有300个输入拆分,那么RDD中会有300个分区,那么在这种情况下这些分区会在哪里?它会只保留在hadoop磁盘上并且我的单个任务会运行300次吗?

  • 几天前我开始使用chronicle-queue,我正在浏览它的文档。

  • 调用clear方法时,内存似乎减少了。然而,从其他答案来看,似乎< code>clear方法从未收缩过< code>HashMap。那么为什么内存会减少呢?

  • 问题内容: 我用np.save()保存了几个numpy数组,并将它们放在一起非常大。 是否可以将它们全部加载为内存映射文件,然后对它们进行串联和切片,而无需将任何内容都加载到内存中? 问题答案: 使用显然将数组加载到内存中。为避免这种情况,您可以轻松地在新文件中创建一个thrid数组,并从要连接的数组中读取值。以更有效的方式,您还可以将新阵列追加到磁盘上已存在的文件中。 在任何情况下,您都必须为数