2011-12-14 55 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提供由磁盤存儲或堆內存支持的併發映射,集合和隊列。輕量級和可破解的。