Présentation de la restauration

Vous pouvez restaurer une sauvegarde d'une base de données Spanner dans une nouvelle base de données. La base de données restaurée contiendra toutes les données ainsi que le schéma de la base de données d'origine, à l'instant de création version_time de la sauvegarde, y compris toutes les options de base de données définies avec la commande ALTER DATABASE SET OPTIONS. Toutefois, les éléments suivants ne sont pas inclus dans la base de données restaurée :

  • Autorisations IAM (à l'exception de celles héritées de l'instance contenant la base de données restaurée). Vous devez appliquer les autorisations IAM appropriées une fois la restauration terminée.
  • Données internes de tous les flux de modifications.
  • Valeur TTL (Time To Live) définie par une règle de suppression de lignes. Vous devrez reconfigurer ces règles une fois la restauration terminée. Pour en savoir plus, consultez Sauvegardes et TTL.
  • Points de fractionnement que vous avez créés lors du pré-fractionnement d'une base de données. Pour en savoir plus, consultez Présentation du pré-fractionnement.

Lorsque vous restaurez une base de données à partir d'une sauvegarde, elle se trouve dans la même instance, la même région et le même projet que sa sauvegarde source. Si vous devez restaurer la sauvegarde dans une autre région ou un autre projet pour des raisons de conformité ou de continuité des activités, vous pouvez copier la sauvegarde vers une instance dans une autre région ou un autre projet, puis restaurer à partir de la sauvegarde copiée.

Vous pouvez restaurer une sauvegarde des manières suivantes :

Fonctionnement de la restauration d'une base de données à partir d'une sauvegarde

Lorsque vous restaurez une base de données Spanner, vous devez spécifier une sauvegarde source et une nouvelle base de données cible. Vous ne pouvez pas restaurer une sauvegarde vers une base de données existante. La base de données nouvellement restaurée doit se trouver dans le même projet que la sauvegarde, sur une instance ayant la même configuration d'instance et la même édition Spanner (ou une édition de niveau supérieur) que la sauvegarde. Par exemple, si une sauvegarde se trouve sur une instance configurée dans la région us-west3 et utilise l'édition Enterprise, elle peut être restaurée sur toute instance du projet qui est également configurée dans la région us-west3 et utilise l'édition Enterprise. Si vous restaurez une sauvegarde dans une instance Enterprise Edition vers une instance Standard Edition, la restauration peut échouer si la base de données utilise des fonctionnalités Enterprise Edition. La capacité de calcul des instances n'a pas besoin d'être identique.

Le processus de restauration est conçu pour la haute disponibilité. La base de données peut être restaurée à condition que le quorum majoritaire des régions et des zones de l'instance soit disponible.

Pour restaurer une sauvegarde avec CMEK activé, la clé et la version de clé doivent être disponibles pour Spanner. La base de données restaurée utilise par défaut les mêmes configurations de chiffrement que la sauvegarde. Vous pouvez ignorer ce comportement en spécifiant une autre configuration de chiffrement lors de la restauration de la base de données. Pour en savoir plus, consultez la section Restaurer à partir d'une sauvegarde avec CMEK activé.

Restaurer une sauvegarde dans une autre région ou un autre projet

Si vous devez restaurer la sauvegarde dans une autre région ou un autre projet, commencez par copier la sauvegarde dans la région ou le projet de votre choix. Les sauvegardes copiées peuvent être restaurées dès que la copie est terminée. Vous pouvez restaurer la sauvegarde dans l'instance de destination (à condition qu'elle utilise la même édition que l'instance de sauvegarde source) ou dans n'importe quelle instance ayant la même configuration d'instance et la même édition (ou une édition de niveau supérieur) que l'instance de destination. Avant de restaurer une sauvegarde, assurez-vous que l'instance de destination dispose de suffisamment de nœuds ou d'unités de traitement provisionnés pour prendre en charge la taille de la base de données, conformément à la limite de stockage de 10 To par nœud (c'est-à-dire que vous avez besoin d'au moins deux nœuds pour restaurer une sauvegarde de 20 To). Si vous avez copié la sauvegarde dans un autre projet et que vous souhaitez la restaurer dans ce projet, assurez-vous que votre projet de destination dispose des quotas de nœuds requis pour la restauration. La restauration d'une sauvegarde copiée fonctionne de la même manière qu'une restauration normale.

