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 et le schéma de la base de données d'origine
à la version_time 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 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.
- 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. Restaurez la base de données dans le même projet que la sauvegarde. L' instance de destination doit utiliser la même configuration d'instance que l'instance de sauvegarde. L'instance de destination vous permet d'utiliser une capacité de calcul différente de celle de l'instance source.
Lorsque vous restaurez une base de données, tenez compte des règles de compatibilité suivantes pour l' édition Spanner :
- Spanner permet de restaurer la base de données dans une instance qui utilise une édition de même niveau ou de niveau supérieur à celle de l'instance de sauvegarde.
- Vous pouvez restaurer la base de données dans une instance qui utilise une édition de niveau inférieur. Toutefois, l'opération de restauration échoue si la base de données utilise des fonctionnalités qui ne sont pas disponibles dans l'édition de niveau inférieur.
Pour restaurer une sauvegarde dans une instance avec 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 vous disposez d'une sauvegarde dans une instance qui utilise la configuration us-west3, vous pouvez la restaurer dans n'importe quelle instance du projet qui utilise également la configuration us-west3. Toutefois, pour restaurer cette sauvegarde dans une instance qui utilise la configuration 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.
Le processus de restauration est conçu pour une 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 des clés de chiffrement gérées par le client (CMEK)activées, 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 Restaurer à partir d'une sauvegarde avec CMEK activé.
Vous ne pouvez restaurer une base de données dans une édition de niveau inférieur que si elle utilise des fonctionnalités disponibles dans cette édition. Par exemple, si la base de données utilise le partitionnement géographique, vous devez la restaurer dans une instance qui utilise l' édition Enterprise Plus.
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 permet pas de 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 supérieures à la normale.
- 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 permet pas de supprimer la sauvegarde montée.
Spanner met à disposition une autre opération de restauration de longue durée pendant cet état, cette fois en renvoyant 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. 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.