有没有人有足够的经验使用 NetCDF 和 HDF5来给出它们作为存储科学数据的一种方式的优缺点?
我使用过 HDF5,想通过 Java 读/写,但界面本质上是围绕 C 库的一个包装器,这让我感到困惑,所以 NetCDF 看起来很有趣,但我对它几乎一无所知。
编辑: 我的应用程序“仅”用于数据记录,因此我得到一个具有自描述格式的文件。对我来说,重要的特性是能够添加任意的元数据,具有快速的写入访问以添加到字节数组,以及具有单写入器/多读取器并发性(非常喜欢,但不是必须的)。NetCDF 的文档说他们有 SWMR,但没有说他们是否支持任何机制,以确保两个作者不能同时打开同一个文件,导致灾难性的后果)。我喜欢 HDF5的层次结构(特别是我 爱的有向无环图层次结构,比“常规”的类似文件系统的层次结构更加灵活) ,现在正在阅读 NetCDF 文档... 如果它只允许每个文件一个数据集,那么它可能不适合我。:(
Update & mash; 看起来像是 NetCDF-Java从 netCDF-4文件中读取,但只从 netCDF-3文件中写入,这些文件不支持分层组。该死。
更新2009-7-14 : 我开始对 Java 中的 HDF5感到非常失望。可用的库没有那么好,它有一些与 Java 的抽象层(复合数据类型)有关的主要障碍。一个很棒的 C 文件格式,但是看起来我输了。 > :(