Ranger sa chambre, ou l'archivage de données

le 22/03/2009 par Gabriel Guillon
Tags: Software Engineering

Vos applis ont été installées il y a déjà quelques années. Des données se sont accumulées, ralentissant les traitements. Le disque dur commence à se remplir, ralentissant tout l'OS, et vous commencez à déprimer en voyant la quantité de données présentes et dont ne vous servez plus vraiment. Et ce, sans bien sûr parler du temps de sauvegarde, long comme un jour sans pain…

Pour autant, vous ne voulez pas tout effacer parce que vous ne savez pas ce qui est encore utile ou pas, et vous avez peur que "ça serve un jour… lointain".

Il va être temps de faire le tri, de savoir ce qu'il faut garder sous la main, dans un coin pas loin, ou au fond d'un placard dans un carton, voire mettre chez vos parents.

Vous allez faire de l'archivage.

Présentation

Intuitivement, on ressent que l'archivage fait passer les données dans un autre monde : les données archivées sont considérées comme moins utiles, ne servent plus couramment, doivent être fiables, faciles à retrouver, complètes, compréhensibles/lisibles…

Archiver n'est pas sauvegarder. Sauvegarder consiste, basiquement, à faire une copie des données dans un endroit sûr afin de pouvoir les restaurer en cas de pépin. Archiver consiste à stocker à des fins légales, scientifiques, statistique ou historiques. Vous sauvegardez  ce qui est nécessaire à la bonne marche quotidienne de l'entreprise, vous archivez ce dont vous n'avez plus besoin immédiatement mais que vous voulez néanmoins conserver pour différentes raisons. Les données archivées ne sont plus modifiables (en tous cas ne devraient pas l'être) et ont durée de vie plus longue, voire potentiellement infinie, alors que les données sauvées peuvent être écrasées.

Pourquoi archiver ?

C'est vrai, ça, pourquoi archiver plutôt que sauvegarder ? Pourquoi "perdre" du temps, de la place et de l'argent pour archiver alors qu'après tout, hein, ces données ne servent plus ?

Exactement pour les même raisons que vous ne voudriez pas perdre vos souvenirs !

  • Pour faire de la place : oui, d'accord, votre application rame, il faut archiver et purger les données pour libérer de l'espace.
  • A des fins historiques : raconter l'histoire de l'entreprise (et pourquoi pas en faire un musée plus tard), montrer l'évolution du nombre de contrats signés, de la quantité d'argent que vous avez fait gagner à votre société…
  • A des fins statistiques : étudier les variations d'offre et de demande d'un produit au cours du temps afin de les prévoir…
  • A des fins scientifiques : votre entreprise a inventé une technologie révolutionnaire qui a changé le monde ; vos archives valent de l'or, pour la science : comment avez-vous inventé cette technologie ? Comment l'avez-vous développée ? valorisée ? quelles ont été vos voies de recherches ?
  • Et le plus souvent, à des fins légales : la loi vous contraint à conserver certaines données un certain temps, et vous pourrez être amené à prouver l'antériorité de votre découverte qui a changé le monde ;-)

Quoi archiver ?

Concernant les données en elles-mêmes, la réponse à cette question découle directement des contraintes ci-dessus : les fichiers clients, les pages Web, les codes sources des applications, des fichiers Word/Excel, n'importe quoi prouvant l'antériorité sur une découverte... Et ça nous amène à un autre problème : le temps, ou plutôt la durée.

Dans le cadre de l'informatique, le problème du durée de conservation est encore plus prégnant : autant dans 10 ans le français n'aura pas trop changé et vous aurez raisonnablement des chances de pouvoir relire un document papier, autant dans 10 ans, le logiciel qui permet de lire les données que vous avez archivées risque de ne plus être vendu, de ne plus fonctionner sur le matériel actuel (dans 10 ans).

Donc, il vous faut archiver les données soit dans un format ouvert (dans le sens : libre de droits), soit archiver le logiciel, et si besoin l'OS et la plateforme matérielle (et éventuellement encore ce qui permet de la faire fonctionner).

Quoi d'autre ?

Voyons voyons... Vous aller archiver les données, ce qui permet de les lire, tout ça sur des support fiables, dans une grande pièce à l'épreuve des bombes et du temps, et... Oui, bien sûr ! Comment allez-vous retrouver ce que vous avez archivé il y a 10 ans ?

