Мнения о ПРОТИВ в формате netcdf, HDF5 для хранения научных данных?
У кого-нибудь есть достаточный опыт работы с NetCDF и HDF5, чтобы дать некоторые плюсы/ минусы о них как способ хранения научных данных?
Я использовал HDF5 и хотел бы читать/писать через Java, но интерфейс по сути является оболочкой вокруг библиотек C, которые я нашел запутанными, поэтому NetCDF кажется интригующим, но я почти ничего не знаю об этом.
edit: Мои приложения "только" для регистрации данных, так что я получаю файл, который имеет самоописание формате. Важными функциями для меня являются возможность добавлять произвольные метаданные, иметь быстрый доступ к записи для добавления к байтовым массивам и иметь параллелизм с одним писателем / несколькими читателями (сильно предпочтительный, но не обязательный. Netcdf docs говорят, что у них есть SWMR, но не говорят, поддерживают ли они какой-либо механизм для обеспечения того, чтобы два писателя не могли открыть один и тот же файл сразу с катастрофическими результатами). Мне нравится иерархический аспект HDF5 (в частности I любовь в иерархия направленного ациклического графа, гораздо более гибкая, чем" обычная " иерархия файловой системы), сейчас читаю документы NetCDF... если он позволяет только один набор данных на файл, то он, вероятно, не будет работать для меня. : (
обновление - похоже NetCDF-Java читает из файлов netCDF-4, но только записывает из файлов netCDF-3, которые не поддерживают иерархические группы. штопать.
обновление 2009-Jul-14: Я начинаю очень расстраиваться с HDF5 в Java. Доступная библиотека не так уж велика, и у нее есть некоторые основные камни преткновения, которые имеют отношение к слоям абстракции Java (составные типы данных). Отличный формат файла для C, но похоже, что я просто теряю. >: (
2 ответа:
Я настоятельно рекомендую вам HDF5, а не в формате netcdf. NetCDF плоский, и через некоторое время он становится очень грязным, если вы не можете классифицировать вещи. Конечно, классификация также является предметом обсуждения, но, по крайней мере, у вас есть эта гибкость.
мы провели точную оценку HDF5 против NetCDF, когда я написал Q5Cost, и окончательный результат был для HDF5 руки вниз.
Я должен признать, что использование HDF5 очень легко в долгосрочной перспективе. Нетрудно получить простые структуры данных в формате NetCDF, но манипулировать ими в будущем-это своего рода боль.
"H "в HDF5 означает" heirarchical", что переводится (для меня в любом случае) в очень простой способ манипулировать данными, просто перемещая узлы вокруг и ссылаясь на узлы из других мест.
могу я спросить, что это за проект? Я использую эти b