États de la restauration

Une base de données restaurée passe par trois états, suivis par deux opérations de longue durée.

  • CREATING : Spanner commence la restauration en créant une base de données et en montant les fichiers de la sauvegarde. Pendant cet état initial CREATING, la base de données restaurée n'est pas encore prête à être utilisée. Cet état est généralement atteint en une heure. Une fois l'état CREATING terminé, votre base de données est prête à être utilisée.

    Pour suivre la progression de cet état, vous pouvez interroger l'opération de restauration de longue durée que Spanner met à disposition pendant ce processus. Elle renvoie un objet RestoreDatabaseMetadata.

    Notez les mises en garde suivantes concernant l'état CREATING :

    • Si vous effectuez une restauration sur une autre instance, l'opération de restauration appartient à l'instance contenant la base de données restaurée, et non à l'instance contenant la sauvegarde.
    • Spanner ne vous autorisera pas à supprimer la sauvegarde pendant sa restauration. Vous pouvez le supprimer une fois la restauration terminée et la base de données passée à l'état READY.
    • Une instance ne peut pas avoir plus de dix bases de données associées à l'état CREATING en raison de la restauration à partir de sauvegardes. Vous ne pourrez pas restaurer une autre sauvegarde sur l'instance tant que l'une des dix bases de données restaurées ne sera pas passée à l'état READY_OPTIMIZING ou READY.
  • READY_OPTIMIZING : Une fois la sauvegarde montée par Spanner, la copie des données de sauvegarde dans la nouvelle base de données commence, tout en optimisant la taille de stockage. Votre base de données est prête à l'emploi pendant ce processus. Cette phase de la restauration prend généralement quelques heures pour les bases de données de moins de 100 To.

    Vous pouvez utiliser votre base de données comme d'habitude pendant READY_OPTIMIZING, mais les mises en garde suivantes s'appliquent :

    • Les latences de lecture peuvent être légèrement plus élevées que d'habitude.
    • Les métriques de stockage affichent la taille de la nouvelle base de données, et non celle de la sauvegarde. Par conséquent, tant que le transfert de données est en cours, les métriques de stockage Spanner peuvent afficher des résultats qui ne reflètent pas la taille totale de toutes vos données.
    • Comme pour l'état CREATING, Spanner ne vous permettra pas de supprimer la sauvegarde installée.

    Spanner met à disposition une autre opération de restauration de longue durée pendant cet état, cette fois en renvoyant un objet de métadonnées OptimizeRestoredDatabaseMetadata.

  • READY : une fois l'opération de copie et d'optimisation terminée, la base de données passe à l'état READY. La base de données est entièrement restaurée et ne fait plus référence à la sauvegarde ni ne la nécessite.

Contrôle des accès (IAM)

Le rôle spanner.restoreAdmin vous autorise à restaurer une sauvegarde. Pour en savoir plus, consultez la page Contrôle des accès avec IAM.

Les rôles suivants ont également accès aux opérations de restauration Spanner :

  • spanner.admin : dispose d'un accès complet à la restauration. Ce rôle dispose d'un accès complet à toutes les ressources Spanner.
  • owner : dispose d'un accès complet à la restauration.
  • editor : dispose d'un accès complet à la restauration.
  • viewer : peut afficher les restaurations et les opérations de restauration. Ce rôle ne peut pas créer, mettre à jour, supprimer ni copier une sauvegarde.

Tarifs

Aucuns frais ne s'appliquent pour la restauration d'une sauvegarde.

Étapes suivantes