HDF5 в некоторой степени является файловой системой. Представляя B-Trees и управляя блоками, он дублирует функциональность файловой системы. Когда вы запускаете свой код, вы, вероятно, запускаете его в операционной системе с проверенной и масштабируемой файловой системой. Следовательно, я бы предложил записать ваши числовые необработанные данные в один файл с использованием необработанного доступа к файлу или MPI-IO и записать метаданные (порядковый номер, размер, атрибуты и т. Д.) В отдельный файл JSON или XML. Если у вас есть несколько наборов данных, вы можете организовать их в каталог или иерархию каталогов. Если вы хотите распространить набор данных, вам просто нужно упаковать его в ZIP-файл.
Единственным недостатком является то, что вам приходится иметь дело с Endianness самостоятельно, что, однако, не сложно .
Для вдохновения о том, как это можно сделать, см. Dragly, et. и др. «А. Экспериментальная структура каталогов (Exdir): альтернатива HDF5 без введения нового формата файлов». Нейроинформ., 2018, 12 .