Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.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
Java Superlight数据库或磁盘上的多值映射,而不是RAM?_Java_Database_Jdbc - Fatal编程技术网

Java Superlight数据库或磁盘上的多值映射,而不是RAM?

Java Superlight数据库或磁盘上的多值映射,而不是RAM?,java,database,jdbc,Java,Database,Jdbc,我必须存储像{long key,long value}这样的对,并且每个键可能有多个值。我需要有效地枚举键并有效地搜索给定键的值 多值映射似乎是一个完美的解决方案,但我将拥有数十亿条记录,因此不可能将它们保存在RAM中 多值映射的最佳文件系统替代品是什么?什么是Java最好的简单但快速的键值数据库?它可能是这些数据库中的一个。顺便说一句,您可以在内存中保留数十亿个16字节的记录。这只是一个钱的问题。花大约1.1万美元,你就可以买到一台内存为192 GB的服务器,足够容纳110亿个条目(不包括索引

我必须存储像
{long key,long value}
这样的对,并且每个键可能有多个值。我需要有效地枚举键并有效地搜索给定键的值

多值映射似乎是一个完美的解决方案,但我将拥有数十亿条记录,因此不可能将它们保存在RAM中


多值映射的最佳文件系统替代品是什么?什么是Java最好的简单但快速的键值数据库?

它可能是这些数据库中的一个。顺便说一句,您可以在内存中保留数十亿个16字节的记录。这只是一个钱的问题。花大约1.1万美元,你就可以买到一台内存为192 GB的服务器,足够容纳110亿个条目(不包括索引),只要价格翻倍,你就可以获得双倍的内存正当如何使JVM与-Xmx192G一起工作?:)使用64位JVM显然,您必须为操作系统留出几GB的空间。我会使用
-mx192g
作为同一选项的较短版本。花费大约4万美元,您可以获得一台512 MB的服务器,花费70万美元,您可以在一台服务器中获得1 TB的主内存。所有这些都不意味着您将很快购买一台新服务器,但我想指出的是,不适合内存并不是一个技术问题。