Présentation des sauvegardes

Ce document présente les sauvegardes et les procédures les programmations de sauvegarde.

Spanner vous permet de créer des sauvegardes complètes de bases de données à la demande, ainsi que des sauvegardes complètes ou incrémentielles à l'aide d'un calendrier de sauvegarde. Les sauvegardes complètes stockent l'intégralité des données d'une base de données, tandis que les sauvegardes incrémentielles ne contiennent que les données qui ont été modifiées depuis une sauvegarde précédente.

Vous pouvez restaurer les sauvegardes en cas d'erreur de l'opérateur ou de l'application provoquer la corruption des données logiques.

Les sauvegardes sont disponibilité élevée, chiffrées être conservées pendant un an maximum à compter de leur création. Lorsque vous créez un sauvegarde, celle-ci réside dans la même instance, dans la même région et dans le même projet que la base de données source. Si vous devez restaurer la sauvegarde dans une autre région ou pour des raisons de conformité ou de continuité des activités, vous pouvez copier à une instance d'une région ou d'un projet distinct.

Principales fonctionnalités

  • Cohérence des données: les sauvegardes d'une base de données Spanner sont de manière transactionnelle et cohérente en externe au versionTime de la sauvegarde.

  • Réplication: les sauvegardes se trouvent dans la même instance que leur base de données source et sont répliquées dans les mêmes emplacements géographiques. Pour les instances régionales, la sauvegarde est stockée dans chacune des trois zones de lecture/écriture. Pour les instances birégionales et multirégionales, la sauvegarde est stockée dans toutes les zones contenant une instance dupliquée en lecture/écriture ou en lecture seule. Si vous devez stocker la sauvegarde de votre base de données dans un autre dans la région ou le projet, vous pouvez copier la sauvegarde terminée à partir de la source vers une instance de destination située dans une autre région ou projet. Pour en savoir plus, consultez Copier une sauvegarde.

  • Expiration automatique : la date d'expiration spécifiée par l'utilisateur détermine la date de suppression automatique de toutes les sauvegardes. Spanner supprime les sauvegardes expirées de manière asynchrone. Il peut donc y avoir un décalage entre le moment où une sauvegarde expire et celui où elle est réellement supprimée.

Créer une sauvegarde

Lorsque vous créez une sauvegarde, elle se trouve dans la même instance, région et projet que sa base de données source. Une sauvegarde contient les informations suivantes de la base de données au moment de la versionTime de la sauvegarde :

  • Une sauvegarde complète contient toutes les données. Une sauvegarde incrémentielle ne contient les données qui ont été modifiées depuis une sauvegarde précédente.
  • Les informations sur le schéma, y compris les noms des tables, les champs, les types de données, les index secondaires les flux de modifications et les relations entre ces entités.
  • Toutes les options de base de données définies avec ALTER DATABASE SET OPTIONS .

Une sauvegarde Spanner n'inclut pas les informations suivantes:

  • Toute modification apportée aux données ou au schéma après la versionTime
  • Stratégies IAM (Identity and Access Management)
  • Enregistrements de données de flux de modifications. Bien que le schéma des flux de modifications soit stocké, les données du flux de modifications doivent être diffusées quasi-simultanément aux changements qu'il décrit.

Pour garantir la cohérence externe de la sauvegarde, Spanner épingle le le contenu de la base de données versionTime Cela empêche la récupération de mémoire système de supprimer les valeurs de données pertinentes pendant la durée de la sauvegarde opération. Ensuite, chaque zone en lecture-écriture et en lecture seule de l'instance commence à copier les données en parallèle. Si une zone est temporairement indisponible, la sauvegarde n'est pas terminée tant que la zone ne se reconnecte pas. Les sauvegardes sont et récupérables dès que l'opération est terminée. Pour les instances multirégionales, toutes les zones en lecture/écriture et en lecture seule de toutes les régions doivent terminer leurs réplications de sauvegarde avant que la sauvegarde ne soit marquée comme pouvant être restaurée.

Planifications de sauvegarde

Spanner vous permet de planifier des sauvegardes complètes ou incrémentielles pour les bases de données. Une sauvegarde incrémentielle ne contient que les données modifiées depuis une sauvegarde précédente, tandis que les sauvegardes complètes stockent l'intégralité du contenu de la base de données. Vous pouvez spécifier le type de planification de sauvegarde (complète ou incrémentielle) et la fréquence à laquelle Spanner doit créer des sauvegardes.

Un calendrier de sauvegarde complète peut créer une sauvegarde toutes les 12 heures ou plus. Un calendrier de sauvegarde incrémentielle peut créer une sauvegarde toutes les quatre heures ou plus.

