解決方案
階層式資料格式(Hierarchical Data Format)始於 1980 年代的 NCSA,目的是以自描述檔案在不同運算平台之間傳遞科學資料。但到了 1990 年代末,HDF4 已顯現限制:檔案上限為 2GB、資料模型的分類不一致,且沒有真正的平行 I/O。
1998 年 9 月,NCSA 發布了 HDF5 beta:這是一個新的實驗性版本,具備 64 位元位址空間、以資料集、空間、型別、群組與檔案為核心的簡化物件模型,以及使用 MPI-IO 的有效平行 I/O。原始碼可自由取得,而該函式庫的大小約為 HDF4 的三分之一。
HDF5 保留了 HDF 的定義性理念——可攜、自描述,中繼資料隨資料一同傳遞——如今 HDF Group 以 BSD 式授權維護它,作為一套高效能儲存套件,從筆記型電腦到超大規模平行系統皆可運行,並在從天文學、地球科學到基因體學與金融等領域擁有 700 多個 GitHub 專案。
它達成了什麼
重新設計格式,保留自描述理念
為何奏效
自描述檔案意味著資料能跨平台、跨團隊攜帶自身的意義。
64 位元定址與平行 I/O 契合當時正在到來的大科學運算。
開源授權移除了採用的所有障礙。
更簡化的物件模型讓格式更容易實作與擴充。
可借鏡之處
當舊格式觸及極限時,應重新設計模型,而非修補它:更乾淨的物件模型加上開放原始碼,正是讓單一格式得以服務數十年資料的關鍵。
後續發展
HDF5 成為科學運算與產業的固定班底,從天文學、地球科學到基因體學與金融皆然,並以 BSD 式授權維護,擁有龐大的函式庫與工具生態系;該格式持續演進,以因應百億億次級系統與機器學習工作負載。
追溯依據
參考來源
- The HDF5 Library & File Format The HDF Group · hdfgroup.org
- HDF5 - Hierarchical Data Format Beta Announcement LWN.net · lwn.net ·