Значок и логотип для группы HDF | |
Расширение имени файла | .hdf , .h4 , .hdf4 , .he2 , .h5 , .hdf5 , . he5 |
---|---|
Магическое число | \ 211HDF \ r \ n \ 032 \ n |
Разработано | The HDF Group |
Последний выпуск | 5-1.10.7. ( 16 сентября 2020 г.; 44 дня назад (2020-09-16) |
Тип формата | Формат научных данных |
Открытый формат ? | Да |
Веб-сайт | www.hdfgroup.org |
Формат иерархических данных (HDF ) - это набор форматов файлов (HDF4, HDF5 ), предназначенный для хранения и организовать большие объемы данных. Первоначально разработанный в Национальном центре приложений для суперкомпьютеров, он поддерживается HDF Group, некоммерческой корпорацией, миссия которой состоит в обеспечении непрерывного развития технологий HDF5 и постоянной доступности данных, хранящихся в HDF.
В соответствии с этой целью библиотеки HDF и связанные с ними инструменты доступны по либеральной, BSD-подобной лицензии для общего использования. HDF поддерживается многими коммерческими и некоммерческими программными платформами и языками программирования. Свободно доступный дистрибутив HDF состоит из библиотеки, утилит командной строки, исходного кода набора тестов, интерфейса Java и средства просмотра HDF на основе Java (HDFView).
Текущая версия HDF5 значительно отличается по дизайну и API из основной устаревшей версии HDF4.
Поиск портативного формата научных данных, первоначально называвшегося AEHOO (Всеохватывающий иерархический объектно-ориентированный формат), начался в 1987 г. Целевой группой по основам графики (GFTF) Национального центра суперкомпьютерных приложений (NCSA). Гранты NSF, полученные в 1990 и 1992 годах, были важны для проекта. Примерно в это же время НАСА исследовало 15 различных форматов файлов для использования в проекте системы наблюдения за Землей (EOS). После двухлетнего обзора HDF был выбран в качестве стандартной системы данных и информации.
HDF4 - это более старая версия формата, хотя все еще активно поддерживается HDF Group. Он поддерживает множество различных моделей данных, включая многомерные массивы, растровые изображения и таблицы. Каждый определяет конкретный агрегированный тип данных и предоставляет API для чтения, записи и организации данных и метаданных. Разработчики или пользователи HDF могут добавлять новые модели данных.
HDF является самоописывающимся, что позволяет приложению интерпретировать структуру и содержимое файла без внешней информации. Один файл HDF может содержать набор связанных объектов, к которым можно получить доступ как к группе или как к отдельным объектам. Пользователи могут создавать свои собственные группирующие структуры, называемые «vgroups».
Формат HDF4 имеет множество ограничений. В нем отсутствует четкая объектная модель, что затрудняет дальнейшую поддержку и улучшение. Поддержка множества различных стилей интерфейса (изображений, таблиц, массивов) приводит к сложному API. Поддержка метаданных зависит от того, какой интерфейс используется; Объекты SD (научный набор данных) поддерживают произвольные именованные атрибуты, тогда как другие типы поддерживают только предопределенные метаданные. Возможно, наиболее важно то, что использование 32-битных целых чисел со знаком для адресации ограничивает файлы HDF4 максимальным размером 2 ГБ, что неприемлемо во многих современных научных приложениях.
Формат HDF5 разработан для устранения некоторых ограничений библиотеки HDF4, а также для удовлетворения текущих и ожидаемых требований современных систем и приложений. В 2002 г. он выиграл премию.
HDF5 упрощает файловую структуру и включает только два основных типа объектов:
Пример структуры HDFЭто приводит к действительно иерархическому формату данных, подобному файловой системе. Фактически, к ресурсам в файле HDF5 можно получить доступ, используя POSIX -подобный синтаксис / путь / к / ресурсу. Метаданные хранятся в виде определенных пользователем именованных атрибутов, прикрепленных к группам и наборам данных. Затем можно создать более сложные API-интерфейсы хранилища, представляющие изображения и таблицы, с использованием наборов данных, групп и атрибутов.
В дополнение к этим усовершенствованиям в формате файлов, HDF5 включает улучшенную систему типов и объекты пространства данных, которые представляют выборки по областям набора данных. API также является объектно-ориентированным в отношении наборов данных, групп, атрибутов, типов, пространств данных и списков свойств.
Последняя версия NetCDF, версия 4, основана на HDF5.
Поскольку он использует B-деревья для индексации объектов таблицы, HDF5 хорошо работает для данных временных рядов, таких как ряды курсов акций, данные сетевого мониторинга и трехмерные метеорологические данные.. Основная часть данных переходит в простые массивы (объекты таблиц), к которым можно получить доступ гораздо быстрее, чем к строкам базы данных SQL, но доступ к B-дереву доступен для данных, не являющихся массивами. Механизм хранения данных HDF5 может быть проще и быстрее, чем схема «звезда» SQL .
Критика HDF5 следует из его монолитной конструкции и длинных спецификаций.
Эта статья основана на материалах, взятых из Free On-line Dictionary of Computing до 1 ноября 2008 г. и включенные в соответствии с условиями «перелицензирования» GFDL, версия 1.3 или более поздняя.