Technologies de l'information
Article
Nouvelle
Étude de cas
Portrait de formateur

Bien gérer sa base de données pour éviter le pire

8 novembre 2021
François Robert
Bien gérer sa base de données pour éviter le pire

Les données sont un élément crucial de l’entreprise car elles sont présentes dans tous les départements. Une dégradation ou une perte de données entraîne des conséquences dramatiques. Pour l’éviter, une bonne gestion des données est impérative. Celle-ci passe par la mise en place de pratiques et de processus qui encadrent, entre autres, le stockage, la sécurité, la mise à jour, l’archivage ou la récupération des données, afin d’être en mesure de faire face à toutes les situations et surtout d’éviter le pire.

François Robert aborde ici certains aspects d’une bonne gouvernance des données.

MS SQL : administrer une base de données

 

SQL Server : optimiser les performances

Quels sont les processus de sauvegarde des données de l’entreprise ?

Commençons par une anecdote réelle… Alors que Pixar avait presque fini « Toy Story 2 », un collaborateur a lancé par erreur une commande d’effacement à la racine… détruisant du même coup absolument tous les fichiers. Il a pu le faire car tous les personnels avaient les mêmes niveaux d’accès pour faciliter la collaboration. Pas grave : il y a une sauvegarde! Sauf que personne n’avait réalisé qu’elle était défaillante (les fichiers à sauvegarder étaient plus gros que sa capacité!). C’est simplement la chance qui a sauvé Pixar : une employée en télétravail avait une copie sur son laptop… Cet exemple assez simple souligne l’importance des tests en amont, de vérifications régulières, de gestion des rôles, etc. Autant de points que nous allons aborder ici.

Vous devez vérifier que les sauvegardes sont fonctionnelles, afin de pouvoir déclencher une restauration en cas de corruption des données (que ce soit suite à une erreur de manipulation, un acte malveillant ou un problème technique). Cela inclut la vérification de plusieurs points :

  • Identifier la localisation des données
  • Valider l’existence ou non de copies à l’extérieur de l’entreprise
  • Tester le processus de sauvegarde au complet

À quand remonte votre dernier « CHECKDB » ?

Lorsque le serveur SQL écrit des données sur vos disques, il suppose simplement que tout est normal, jusqu’à ce qu’il ait besoin de relire les données. Malheureusement, en cas de corruption du stockage, le serveur n’est pas toujours en mesure de lancer des alertes. Il peut même parfois être à l’origine de la corruption. C’est pourquoi il est essentiel d’exécuter le contrôle de cohérence de base de données périodiquement, pour valider l’intégrité des données et des pages d’index. En cas de problème, les messages d’erreurs informent sur l’emplacement, la gravité ainsi que l’option de réparation suggérée. L’exécution d’un contrôle de cohérence de la base de données permet de :

  • Identifier les enjeux au plus tôt
  • Éviter les problèmes critiques
  • Éviter la perte éventuelle de données

Testez-vous la fiabilité de vos sauvegardes ?

La plupart des gens voient l’exécution des sauvegardes avec « succès » comme un élément de réussite. Or, l’absence d’erreur ne garantit rien. Pour réellement valider le processus il faut appliquer la restauration sur une base de données au hasard. Ou mieux : réserver une plage dans le temps pour simuler une panne majeure. C’est en mettant à l’épreuve votre stratégie de sauvegarde, que vous pouvez confirmer la bonne couverture de tous les cas de figure. De cette manière, lorsqu’un enjeu se présente, vous avez un meilleur contrôle de la situation.

Si certains des points abordés plus haut vous laissent perplexes, c’est que des ajustements sont nécessaires dans les plus brefs délais.

Combien coûte la perte d’une journée de données ?

Cher, très cher.

D’abord en image: quel client va continuer à vous faire confiance après que vous l’ayez informé que vous avez perdu des données ?

Ensuite à l’interne : un tel événement peut générer de la démotivation et surtout une énorme perte de temps qui va se chiffrer en $$$, puisqu’au lieu de travailler sur les projets courants et les livrables à venir, tous seront monopolisés à rétablir la situation.

Imaginez tout ce qui se passe en 24 heures : transactions en ligne, synchronisation et mise à jour quotidienne par les numériseurs, les caisses, l’ERP et même les entrées manuelles… Une telle récupération est simplement irréaliste si les procédures ne sont pas en place.

Si vous avez des doutes sur les capacités de votre architecture actuelle, plusieurs options s’offrent à vous :

  • Mobiliser les experts internes pour opérer un audit
  • Appeler des experts externes (si les ressources vous manquent) pour qu’ils la valident, l’ajustent, ou qu’ils forment vos équipes
  • Investir dans une solution robuste

Si vous avez des enjeux de ressources, humaines ou matériel, dans la gestion des sauvegardes de votre organisation, c’est peut-être qu’il est temps d’en choisir une nouvelle.

Comment bien choisir sa solution de sauvegarde de données ?

Avant de procéder à la mise en place d’une nouvelle solution il convient de se poser les bonnes questions afin de privilégier l’option la mieux adaptée à vos besoins.

  • Quel est la durée de récupération des données ?
  • L’activité peut-elle continuer pendant la récupération ?
  • Quelle est la méthode de récupération ?
  • Quel espace est nécessaire pour les sauvegardes et à quel rythme va-t-il progresser ?
  • Où sauvegarder : en local, en réseau ou dans le nuage ?
  • Quelle est la période de rétention ?

Comment évaluer l’espace nécessaire pour les sauvegardes ?

