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 version_time de création de la sauvegarde, y compris toutes les options de base de données définies
avec la ALTER DATABASE SET OPTIONS
commande. Toutefois, les éléments suivants ne sont pas inclus dans la base de données restaurée :
- Autorisations Identity and Access Management (IAM) (à l'exception de celles héritées de l' instance hébergeant 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.
- Durée de vie (TTL) définie par une règle de suppression de lignes. Vous devez reconfigurer ces règles une fois la restauration terminée. Pour en savoir plus, consultez Sauvegardes et TTL.
- Points de division que vous avez créés lors de la pré-division d'une base de données. Pour en savoir plus, consultez Présentation de la pré-division.
Si vous devez effectuer une restauration à partir d'une sauvegarde dans une autre région ou un autre projet pour des raisons de conformité ou de continuité d'activité, vous pouvez copier la sauvegarde dans une instance d'une autre région ou d'un autre projet, puis effectuer la restauration à partir de la sauvegarde copiée.
Vous pouvez effectuer une restauration à partir d'une sauvegarde de différentes manières :
- Dans la Google Cloud console
- En utilisant Google Cloud CLI
- À l'aide des bibliothèques clientes
- À l'aide des REST ou RPC API
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. Pour restaurer une sauvegarde dans une instance ayant une configuration d'instance différente ou dans un autre projet, vous pouvez d'abord copier la sauvegarde dans la région ou le projet cible.
Par exemple, si une sauvegarde se trouve dans une instance configurée sur us-west3 et utilise l'édition Enterprise, elle peut être restaurée dans n'importe quelle instance du projet également configurée sur us-west3 et utilisant l'édition Enterprise. Toutefois, pour restaurer cette sauvegarde dans une instance configurée sur us-east1 ou dans une instance d'un autre projet, vous devez d'abord copier la sauvegarde dans une instance de la région ou du projet cible, puis effectuer la restauration à partir de la sauvegarde copiée. Si vous restaurez une sauvegarde dans une instance de l'édition Enterprise dans une instance de l'édition Standard, la restauration peut échouer si la base de données utilise des fonctionnalités de l'édition Enterprise. La capacité de calcul des
instances n'a pas besoin d'être identique.
Le processus de restauration est conçu pour la haute disponibilité. Vous pouvez restaurer la base de données à condition que le quorum majoritaire des régions et des zones de l'instance cible 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 configuration de chiffrement différente 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é.
Vous ne pouvez pas restaurer une sauvegarde qui utilise des fonctionnalités d'une édition de niveau supérieur dans une édition de niveau inférieur. Par exemple, si votre instance utilise le partitionnement géographique, vous ne pouvez pas la restaurer dans l'édition Enterprise ni dans l'édition Standard.
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, d'abord, copiez la sauvegarde dans la région ou le projet de votre choix. Vous pouvez restaurer la sauvegarde copiée dès que la copie est terminée. Avant de procéder à la restauration, 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. Par exemple, 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 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 des fichiers à partir de la sauvegarde. Au cours de cet étatCREATINGinitial, la base de données restaurée n'est pas encore prête à être utilisée. Cet état se termine généralement en une heure. Une fois l'étatCREATINGterminé, 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 au cours de ce processus. Elle renvoie un
RestoreDatabaseMetadataobjet.Notez les mises en garde suivantes concernant l'état
CREATING:- Si vous effectuez une restauration dans 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 autorise pas à supprimer la sauvegarde pendant sa restauration. Vous pouvez la supprimer une fois la restauration terminée et la base de données passée à l'état
READY. - Une instance peut comporter au maximum dix bases de données à l'état
CREATINGen raison de la restauration à partir de sauvegardes. Vous ne pourrez pas restaurer une autre sauvegarde dans l'instance tant que l'une des dix bases de données restaurées ne sera pas passée à l'étatREADY_OPTIMIZINGouREADY.
READY_OPTIMIZING: une fois que Spanner a monté la sauvegarde, il commence à copier les données de sauvegarde dans la nouvelle base de données tout en optimisant sa taille de stockage. Votre base de données est prête à être utilisée 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.Bien que vous puissiez utiliser votre base de données comme d'habitude pendant l'état
READY_OPTIMIZING, 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, le transfert de données étant toujours 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 autorise pas à supprimer la sauvegarde montée.
Spanner met à disposition une autre opération de restauration de longue durée pendant cet état, qui renvoie cette fois un objet de
OptimizeRestoredDatabaseMetadatamétadonnées.READY: une fois l'opération de copie et d'optimisation terminée, la base de données passe à l'étatREADY. La base de données est entièrement restaurée et ne référence ni ne nécessite plus la sauvegarde.
Contrôle des accès (IAM)
Le rôle spanner.restoreAdmin vous autorise à effectuer une restauration à partir d'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: a accès à l'affichage des opérations de restauration et 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.
Étape suivante
- Pour restaurer une base de données à partir d'une sauvegarde, consultez Restaurer à partir d'une sauvegarde.