Il faut donc ... Un index et des méta-données, qui permettent de retrouver relativement rapidement ce que vous cherchez dans les téraoctets et milliers de bandes/DVD/BluRay.

Quand archiver ?

Idéalement, l'archivage de la donnée devrait se prévoir dès sa création : ce n'est pas quand vous aurez 3Tio de données et vos disques pleins à 99% qu'il faudra se soucier de quoi archiver et comment. Une banque ne génère pas autant de données à archiver qu'une PME, et cette quantité de données générée est dimensionnante pour l'archivage.

Il faut vous soucier de quelles données archiver, donc de quelles données vous avez besoin pour "vivre", donc de savoir 'à partir de quel âge vos données n'ont plus le droit de cité sur vos disques. Mais aussi de quand dans la journée vous allez archiver vos données : je pense qu'envoyer 1Tio de données par le réseau en pleine journée risque de ne pas plaire à vos utilisateurs (peut-être profiter du passage de la sauvegarde pour éviter de gaver le réseau deux fois)...

Si vous avez de telles problématiques, il faut réfléchir à un archivage au fil de l'eau, plutôt que d'un coup une nuit. Mais vous avez sans doutes un début de réponse puisque (normalement) vous sauvegardez vos données régulièrement ; les procédures et le temps dévolu à la sauvegarde ne pourraient-ils pas servir à vous donner des idées sur quand archiver ?

Où archiver ?

Bien, vous savez quoi archiver et pourquoi, vous savez quand, mais vous ne savez pas encore où.

A cette question, et quoi qu'en disent certains, il n'y a pas de réponse toute faite, et cela dépend encore une fois des contraintes que vous avez :

  • Si vous avez des contraintes comme "retrouvez-nous cette donnée en moins de tant de temps", il y a fort à parier que vous n'aller pas stocker vos données dans un hangar au fond de la Creuse sans connexion aucune, mais plutôt dans des serveurs dans la pièce ou le bâtiment d'à côté.
  • Si vous avez des contraintes comme "il faut que vous gardiez ça plus ou moins ad vitam aeternam", peut-être que vous n'allez pas stocker vos jouets données dans le placard à balais, mais plutôt chercher une solution un peu plus robuste, et faire appel à des professionnels (du rangement).
  • Des contraintes légales peuvent également influer sur ce choix…

Et combien de temps ça va durer, ça ?

De quoi ça ? Ah, l'archivage, pardon... Hé bien disons que ça dépend de vos contraintes (vous l'auriez deviné, n'est-ce pas ?). La plupart du temps les contraintes légales seront les plus dimensionnantes. Vous pouvez être amené à conserver vos archives ad vitam aeternam, ou pendant plusieurs dizaines d'années, ou seulement pendant quelques mois. Parfois même vous allez devoir archiver différentes données (logs de connections, contrats clients) sur des périodes différentes (quelques mois, plusieurs années)

De ce choix, même contraint, va certainement découler le choix du support et des procédures. Sachant qu'un DVD a une durée de vie de 10 à 30 ans, peut-être n'est-ce pas là dessus que vous allez archiver des données pendant 50 ans, ou alors il faut mettre au point les procédures de changement de support en cours de route vie, avec toute la complexité inhérente (y aura-t-il toujours les lecteurs appropriés ? les systèmes ? les compétences ?)

En général, plus la durée de conservation est longue, plus le problème est aigu.

Et sur quoi j'archive, du coup ?

La réponse à cette question dépend presque directement de la question précédente, mais pas uniquement.

Vous avez peut-être des contraintes d'accessibilité ("vous pouvez me trouver mon relevé de compte d'il y a 6 mois ? Je l'ai perdu et j'ai un contrôle fiscal" ou encore "je veux les stats des 10 dernières années, pour hier matin") Dans ces cas, le mieux est d'avoir l'intégralité, ou presque, de vos archives disponibles, par exemple sur des serveurs. Arrivent alors d'autres problèmes : contrôles d'accès (physiques et logiques) aux dits serveurs, climatisation, stockage, sécurisation...

A contrario, si vous n'avez pas ce genre de contraintes vous pouvez stocker vos données sur des supports un peu plus robustes et adaptés à cet usage (DVD, BluRay, Bandes...)