Spanner propose des sauvegardes incrémentielles pour votre base de données via un calendrier de sauvegarde. Vous ne pouvez pas créer de sauvegarde incrémentielle à la demande.

La création de la sauvegarde commence dans une fenêtre de quatre heures avant l'heure prévue. Vous pouvez définir un maximum de quatre planifications de sauvegarde par base de données.

Sauvegardes incrémentielles

<ph type="x-smartling-placeholder">

Les sauvegardes incrémentielles forment des chaînes entre les sauvegardes complètes. La première sauvegarde créée par un calendrier de sauvegarde incrémentielle est une sauvegarde complète. Les sauvegardes consécutives créées dans la chaîne sont des sauvegardes incrémentielles, chacune ne contenant que les données modifiées depuis la sauvegarde précédente de la chaîne.

Spanner autorise jusqu'à 13 sauvegardes incrémentielles par chaîne, dans en plus de la sauvegarde complète initiale. Une chaîne est identifiée par la valeur incrementalBackupChainId correspondante. Lorsqu'une chaîne atteint sa longueur maximale, Spanner crée une chaîne, en commençant par la sauvegarde complète initiale.

Dans certains cas, Spanner peut créer une chaîne avant la longueur maximale de la chaîne se produit. Voici quelques exemples de scénarios :

  • La sauvegarde complète la plus ancienne a été effectuée il y a 28 jours ou plus.
  • La sauvegarde la plus récente de la chaîne est supprimée.
  • Le calendrier des sauvegardes incrémentielles a été modifié.

Voici quelques facteurs qui peuvent vous aider à décider d'utiliser des sauvegardes incrémentielles :

  • Chiffrement : les sauvegardes incrémentielles ne prennent en charge que le chiffrement à l'aide de clés gérées par Google, même si la base de données est chiffrée par une clé de chiffrement gérée par le client (CMEK).

  • Restauration: la restauration d'une sauvegarde incrémentielle peut prendre plus de restaurer une sauvegarde complète contenant les mêmes données.

  • Suppression: si vous supprimez une sauvegarde d'une chaîne ou si elle expire, Spanner peut conserver la sauvegarde pour accepter les sauvegardes plus récentes. dans la chaîne, le cas échéant. Spanner a besoin de toutes les anciennes sauvegardes de la chaîne pour restaurer une sauvegarde incrémentielle. Pour supprimer toutes les données d'une chaîne de sauvegardes, y compris celles des sauvegardes expirées ou supprimées, supprimez toutes les sauvegardes de la chaîne.

  • Conservation : les conditions suivantes s'appliquent à chaque programmation de sauvegarde : des informations sur le calendrier:

    • creation_interval: représente la fréquence de planification spécifiée pour la sauvegarde. programmation.
    • retention_duration: représente la durée des sauvegardes créées par la planification. et conservés. Pour une chaîne donnée, la sauvegarde complète la plus ancienne est conservée au-delà de sa date d'expiration d'origine si elle est nécessaire pour prendre en charge les sauvegardes plus récentes de la chaîne. La durée de conservation totale de la sauvegarde complète est au maximum la valeur la plus basse parmi les suivantes :
      • retention_duration + 28 jours
      • retention_duration + (creation_interval*14)
  • Copie de sauvegarde: lorsque vous copiez une sauvegarde incrémentielle, Spanner copie la chaîne de sauvegardes, de la sauvegarde complète initiale jusqu'à la fin avec la sauvegarde incrémentielle spécifique que vous souhaitez copier. Spanner vous facture en fonction de l'espace de stockage total utilisé.

Pour en savoir plus sur la création de sauvegardes incrémentielles, consultez la section Créer et gérer des planifications de sauvegarde.

Coûts de stockage pour les sauvegardes complètes et incrémentielles

Chaque sauvegarde Spanner comporte les champs suivants qui fournissent des informations sur la consommation de stockage :

  • exclusiveSizeBytes: indique le nombre d'octets requis par la sauvegarde. Ce size représente la taille facturable de la sauvegarde.
  • freeableSizeBytes : indique le nombre d'octets libérés si vous supprimez la sauvegarde.
  • oldestVersionTime: affiche le versionTime de la plus ancienne sauvegarde complète dans la chaîne, même si cette sauvegarde a expiré. Vous pouvez utiliser ce champ pour comprendre quelles données sont stockées.

Les sauvegardes incrémentielles peuvent réduire les coûts de stockage. Le champ exclusiveSizeBytes d'une sauvegarde incrémentielle peut être beaucoup plus petit que celui d'une sauvegarde complète, car la sauvegarde incrémentielle ne doit stocker que les modifications apportées depuis la sauvegarde précédente de la chaîne. Ajouter la valeur de ce champ pour chaque sauvegarde de la chaîne reflète le nombre total d'octets utilisés par les sauvegardes de la chaîne.

