有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java读取/写入/存储非常大的序列数据集

我正在与Java中的大型连续数据集进行交互。理想情况下,我正在搜索一个库,在那里我可以存储流式数据(想想不可变对象的序列),然后在以后跳过保存的数据。数据最终应该存储在磁盘上,而不应该全部存储在内存中。数据将是数学系统的状态——因此主要是数字(双数,甚至大小数)以及一些字符串

目前,这是针对桌面应用程序的,因此一次只有一个用户,可能有几个并发连接(多个对象/状态流)。稍后,我可以考虑在同一数据库后端上的多个客户端的分布式方法和支持。p>

我一直在研究各种NoSQL库,但我不确定什么适合我的需要。有什么想法吗


共 (3) 个答案

  1. # 1 楼答案

    如果您有任何方法来计算要访问的每个对象的偏移量,那么一个简单的java.nio.MappedByteBuffer(相当于mmap)就可以完成这项工作

  2. # 2 楼答案

    只使用二进制文件?如果你的物品大小相等,那就容易了;您可以使用随机访问在文件中跳转。您的操作系统将使用其磁盘缓存免费为您提供缓存。有时人们使用数据库和SQL接口作为golden hammer

  3. # 3 楼答案

    看看OrientDB:因为插入非常快。在我的笔记本上,在6秒内插入1000000条条目。此外,它是Java,可以嵌入到进程中运行