Stockage et calcul/traitement de la donnée

Souvent les offres de calcul/traitement fournissent un stockage temporaire et de capacité limitée. Ils vous faudra donc transférer vos données d’entrées ainsi que vos résultats vers un stockage pérenne. Ces transferts peuvent ralentir et/ou complexifier le parcours de la donnée. Le risque lié à cette complexité est la possible perte de données (exemple oubli de transfert des résultats sur un support pérenne).

Quelques leviers qui peuvent aider à la réflexion sont les suivants :

  • Rapprocher physiquement le stockage de vos données du calcul, par exemple dans le même bâtiment ou sur le même réseau local
  • Utiliser un protocole de transfert robuste et adapté au réseau interne et internet. Par exemple préférer iRods, Swift, S3 au CIFS (partage Windows) ou au NFS (partage Unix/Linux)
  • Utiliser une méthode de vérification de l’intégrité des données transférées
  • La manière dont les données sont structurées (en base de données SQL, NoSQL ou en fichiers) peut avoir un impact sur la vitesse
  • Adapter vos calculs aux capacités de transfert réseaux et aux protocoles utilisés : par exemple découper vos données et adapter vos algorithmes avant le traitement si besoin. Autre exemple, certains protocoles sont plus adaptés à l’envoi de gros fichiers, dans ce cas faire une archive de type zip ou tar.gz)
  • Privilégier certains logiciels permettant des calculs directement depuis le stockage distant en chargeant les données en mémoire (ex: Spark et Stockage Objet) ce qui améliore grandement les temps de traitement

Chaque plateforme a ses propres règles. Il est donc essentiel de prendre contact avec les gestionnaires des plateformes ciblées pour évoquer ces leviers avant de les mettre en œuvre. Il est nécessaire de vous assurer de la compatibilité des choix que vous retiendrez par rapport à leurs offres. Ce sont des acteurs essentiels pour la réussite de vos traitements.