Pour être restaurée, une sauvegarde incrémentielle dépend de toutes les sauvegardes plus anciennes de la même chaîne. Cela signifie que si une sauvegarde incrémentielle plus récente existe, les données de toutes les sauvegardes plus anciennes de la chaîne ne peuvent pas être supprimées du système et le champ freeableSizeBytes de toutes les sauvegardes plus anciennes de la même chaîne est nul.

Pensez que vous avez créé un calendrier de sauvegarde complète et une sauvegarde incrémentielle pour une base de données d'une taille de 100 Go et qui augmente de 10 Go par jour. Le tableau suivant présente les coûts de stockage possibles pour ces calendriers de sauvegarde :

Jour Taille de la sauvegarde planifiée complète Taille de la sauvegarde planifiée incrémentielle
1 100 Go 100 Go
2 110 Go 10 Go
3 120 Go 10 Go
4 130 Go 10 Go
5 140 Go 10 Go

Sur cinq jours, le calendrier de sauvegarde complète utilise 600 Go d'espace de stockage, tandis que le calendrier de sauvegarde incrémentielle utilise environ 140 Go d'espace de stockage. Pour un planning de sauvegarde incrémentielle, la taille de la sauvegarde complète correspond à la somme des tailles de toutes les sauvegardes de la chaîne, jusqu'à celle-ci, et se reflète dans le sizeBytes.

Fonctionnement de la copie de sauvegarde

La sauvegarde et la restauration Spanner vous permettent de copier une sauvegarde de votre base de données Spanner d'une instance à une autre dans une autre région ou un autre projet, afin de fournir des fonctionnalités supplémentaires de protection des données et de conformité. La sauvegarde copiée comporte Mêmes fonctionnalités clés que la version d'origine sauvegarde. De plus, vous pouvez restaurer une sauvegarde copiée dans la même instance que la sauvegarde copiée pour prendre en charge les cas d'utilisation de sauvegarde et de restauration interrégionaux et interprojets.

Emplacement de stockage des sauvegardes Spanner

Les sauvegardes sont des ressources dans Spanner. Chaque ressource de sauvegarde fait partie de la même instance que sa base de données source, où elle est organisée dans la hiérarchie des ressources et possède un chemin d'accès à la ressource au format suivant :

projects/PROJECT_ID/instances/INSTANCE_ID/backups/BACKUP_NAME

Remplacez l'élément suivant :

  • PROJECT_ID : ID du projet.
  • INSTANCE_ID : ID de l'instance.
  • BACKUP_NAME: nom de la sauvegarde.

Une sauvegarde continue d'exister même après la suppression de sa base de données source mais il ne peut pas survivre à son instance parente. Pour éviter toute suppression accidentelle des sauvegardes, vous ne pouvez pas supprimer une instance Spanner si elle inclut des sauvegardes. Si vous souhaitez supprimer l'instance, nous vous recommandons de restaurer puis d'exporter la base de données restaurée, avant supprimer la sauvegarde et l'instance.

Chiffrement

Tout comme les bases de données, les sauvegardes Spanner sont chiffrées : Clés de chiffrement gérées par Google ou par clés de chiffrement gérées par le client (CMEK). Par défaut, une sauvegarde utilise la même configuration de chiffrement que sa base de données, mais vous pouvez ignorer ce comportement en spécifiant une configuration de chiffrement différente lors de la création de la sauvegarde. Si la sauvegarde est activée par CMEK, il est chiffré à l'aide de la version principale de la clé KMS lors de la sauvegarde création. Une fois la sauvegarde créée, sa clé et sa version de clé ne peuvent plus être même si la clé KMS fait l'objet d'une rotation. Pour en savoir plus, consultez la section Créer une sauvegarde compatible avec CMEK.

Une sauvegarde copiée utilise la même configuration de chiffrement, gérée par Google ou gérée par le client (CMEK), que le chiffrement de la sauvegarde source. Vous pouvez ignorer ce comportement en spécifiant une configuration de chiffrement différente lors de la copie de la sauvegarde. Si vous souhaitez que la sauvegarde copiée à chiffrer avec une clé CMEK lors d'une copie interrégionale, spécifiez Clé Cloud KMS correspondant à la région de destination.

Vous pouvez spécifier la configuration du chiffrement lorsque vous créez ou modifiez la planification de sauvegarde. Si vous souhaitez que la planification de sauvegarde crée des sauvegardes chiffrées par des clés CMEK, vous devez spécifier le chemin d'accès à la clé.

Les sauvegardes incrémentielles ne prennent en charge que le chiffrement à l'aide de clés gérées par Google, même si la base de données est chiffrée par une clé CMEK.

Performance

