Créer une sauvegarde

Vous pouvez créer une sauvegarde de n'importe quelle base de données Spanner. Ces sauvegardes sont complètes dans le sens où elles contiennent toutes les données de la base de données (y compris le schéma et les index secondaires) au niveau du version_time de la sauvegarde. Les modifications apportées aux données ou au schéma après la version_time ne sont pas incluses dans la sauvegarde. Les sauvegardes incluent toutes les options de base de données définies avec la commande ALTER DATABASE SET OPTIONS, mais n'incluent pas les stratégies Identity and Access Management (IAM). Lorsque vous créez une sauvegarde, celle-ci se trouve dans la même instance, la même région et le même projet que sa base de données source.

Vous pouvez créer une sauvegarde de différentes manières:

Pour en savoir plus sur la sauvegarde et la restauration, consultez la section À propos de la sauvegarde et de la restauration.

Fonctionnement de la création d'une sauvegarde

Lorsque vous créez une sauvegarde, vous devez spécifier une base de données source, un nom pour la ressource de sauvegarde et une date d'expiration (jusqu'à un an à compter de la date de création de la sauvegarde). Vous pouvez également spécifier un élément version_time, ce qui vous permet de sauvegarder votre base de données à un moment précis. Le champ version_time est généralement utilisé pour synchroniser les sauvegardes de plusieurs bases de données ou pour récupérer des données à l'aide de la récupération à un moment précis. Si version_time n'est pas spécifié, il est défini sur le create_time de la sauvegarde. Le système crée une ressource de sauvegarde et une opération de sauvegarde de longue durée pour suivre la progression de la sauvegarde. La nouvelle sauvegarde se trouve dans la même instance, la même région et le même projet que sa base de données source.

Pour garantir la cohérence externe de la sauvegarde, Spanner épingle le contenu de la base de données à l'emplacement create_time. Cela empêche le système de récupération de mémoire de supprimer les valeurs de données pertinentes pendant toute la durée de l'opération de sauvegarde. Ensuite, chaque zone de lecture/écriture et de 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 n'est pas de nouveau en ligne et terminée. Les sauvegardes peuvent être restaurées dès la fin de l'opération. Pour les instances multirégionales, toutes les zones en lecture/écriture et en lecture seule de toutes les régions doivent terminer leurs instances répliquées de sauvegarde avant que la sauvegarde ne soit marquée comme pouvant être restaurée.

Les sauvegardes incluent également le schéma des flux de modifications d'une base de données, mais pas les enregistrements de modifications existants. Les données de flux de modifications sont destinées à être diffusées et consommées presque simultanément avec les modifications qu'elles décrivent. Par conséquent, Spanner exclut ces données des sauvegardes.

Chiffrement

Les sauvegardes Spanner, comme les bases de données, sont chiffrées par le chiffrement géré par Google ou par le client. 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 autre configuration de chiffrement lors de la création de la sauvegarde. Si la sauvegarde est activée pour les clés CMEK, elle est chiffrée à l'aide de la version principale de la clé KMS au moment de la création de la sauvegarde. Une fois la sauvegarde créée, la clé et la version de clé associées ne peuvent plus être modifiées, même si la clé KMS est alternée. Pour en savoir plus, consultez la section Créer une sauvegarde compatible avec CMEK.

Hiérarchie des ressources

Les sauvegardes sont des ressources dans Spanner. Chaque ressource de sauvegarde est organisée dans la même instance que sa base de données source dans la hiérarchie des ressources, et possède un chemin d'accès à la ressource au format projects/<project>/instances/<instance>/backups/<backup>. Une sauvegarde continue d'exister même après la suppression de sa base de données source, mais elle ne peut pas survivre à son instance parente. Pour éviter la suppression accidentelle de sauvegardes, vous ne pouvez pas supprimer une instance Spanner s'il existe des sauvegardes. Si vous souhaitez supprimer l'instance, nous vous recommandons de restaurer la sauvegarde, puis d'exporter la base de données restaurée avant de supprimer la sauvegarde et l'instance.

Délai de sauvegarde et performances

Lorsque vous effectuez 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. Elle 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 l'achèvement d'une opération de sauvegarde, consultez la section Afficher la progression de la sauvegarde.

À titre de référence, la plupart des sauvegardes prennent entre une et quatre heures. Certaines sauvegardes peuvent prendre plus de temps en raison de leur taille ou en raison d'une mise en file d'attente interne pour les ressources. Si une sauvegarde prend plus de temps que d'habitude lorsqu'aucun autre facteur n'a changé, cela peut être dû à un retard de 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 vous risquez de rencontrer le même délai de planification avec la nouvelle opération de sauvegarde.

Contrôle des accès (IAM)

Les rôles spanner.backupAdmin et spanner.backupWriter vous autorisent à créer une sauvegarde. Avec l'un de ces rôles, vous pouvez appeler une requête de création de sauvegarde sur l'instance. Pour en savoir plus, consultez la page Contrôle des accès avec IAM.

Tarification

Vous êtes facturé en fonction de la quantité de stockage utilisée par vos sauvegardes par unité de temps. La facturation commence une fois l'opération de création de sauvegarde terminée et se poursuit jusqu'à ce que la sauvegarde soit supprimée. Une sauvegarde terminée est facturée pour un minimum de 24 heures. Si vous créez une sauvegarde et que vous la supprimez une minute après la fin de l'opération, vous êtes toujours facturé pour 24 heures.

Étapes suivantes