Sous quelle forme?

Avez-vous essayé de relire les document Works que vous aviez fait lors de votre prime jeunesse ? Ou les fichiers .vqf (format audio qu'à l'époque "on" vous a présenté comme révolutionnaire) ? Si oui, vous comprenez pourquoi "sous quelle forme" est une question primordiale (déjà en partie traitée dans un paragraphe précédent)

  • Est-il important que vos archives puissent être lues par d'autres (personnes, systèmes, entreprises) ?
  • Est-ce grave/couteux si vous devez en même temps que vos données archiver le système complet qui permet de les lire ?
  • Est-ce couteux de les stocker sous un format ouvert/unique ?

Une fois vos données stockées, vous vous dites : mes archives sont ma mémoire, et je n'ai pas très envie qu'on modifie mes souvenirs, donc...

De quelle manière je m'assure qu'on ne modifie pas mes archives ?

Pourquoi vouloir ça ? Pour la même raison que vous voudriez que vos souvenirs soient fidèles (ce qu'ils ne sont par nature pas) : pour pouvoir vous y fier. Et comme les archives sont la mémoire de votre entreprise, il vaudrait mieux qu'elles soient fiables. Si elles ne le sont pas, en plus d'avoir perdu la mémoire, si vous avez des contraintes légales, vous pouvez perdre votre tête...

Dans le cadre des archives électroniques, le problème est plus épineux de par la versatilité du support. Vous devez réfléchir, une fois de plus, en fonction de vos contraintes :

  • Est-il acceptable, pour l'intégrité de vos données, de les stocker sur un disque dur, avec les problèmes que cela entraîne (facilité d'accès, nécessité de signatures, d'un OS...)  ?
  • Est-il acceptable, pour la disponibilité de vos données, de les stocker sur un support physique un peu plus ferme, comme un support WORM (Write Once Read Many) (disque optique, typiquement), voire de les enfermer dans des chambres fortes situées dans des endroits secrets différents (tel que pratiqué par les impôts) ?

Afin de contrôler l'intégrité de vos données, vous allez soit vous fier à votre support (WORM, encore qu'il soit plausible qu'une entité malveillante grave une galette frauduleuse et remplace votre galette saine), soit peut-être faire appel à la cryptographie. Dans ce dernier cas, posez-vous la question suivante: l'algorithme de chiffrement et/ou de signature sera-t-il aussi robuste dans x mois/années que maintenant?

Il y a fort à parier que la réponse tende vers "non" au fur et à mesure que le temps passe. Dans ce cas il faudra prévoir des procédures de re-chiffrement et/ou re-scellement.

Comment être sûr de leurs dates?

Un ex collègue à moi disait qu'un document sans date ne sert à rien. Pour les archives, c'est pire: il peut être daté, mais vous pouvez avoir besoin que cette date soit fiable (afin de prouver l'antécédence d'une découverte). Dans ce cas, il faut procéder à un horodatage et signature du document par un tiers de confiance. Tant qu'à faire, ce tiers de confiance devra exister pendant toute la durée de vie de l'archive, et l'algorithme  de signature devrait résister pendant cette période.

Destruction!

  • De certaines données: vous avez peut-être des contraintes d'anonymisation, lors de l'archivage. Cf la loi du 8 Janvier 1978. Dans le même esprit, votre client peut exiger la modification de ses données personnelles, même si elles sont archivées.

  • Tout court: ça s'appelle le droit à l'oubli. Toujours selon la loi du 6 Janvier 1978 vous pouvez être contraint de détruire des données au bout d'un certain temps. Ou tout simplement parce que vous estimez qu'elles ne sont plus utiles, ou par manque de place :) Des procédures doivent être prévues pour détruire définitivement ces archives, sans récupération possible.

Epilogue

Cet article se veut une présentation de l’archivage. Il ne prétend pas être exhaustif mais devrait vous amener à vous poser certaines questions sur ce sujet.

Le sujet est d’actualité, des normes et lois existent, ou sont en cours d’élaboration. Il est important d’avoir cette problématique, en réalité peu connue et peu traitée, en tête et de se poser quelques questions fondamentales afin d’éviter disconvenues et problèmes sérieux: dura lex, sed lex, et nul n’est censé l’ignorer!