Organisation HFD (Dilib)

De Wicri Manuel

L'organisation HFD ( Hierarchical File organisation for Documentation ) est une organisation de fichier permettant de ranger des grandes collections de données par des clés qui sont facilement associables à des adresses de fichiers.

On utilisera le raccourci « fichier HFD » pour désigner une telle organisation, car elle est souvent utilisée comme un fichier à accès séquentiel indexé.

Organisation HFD avec clé décimale

Implémentation initiale

Les premières implémentations visaient à gérer par accès direct des collections limitées à 1 000 000 objets représentés par des documents XML sur une ligne physique (Stream XML).

A chaque document Sxml est associé une clé à 6 chiffres (de 000000 à 999999).

  • les 2 premiers chiffres repèrent un répertoire (suffixé par dd),
  • les 2 chiffres du milieu repèrent un fichier (suffixé par df),
  • les 3 derniers repèrent le document dans le fichier (en fait chaque document Sxml est précédé par la clé complète).

Par exemple, la document 123456 sera :

  • le 57ème document Sxml
  • d'un fichier nommé 34.df
  • rangé dans le répertoire 12.dd

Son adresse dans le système de fichier Unix sera alors :

maBiblio.hfd/12.dd/34.df

Implémentation implicite pour les corpus Wicri

Les travaux menés sur les corpus montrent la possibilité de travailler sur des corpus qui atteignent l'ordre de grandeur du million de documents de métadonnées. La limitation à 999999 pour les clés devient alors pénalisante. A partir de la version Dilib V0.5.55, de façon implicite, les quatre premiers caractères des clés sont codés en hexadécimal. On peut ainsi gérer plus de 6 000 000 de documents.

Les 2 derniers caractères ont été laissés en décimal pour faciliter les opérations manuelles (mise au point de reformatage).

Ainsi la progression implicite des clés est la suivante :

  • 000000 000001 ... 000099 000100 ... 000999 000A00 ... 00FF99 010000 ...