Alternativas a hdf5

15

He estado usando HDF5 durante años, pero a medida que aumenta el tamaño del conjunto de datos, estoy empezando a experimentar los mismos problemas enumerados aquí.

http://cyrille.rossant.net/moving-away-hdf5/

¿Me puede indicar un formato como HDF5 con - Buen soporte para escrituras paralelas - Soporte para acceso fragmentado de matrices enormes

Mi caso de uso típico es una matriz entera de 100k x 100k. Me gustaría tenerlo como un archivo completo desde una perspectiva lógica, pero necesito escribirlo trozo a trozo con trabajadores paralelos.

MG
fuente
3
¿Puede explicar qué tipos de conjuntos de datos necesita exportar? Esto puede ser útil para las personas que buscan responder a su pregunta. He considerado HDF5 y netcfd. Pero estos pueden estar más orientados a ciertos conjuntos de datos.
Charles
2
VTK comprimido admite fragmentos. Puede guardar muchos archivos paralelos y combinarlos con el metaarchivo PVD. ¿Cuál es el tamaño de su conjunto de datos?
Krzysztof Bzowski
Después de sus ediciones, el VTK fragmentado no es una buena decisión.
Krzysztof Bzowski
¿Qué terminaste usando?
aidan.plenert.macdonald
@ aidan.penert.macdonald Seguí con hdf5, usando escrituras paralelas con MPI. Pero tuve que abandonar Python
MG

Respuestas:

6

HDF5 es, en cierta medida, un sistema de archivos en sí mismo. Al introducir B-Trees y por la forma en que gestiona los bloques, duplica la funcionalidad de un sistema de archivos. Cuando está ejecutando su código, probablemente lo esté ejecutando en un sistema operativo con un sistema de archivos probado y escalable. Por lo tanto, sugeriría escribir sus datos brutos numéricos en un solo archivo usando acceso a archivos brutos o MPI-IO y escribir los metadatos (endianess, tamaño, atributos, etc.) en un archivo JSON o XML separado. Si tiene múltiples conjuntos de datos, puede organizarlos en un directorio o una jerarquía de directorios. Cuando desee distribuir el conjunto de datos, solo tiene que empaquetarlo en un archivo ZIP.

El único inconveniente es que tienes que lidiar con Endianness tú mismo, lo cual, sin embargo, no es difícil .

Para una inspiración sobre cómo se puede hacer esto, ver Dragly, et. Alabama. "A. Estructura de directorio experimental (Exdir): una alternativa a HDF5 sin introducir un nuevo formato de archivo" Frente. Neuroinform., 2018, 12 .

H. Rittich
fuente