2011-12-14 65 views
9

是否有一个基于文件系统的键值存储的高效Java实现,具有以下特点:Java的基于磁盘的键值存储

  1. 商店,覆盖,并通过一个唯一的ID检索字节数组(可以由存储分配)
  2. 没有内存缓存(读取文件系统读取部件,写入部件写入立即文件系统)
  3. 总数据大小达到几个TB
  4. 存储对象的数量多达数百百万
  5. 文件系统对象(移动/复制/删除文件系统级别的整个存储)的管理数量

威尔的Berkeley DB JE呢?

+0

为什么厌恶许多文件系统对象?如果你放弃这个要求,这很容易管理。 或者你可能只是使用SQLITE – wowest 2011-12-14 21:15:21

+0

我当然不会指望SQLite能很好地扩展到“几TB”。 – Gray 2011-12-14 21:28:27

回答

3

只需使用您选择的文件系统格式化专用分区?文件系统将符合要求1-4,通过移动/复制或删除该分区可满足要求5。

1

我建议MapDB,MapDB提供由磁盘存储或堆内存支持的并发映射,集合和队列。轻量级和可破解的。