HDF

历史

在1987年由美国国家超级计算应用中心（NCSA）的图形基础任务攻坚组（GFTF）着手创建一种架构无关的软件库和文件格式，致力于满足在NCSA当时使用的多种不同计算平台之间移动科学数据的需要。额外的目标还包括有效的存储和访问大对象的能力，在一个容器内存储不同类型的众多对象的能力，增长格式来容纳新类型的对象和对象元数据的能力，用C和Fortran二者的程序访问存储数据的能力。最初称为AEHOO（全包容层级面向对象格式），新软件和文件格式最终叫做层级数据格式（HDF）。HDF的设计组合了来自很多不同格式的想法，包括TIFF、CGM、FITS和Macintosh PICT格式。这个计划在1990年和1992年收到了美国国家科学基金会（NSF）的至关重要的拨款。大约1990年代早期美国国家航空航天局（NASA）研究了用在地球观测系统（EOS）计划中的15种不同文件格式。在两年评述过程之后，HDF被选择为EOS数据和信息系统的标准格式。
1996年美国能源部的劳伦斯利弗摩尔、洛斯阿拉莫斯和桑迪亚国家实验室与NCSA抽调人员成立了数据建模和格式（DMF）小组，研究满足高级模拟和计算规划（ASC）需要的并行I/O能力的文件格式。在NASA的额外支持下，三实验室与NCSA联合开发了第一版的HDF5并于1998年发行。在2003年，R&D杂志评选HDF5为“2002年一百个技术上最重要的新产品之一”。

HDF4

HDF4是这个格式的较老版本，它支持可增殖的不同数据模型，包括了多维数组、光栅图像和表格。每种都定义了特定的聚集数据类型，并提供一个API用来读取、写入、组织数据和元数据。HDF开发者和用户可以增加新数据模型。
HDF是自描述的，允许应用程序解释文件的结构和内容而不需要外部信息。一个HDF文件可以持有混合的有关联的对象，它们可以作为一个群组或作为个别对象来访问。用户可以创建自己的叫做“vgroups”的群组结构。
HDF4格式有很多限制。它缺乏清晰的对象模型，这导致持难于持续支持和改进。支持多种不同的接口风格（图像、表格、数组）导致了复杂的API。对元数据的支持依赖于使用的是哪个接口；SD（科学数据集）对象支持任意命名属性，而其他类型只支持预定义的元数据。可能最重要的是，使用32-bit位有符号整数寻址限制了HDF4文件大小极大为2GB，这在很多现代科学应用中是不可接受的。它仍被HDF Group活跃支持着，可见于其支持页面。