gpt4 book ai didi

chronicle - 编年史 map 可以处理大于内存的数据吗?

转载 作者:行者123 更新时间:2023-12-03 23:19:23 46 4
gpt4 key购买 nike

我对堆外内存的工作方式感到有些困惑。我有一台具有 32GB 内存的服务器,以及一个大小约为 1TB 的键值映射数据集。我正在寻找一个简单快速的嵌入式 Java 数据库,它允许我根据这个 1TB 数据集将一个键映射到一个值,这主要是从磁盘读取。这个数据集中的每个条目都很小(<500 字节),所以我认为使用文件系统是低效的。

我想为此使用 Chronicle Map。我读到堆外内存使用量可能超过 ram 大小,并且它以某种方式与文件系统交互,但与此同时,Chronicle Map 被描述为内存数据库。 Chronicle Map 能否为我的服务器处理 1TB 的数据集,或者我只能使用 32GB 或更少的数据集?

最佳答案

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

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

注意:我们已经对 Chronicle Map 测试了 25 亿个条目,并且由于它使用了 64 位 key 散列,因此性能良好。

关于chronicle - 编年史 map 可以处理大于内存的数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41408292/

46 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com