I've just discovered the HDF5 format and I'm considering using it to store 3D data spread over a cluster of Java application servers. I have found out that there are several implementations available for Java, and would like to know the differences between them:
Java HD5 Interface (JHI5) The Java wrapper from the HDF group itself.
Nujan: Pure Java NetCDF4 and HDF5 writer (cannot read HDF5)
Most importantly, I would like to know:
How much of the native API is covered, any limitations that do not exist in the native API?
If there is support for "Parallel HDF5"?
Once my 3D data is loaded, do I get a "native call overhead" each time I access one element in a 3D array? That is, do the data actually gets turned into Java objects, or stay in "native/JNI memory"?
Is there any know stability problems with a particular implementation, since a crash in native code normally takes the whole JVM down?