Maison  >  Article  >  base de données  >  Quelles sont les technologies de récupération de base de données ?

Quelles sont les technologies de récupération de base de données ?

青灯夜游
青灯夜游original
2021-07-27 11:17:2922231parcourir

Les technologies de récupération de base de données incluent : 1. Le vidage des données, qui est un processus dans lequel le DBA copie régulièrement l'intégralité de la base de données sur une bande ou un autre disque et l'enregistre. 2. Enregistrez le fichier journal. Le fichier journal est un fichier utilisé pour enregistrer les opérations de mise à jour de la transaction sur la base de données. La configuration du fichier journal peut effectuer une récupération après échec de transaction, une récupération après panne du système et aider les copies de sauvegarde dans la récupération après panne de support.

Quelles sont les technologies de récupération de base de données ?

L'environnement d'exploitation de ce tutoriel : système windows7, version mysql8, ordinateur Dell G3.

Aperçu de la récupération de base de données

 Le système de gestion de base de données doit avoir pour fonction de récupérer la base de données d'un état d'erreur à un état correct connu. Le sous-système de récupération est une partie importante du système de gestion de base de données et est assez volumineux, représentant souvent plus de dix pour cent de l'ensemble du code système. L'efficacité de la technologie de récupération utilisée dans le système de base de données joue non seulement un rôle décisif dans la fiabilité du système, mais a également un impact important sur l'efficacité opérationnelle du système. C'est un indicateur important pour mesurer les performances du système. .

 Une défaillance du système est appelée une défaillance logicielle, et une défaillance des médias est appelée une défaillance matérielle. Les défauts matériels font référence à des défauts de stockage externes, tels que des dommages au disque, une collision de tête, une forte interférence instantanée de champ magnétique, etc. Ce type de panne détruira la base de données ou une partie de la base de données et affectera toutes les transactions qui accèdent à cette partie des données.

Virus informatique

  En résumant différents types de pannes, il existe deux possibilités pour leur impact sur la base de données. La première est que la base de données elle-même est endommagée. La seconde est que la base de données n'a pas été endommagée, mais que les données peuvent être incorrectes. Cela est dû à la fin anormale de la transaction.

Technologie de mise en œuvre de la récupération

Le mécanisme de récupération implique deux questions clés :

1. Comment établir des données redondantes

2.

Les techniques les plus courantes pour créer des données redondantes sont les vidages de données et les fichiers journaux. Habituellement, dans un système de base de données, ces deux méthodes sont utilisées ensemble.

Data Dump

Le dumping de données est la technique de base utilisée dans la récupération de bases de données. Le soi-disant dump est le processus par lequel le DBA copie régulièrement l'intégralité de la base de données sur une bande ou un autre disque et l'enregistre. Ces données de rechange deviennent des copies de secours ou des copies de sauvegarde.

Les vidages peuvent être divisés en vidages statiques et vidages dynamiques.

  • Le vidage statique est une opération de vidage effectuée lorsqu'il n'y a aucune transaction en cours dans le système. Autrement dit, lorsque l'opération de vidage démarre, la base de données est dans un état cohérent et aucune activité d'accès ou de modification à la base de données n'est autorisée pendant le vidage. Évidemment, ce que vous obtenez d’un dump statique doit être une copie cohérente des données.

  • Dump dynamique signifie que la base de données peut être consultée ou modifiée pendant le dump. Cependant, il n'est pas garanti que les données présentes sur la copie de sauvegarde à la fin du dump soient correctes et valides. À cette fin, il est nécessaire d'enregistrer les activités de modification de chaque transaction dans la base de données pendant la période de vidage et de créer un fichier journal. De cette manière, la copie de sauvegarde et le fichier journal peuvent restaurer la base de données dans l'état correct à un certain moment. moment.

Les vidages peuvent être divisés en deux méthodes : le vidage de masse et le vidage incrémentiel. Le vidage de masse fait référence au vidage de la base de données entière à chaque fois. Le vidage incrémentiel fait référence au vidage uniquement des données mises à jour depuis le vidage précédent. Du point de vue de la récupération, il est généralement plus pratique d'utiliser des copies de sauvegarde obtenues à partir de vidages de masse pour la récupération.
Les méthodes de vidage de données peuvent être divisées en quatre catégories : vidage incrémentiel dynamique, vidage de masse dynamique, vidage incrémentiel statique et vidage de masse statique.

Enregistrement des fichiers journaux

Format et contenu des fichiers journaux

Les fichiers journaux sont des fichiers utilisés pour enregistrer les opérations de mise à jour des transactions sur la base de données. Il existe deux formats principaux de fichiers journaux : les fichiers journaux dans les enregistrements et les fichiers journaux dans les blocs de données.

Fichiers journaux en unités d'enregistrement, le contenu qui doit être enregistré comprend :

1. La marque de début de chaque transaction
2. La marque de fin de chaque transaction
3. Toutes les opérations de mise à jour de chaque transaction

Le contenu de chaque enregistrement de journal Comprend :

1. Identification de la transaction (indiquer de quelle transaction il s'agit)
2. Type d'opération (insérer, supprimer ou modifier) ​​
3. Objet d'opération (identification interne de l'enregistrement)
4. Ancienne valeur des données avant mise à jour
5. Mise à jour La nouvelle valeur des données finales

Le rôle des fichiers journaux