Pour éviter les mauvaises surprises, il est important de suivre l’évolution de la taille des sauvegardes. Les techniques de surveillance du taux d’accroissement des bases de données sont plus faciles quand on maîtrise ce qui se trouve derrière une base de données ainsi que le fonctionnement du fichier de données (MDF) et le journal de transaction (LDF).

Sauvegarder en local, en réseau ou dans le nuage ?

La seule raison pour laquelle vous sauvegardez c’est pour restaurer le plus rapidement possible. S’il est souvent plus simple de sauvegarder sur un disque ajouté directement au serveur SQL, il faut envisager les conséquences en cas de défaillance de ce dernier : la récupération peut se révéler impossible. En revanche, si les sauvegardes sont sur un partage réseau ou dans le nuage, la restauration peut commencer immédiatement. Dans tous les cas de figure, il est important de ne pas négliger la gestion des rôles et permissions afin de ne pas s’exposer à un rançongiciel.

Quelle période de rétention choisir ?

Pendant combien de temps les copies de sauvegarde seront-elles conservées? Une période de rétention plus grande offre plus de latitude et de flexibilité, mais augmente le besoin de stockage et le temps d’accès. Il faut donc déterminer quelle est la valeur idéale pour vos opérations, car un long délai d’accès à des données critiques peut être dommageable. Il se peut aussi que des aspects juridiques pèsent dans la balance, si votre entreprise a des contraintes légales quant à la conservation des données par exemple.

Quel mode de récupération privilégier ?

Il existe plusieurs modes de récupération pour vos bases de données. 

  • Le mode simple facilite la gestion et la taille de vos transaction log, mais il limite les possibilités de récupération (zéro donnée perdue).
  • Le mode complet journalise toutes les transactions quotidiennes (insertion, mise à jour, suppression), mais vous permet d’utiliser votre transaction log pour vos sauvegardes.

Le mode de récupération choisi influence ce que vous pourrez récupérer de vos bases de données, sans compter l’impact sur les performances, sur la taille de vos sauvegardes et du journal des transactions. 

Quel type de sauvegarde favoriser ?

Dépendamment du mode de récupération choisi, vous pourrez choisir parmi les trois  types de sauvegarde disponibles :

  • Il prend une sauvegarde complète de votre base de données.
  • Différentiel. Il prend toutes les pages différentes depuis la dernières sauvegarde complète. Ce type permet d’économiser du temps et de l’espace sur les disques.
  • Journal de transactions. Il sauvegarde toutes les transactions de vos bases de données et il offre le « zero data lost» (revenir à un point précis dans le temps.

La majorité des entreprises, se contente d’une seule sauvegarde par jour, par manque d’information sur les options disponibles.  Décider du type de sauvegarde à favoriser implique d’avoir une bonne compréhension du RTO et du RPO.
RTO : « Recovery Time Objective » ou la durée nécessaire pour remettre vos serveurs en ligne.  RPO : « Recovery Point Objective » ou le volume de données que vous êtes prêt à perdre.
Ces deux indicateurs aident à déterminer le bon plan à mettre en œuvre. Et plus vos exigences relatives au RTO et RPO sont élevées, plus il vous faut prévoir un budget en conséquence.

Des sauvegardes compressées ou pas ?

La compression des données permet de réduire la taille des sauvegardes, la quantité d’écritures et la durée globale du processus de sauvegarde. En revanche la compression utilise plus de CPU. Il faut bien maitriser les subtilités de la compression avant d’utiliser des options comme celle-ci.

Vous êtes prêts en théorie… mais en pratique ?

Par où commencer avant de restaurer vos bases de données ?

Ce n’est pas après la défaillance du serveur qu’il faut se poser des questions. Vous devez vous préparer en amont pour répondre aux besoins les plus pressants, avec le moins d’incertitudes possibles. Ce qui implique d’avoir :

  • Rédiger des plans de maintenance fonctionnelle
  • Tester les solutions en place
  • Identifier les processus de recouvrement
  • Définir les rôles et responsabilités
  • Localiser les points de récupération des données

Un plan d’action basé sur les meilleures pratiques minimise les risques de perte et vous permet de revenir 1 seconde avant le désastre.

Sous réserve que les joueurs clés soient identifiés.

Qui est en charge de la restauration des données ?

Il ne faut jamais tenir pour acquis que n’importe qui pourra effectuer le travail surtout dans le contexte d’une restauration de données.  Vous devez avoir identifié les bonnes personnes. Pour maximiser les chances de succès lors d’une restauration il faut impérativement identifier :

  • Les ressources impliquées
  • Leur niveau d’expertise
  • Leur connaissance/maîtrise de la procédure

D’où l’importance d’avoir une équipe formée, à même d’assurer le maintien des opérations à long terme.

Conclusion

Si vous ne maîtrisez pas tous les aspects relatifs à la sauvegarde de données ou si vous avez des doutes sur votre stratégie, c’est qu’il est temps de prendre des mesures correctives. Vous n’aurez sans doute pas autant de chance que Pixar et, de toute façon, la chance ne devrait pas être un élément décisif de votre stratégie de sauvegarde. Une équipe bien formée sera en mesure soit d’optimiser la solution en place, soit d’en implanter une nouvelle selon les requis adéquats.

Pour en savoir plus :

MS SQL : administrer une base de données

 

SQL Server : optimiser les performances

Contactez-nous

Pour en savoir plus sur nos nouveaux services ou nous parler de vos besoins en développement de compétences, contactez nos spécialistes en formation au 514 380-0380 ou par courriel : formation@technologia.ca.

Articles similaires

Voir tous les articles de blogue