Cette section décrit les performances de sauvegarde optimales dans Spanner.

Performances lors de la sauvegarde

Lors d'une sauvegarde, Spanner crée une tâche de sauvegarde pour copier les données directement depuis la base de données vers l'espace de stockage de sauvegarde et dimensionne cette tâche en fonction de la taille de la base de données. Cette tâche de sauvegarde n'utilise pas les ressources de processeur allouées à l'instance de la base de données et n'affecte donc pas les performances de l'instance. De plus, la charge de calcul sur l'instance de la base de données n'affecte pas la vitesse de l'opération de sauvegarde. Pour suivre la progression et la fin d'une sauvegarde , consultez Afficher la progression de la sauvegarde.

En règle générale, la plupart des sauvegardes prennent une à quatre heures. Certaines sauvegardes peuvent prennent plus de temps en raison de leur taille ou parce qu'il existe une file d'attente interne ressources. Si une sauvegarde prend plus de temps que d'habitude et qu'aucun autre facteur n'a modifié, cela peut être dû à un retard dans la planification de la tâche de sauvegarde dans une zone. Cette opération peut parfois prendre jusqu'à 30 minutes. Nous vous recommandons de ne pas annuler et redémarrer la sauvegarde, car il est probable que vous rencontriez le même délai de planification avec la nouvelle opération de sauvegarde.

Performances lors de la copie d'une sauvegarde

Le temps nécessaire pour copier une sauvegarde dépend de facteurs tels que la taille sauvegarde source et la région de destination choisie pour la sauvegarde copiée. Généralement, la plupart des copies sont terminées en une à quatre heures. Certaines copies peuvent prendre plus de temps en fonction de la taille de la sauvegarde et de la région de destination. La copie d'une sauvegarde n'a aucun impact sur les performances de l'instance ou de la base de données source. Vous pouvez créer plusieurs copies simultanées de la sauvegarde source sur les instances dans des régions différentes sans affecter les performances.

Lorsque vous copiez une sauvegarde incrémentielle, Spanner copie toutes les sauvegardes plus récentes de la chaîne. Au lieu de copier la chaîne de sauvegardes une par une, Spanner copie toutes les sauvegardes simultanément pour améliorer les performances.

Supprimer une sauvegarde

Lorsque vous supprimez une sauvegarde incrémentielle, vous ne pouvez pas récupérer de l'espace de stockage si des sauvegardes incrémentielles plus récentes sont présentes dans la même chaîne. Les sauvegardes incrémentielles plus récentes dépendent des données présentes dans la sauvegarde incrémentielle supprimée et des sauvegardes plus anciennes de la chaîne. Spanner conserve le et ne libère l'espace de stockage qu'à l'expiration de toutes les nouvelles sauvegardes incrémentielles. Le champ freeableSizeBytes indique l'espace de stockage que vous pouvez récupérer si vous supprimez la sauvegarde.

Tarifs

Vous êtes facturé en fonction de la quantité d'espace de stockage utilisée par vos sauvegardes par unité de temps. La facturation commence après l'opération de sauvegarde et se poursuit jusqu'à la suppression de la sauvegarde. Une sauvegarde terminée est facturée pour une durée minimale de 24 heures. Si vous créez une sauvegarde, puis la supprimez peu de temps après qu'elle se termine, vous êtes toujours facturé pour 24 heures.

Les copies d'une sauvegarde sont soumises aux mêmes coûts de stockage. comme sauvegarde d'origine. Si vous créez une copie entre deux instances occupant différentes régions, des frais de transfert de données sortantes s'appliquent.

Par exemple, si vous copiez votre base de données de la configuration d'instance multirégionale source nam7 vers la configuration d'instance multirégionale de destination nam-eur-asia3, les frais suivants s'appliquent :

  • Aucuns frais pour la région us-central1 en chevauchement
  • Sans frais pour le témoin us-central2 dans la région
  • Les frais de transfert de données intercontinental s'appliquent deux fois : une fois pour chaque nouveau continent (Europe et Asie).
  • Les frais de transfert de données entre régions du même continent s'appliquent une seule fois pour us-east1.
  • Les frais de transfert de données entre régions du même continent s'appliquent une fois en Europe.

Spanner optimise le processus de copie pour réduire le nombre de transferts interrégionaux. Cela permet de minimiser les coûts de transfert de données tout en offrant une expérience de sauvegarde par copie rapide.

Les sauvegardes sont stockées et facturées séparément. Le stockage des sauvegardes n'affecte pas la facturation du stockage de bases de données ou les limites de stockage des bases de données. Pour plus , consultez également Métriques d'utilisation du stockage.

Pour en savoir plus sur les coûts de sauvegarde, consultez la page Spanner tarifs.

Étape suivante