Is there an efficient Java implementation of a filesystem-based key-value storage with the following features:
- Store, overwrite, and retrieve byte arrays by a unique ID (may be assigned by the storage)
- No memory caching (read means read from file system, write means write to file system immediately)
- Total data size up to few terabytes
- Number of stored objects up to hundreds of millions
- Manageable number of file system objects (to move/copy/delete entire storage on file system level)
Will Berkeley DB JE do?