Les fichiers journaux jouent un rôle très important dans la récupération des données. Il peut être utilisé pour la récupération après échec de transaction et la récupération après panne système, et assiste les copies de sauvegarde dans la récupération après panne de support.

Les fonctions spécifiques sont :

1. Les fichiers journaux doivent être utilisés pour la récupération en cas d'échec de transaction et la récupération en cas de panne du système.

2. Les fichiers journaux doivent être créés en mode de vidage dynamique. restaurer la base de données.

3. En mode de vidage statique, des fichiers journaux peuvent également être créés.

Enregistrer le fichier journal

Pour garantir que la base de données est récupérable, deux principes doivent être suivis lors de l'enregistrement des fichiers journaux :
1. L'ordre d'enregistrement doit être strictement conforme à l'ordre temporel d'exécution simultanée des transactions
2. Les fichiers journaux doivent être enregistrés en premier, et puis écrit dans la base de données.

Stratégie de récupération

Récupération de l'échec de la transaction

La récupération de l'échec de la transaction est automatiquement complétée par le système et est transparente pour l'utilisateur. Les étapes de récupération du système sont les suivantes :

1. Analysez le fichier journal dans le sens inverse (c'est-à-dire analysez le fichier journal de la fin vers l'avant) pour trouver l'opération de mise à jour de la transaction.

2. Effectuer l'opération inverse de l'opération de mise à jour de la transaction. Autrement dit, la « valeur avant mise à jour » dans l'enregistrement du journal est écrite dans la base de données. De cette façon, si l'enregistrement est une opération d'insertion, cela équivaut à une opération de suppression ; si l'enregistrement est une opération de suppression, une opération d'insertion est effectuée s'il s'agit d'une opération de modification, cela équivaut à modifier la valeur précédente ; de la valeur modifiée.

3. Continuez à analyser le fichier journal à l'envers, recherchez d'autres opérations de mise à jour de la transaction et faites de même.

4. Continuez le traitement de cette manière jusqu'à ce que la marque de début de cette transaction soit lue et que la récupération après échec de la transaction soit terminée.

Récupération après une défaillance du système

La récupération après un échec de transaction est automatiquement effectuée par le système et est transparente pour les utilisateurs. Les étapes de récupération du système sont les suivantes :

1. Analysez le fichier journal pour rechercher les transactions qui ont été soumises avant que l'échec ne se produise et enregistrez leurs identifiants de transaction dans la file d'attente de rétablissement. Dans le même temps, recherchez les transactions qui n'étaient pas terminées lorsque l'échec se produit et comptez leurs représentations de transaction dans la file d'attente d'annulation.

2. Annulez chaque transaction dans la file d'attente d'annulation (UNDO).

La méthode de traitement UNDO consiste à analyser le fichier journal à l'envers et à effectuer l'opération inverse sur l'opération de mise à jour de chaque transaction UNDO, c'est-à-dire à écrire la « valeur de pré-mise à jour » dans l'enregistrement du journal dans la base de données.

3. Refaire le traitement REDO pour chaque transaction dans la file d'attente de rétablissement

La méthode de traitement REDO consiste à analyser le fichier journal et à réexécuter l'opération d'enregistrement du fichier journal pour chaque transaction REDO. Autrement dit, la « valeur mise à jour » dans l'enregistrement du journal est écrite dans la base de données.

Récupération après une panne de support

La méthode pour récupérer après une panne consiste à réinstaller la base de données, puis à refaire les transactions terminées.

1. Le chargement de la dernière copie de sauvegarde de la base de données consiste à restaurer la base de données à l'état de cohérence du dernier dump.

2. Chargez une copie du fichier journal correspondant et refaites la transaction terminée. Autrement dit, analysez d'abord le fichier journal pour découvrir l'identité de la transaction qui a été validée lorsque l'échec s'est produit, puis ajoutez-le à la file d'attente de rétablissement. Ensuite, le fichier journal est analysé pour refaire toutes les transactions dans la file d'attente de rétablissement. Autrement dit, la « valeur mise à jour » dans l'enregistrement du journal est écrite dans la base de données.

La récupération après une panne de support nécessite l'intervention du DBA. Cependant, l'administrateur de base de données n'a besoin que de réinstaller la copie de base de données récemment sauvegardée et les copies des fichiers journaux associés, puis d'ordonner les commandes de récupération fournies par le système. L'opération de récupération spécifique est toujours effectuée par le SGBD.

Mise en miroir de bases de données

À mesure que la capacité du disque devient de plus en plus grande et que les prix deviennent de moins en moins chers, afin d'éviter une panne de support de disque affectant la disponibilité de la base de données, de nombreux systèmes de gestion de bases de données fournissent des fonctions de distribution de données pour la récupération de la base de données. Selon la demande du DBA, l'intégralité de la base de données ou les données clés qu'elle contient sont automatiquement copiées sur un autre disque.

Étant donné que la mise en miroir de bases de données est obtenue en copiant des données, la copie fréquente des données réduira naturellement l'efficacité du fonctionnement du système. Par conséquent, dans les applications temporelles, les utilisateurs choisissent souvent de mettre en miroir uniquement les données clés et les fichiers journaux au lieu de mettre en miroir l'intégralité de la base de données.

(Tutoriel recommandé : Tutoriel vidéo mysql)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn