Projet

Général

Profil

Concepts

Terminologie iRODS

  • Data object: un fichier logique dans la grille de données
  • Collection: un répertoire logique
  • Icat Enabled Server: le serveur qui fournit le service de Catalogsue de Fichiers
  • Non Icat Enabled Server ou simplement iRODS Server: un serveur de ressources
  • Rule Engine: moteur de règles. Généralement attaché au catalogue, il est chargé d'exécuter les règles enregistrées par le système ou demandées par les utilisateurs
  • client: programme permettant d'interagir avec le système au travers du protocole iRODS (ICommands, iDrop, etc...)
  • replica: instance physique d'un Data object sur une ressource

Grille de données

De manière informelle, une grille de données (dans le contexte de stockage de fichiers) permet une vision unifiée de ressources de stockage distribuées. Dans un tel système, un utilisateur enregistre des fichiers sur diverses ressources de stockage à partir d'une seule vision logique.

La vision logique est confiée à un Catalogue de fichiers qui est chargé de garder la trace des copies physiques des fichiers. Le Catalogue fournit une organisation unifiée à l'utilisateur, malgré la nature distribuée (et éventuellement hétérogène) des ressources qu'il utilise.

Catalogue de fichiers

Le Catalogue permet d'enregistrer et organiser les fichiers physiquement déposés sur les différentes ressources de la grille de données. Il fournit généralement une arborescence (de type répertoire) où les entrées représentent la correspondance entre un fichier logique (du point de vue de l'utilisateur) et le stockage physique des données qu'il représente.

En général, le Catalogue permet de faire correspondre plusieurs fichiers physiques à un seul fichier logique. Il s'agit en général de plusieurs copies physiques d'un même contenu. Ces copies peuvent être présentes sur des ressources différentes. Ces copies du même contenu sont aussi appelées répliques d'un fichier.

Ressources

C'est l'endroit où sont stockées les copies physiques (les répliques). Il peut s'agir d'un serveur permettant le stockage de fichiers, mais aussi des robots de stockage sur bande ou des espaces de stockage de type "Cloud".

Les différentes ressources peuvent être géographiquement réparties pour garantir une pérennité des données stockées dans le système (on dépose alors des répliques d'un même fichier sur des ressources de sites différents pour que la perte d'une ressource n'occasionne pas de perte de données). Parfois, c'est la nature géographiquement répartie de l'organisation qui met en œuvre la grille de données qui implique la répartition des ressources de stockage (dans ce cas, l'accent pourra être mis sur les transferts de données entre les différents sites).

Voir aussi: Organisation des Ressources

Métadonnées

Organiser ses données en fichiers indexés par leur nom dans une arborescence de répertoires n'est parfois pas suffisant. On peut avoir besoin, surtout dans le cas de grandes quantités de données, d'enregistrer des informations supplémentaires en relation avec les données afin de permettre la sélection de fichiers en fonction de critères plus arbitraires que le nom du fichier.

Par exemple, on peut utiliser la date de dernière modification des fichiers pour sélectionner des fichiers plus récents qu'une certaine date. La date de modification des fichiers est une métadonnée fournie par tous les systèmes de fichiers.

Les systèmes de métadonnées des grilles de données permettent à l'utilisateur de construire lui-même ses propres métadonnées afin d'organiser et manipuler ses fichiers.

iRODS permet notamment de créer et d'utiliser les métadonnées avec les commandes imeta et ifind

Règles

Appliquer des traitements complexes sur des ensembles de données fait partie de la vie de tous les jours. Dans le cadre d'un disque local, ces traitements peuvent être aisément programmés en shell ou dans d'autres langages de script. Dans le cas d'une grille de données, ces opérations sont moins immédiates à cause de la nature distribuée des ressources.

iRODS fournit un langage permettant la programmation et l'exécution de traitements complexes sur les données stockées dans l'infrastructure au travers de "règles".

Le langage de règles: http://wiki.irods.org/index.php/Changes_and_Improvements_to_the_Rule_Language_and_the_Rule_Engine
La commande pour exécuter des règles utilisateurs: irule