O Hierarchical Data Format começou no NCSA na década de 1980 como uma forma de mover dados científicos entre diferentes plataformas de computação em um arquivo autodescritivo. Mas, no final da década de 1990, o HDF4 tinha limites: arquivos limitados a 2 GB, um modelo de dados com classes inconsistentes e nenhuma E/S paralela real.
Em setembro de 1998, o NCSA lançou o beta do HDF5: uma nova versão experimental com espaço de endereçamento de 64 bits, um modelo de objetos mais simples construído em torno de conjuntos de dados, espaços, tipos, grupos e arquivos, e E/S paralela eficaz usando MPI-IO. O código-fonte estava disponível gratuitamente, e a biblioteca tinha aproximadamente um terço do tamanho do HDF4.
O HDF5 manteve a ideia definidora do HDF — um arquivo portátil e autodescritivo em que os metadados acompanham os dados — e hoje o HDF Group o mantém sob uma licença no estilo BSD como um conjunto de armazenamento de alto desempenho que vai de laptops a sistemas massivamente paralelos, com mais de 700 projetos no GitHub em áreas que vão da astronomia e das ciências da Terra à genômica e às finanças.
Redesenhar o formato, manter a ideia autodescritiva
Arquivos autodescritivos significavam que os dados carregavam seu próprio significado entre plataformas e equipes.
O endereçamento de 64 bits e a E/S paralela se encaixavam na computação de grande ciência que estava chegando.
O licenciamento de código aberto removeu todas as barreiras à adoção.
Um modelo de objetos mais simples tornou o formato mais fácil de implementar e estender.
Quando o formato antigo atinge seus limites, redesenhe o modelo em vez de remendá-lo: um modelo de objetos mais limpo somado a código aberto foi o que permitiu que um único formato servisse décadas de dados.
O HDF5 tornou-se uma presença constante na computação científica e na indústria, da astronomia e das ciências da Terra à genômica e às finanças, mantido sob uma licença no estilo BSD com um grande ecossistema de bibliotecas e ferramentas; o formato continua a evoluir para sistemas exascale e cargas de trabalho de aprendizado de máquina.
CONFIRA AS EVIDÊNCIAS
As fontes
- The HDF5 Library & File Format The HDF Group · hdfgroup.org
- HDF5 - Hierarchical Data Format Beta Announcement LWN.net · lwn.net ·