Présentation de la récupération à un moment précis (PITR)

La récupération à un moment précis (PITR) protège contre la suppression ou l'écriture accidentelles. La récupération à un moment précis conserve les versions de vos documents à partir d'anciens codes temporels. Par exemple, si un développeur envoie des données incorrectes, ou supprime ou écrit des données par erreur, la récupération PITR peut restaurer les données à un moment antérieur précis (au maximum sept jours).

Pour toute base de données active qui suit les bonnes pratiques, l'utilisation de la récupération à un instant donné n'affecte pas les performances de lecture ou d'écriture.

Période de récupération à un moment précis

Une fois la récupération à un moment précis activée, Cloud Firestore commence à conserver les données PITR. Les données PITR sont conservées pendant sept jours dans la période de récupération PITR.

Vous pouvez lire les données d'un code temporel en fonction de la date d'activation de la récupération PITR :

État d'activation de la récupération PITR Premières données PITR disponibles
Désactivé 1 heure avant l'heure de la demande de lecture
activé sous sept jours. 1 heure avant l'activation de la récupération PITR
activée il y a plus de sept jours 7 jours avant la date de la demande de lecture

Une seule version par minute est conservée dans la fenêtre PITR. Vous pouvez lire des documents avec une précision à la minute à l'aide d'un code temporel entier. Les lectures qui ne sont pas à la minute près, comme 2023-05-30 09:00:00.1234AM, renvoient une erreur indiquant que read_time est trop ancien.

En cas d'écritures multiples, une seule version d'un document est conservée. Par exemple, si un document a fait l'objet de plusieurs écritures entre les codes temporels v1, v2, ... vk2023-05-30 09:00:00AM (exclusif) et 2023-05-30 09:01:00AM (inclusif), une requête de lecture au code temporel 2023-05-30 09:01:00AM renvoie la version vk du document.

Vous pouvez lire les données créées pendant la période de récupération à un moment précis. Les données sont stockées avec une précision à la minute et vous pouvez les récupérer avec la même précision. La fonctionnalité PITR est désactivée par défaut.

Le champ earliestVersionTime de votre base de données spécifie l'heure de lecture la plus ancienne autorisée pour vos données.

Que la récupération PITR soit activée ou non, vous pouvez lire (mais pas exporter) les documents à n'importe quel code temporel à la microseconde près au cours de la dernière heure, mais pas avant le earliestVersionTime.

Méthodes de récupération des données

Il existe plusieurs façons de récupérer des données :

  • Pour récupérer une partie de la base de données, effectuez une lecture non actualisée en spécifiant une condition de requête ou en utilisant une recherche directe par clé avec un code temporel dans le passé, puis réécrivez les résultats dans la base de données active. Cette méthode est généralement utilisée pour les opérations chirurgicales sur une base de données en direct. Par exemple, si vous supprimez accidentellement un document spécifique ou mettez à jour de manière incorrecte un sous-ensemble de données, vous pouvez le récupérer à l'aide de cette méthode. Pour obtenir des instructions, consultez Récupérer une partie de votre base de données.

  • Pour récupérer l'intégralité de la base de données, utilisez l'une des options suivantes :

    • Cloner la base de données pour créer une copie de la base de données à un code temporel spécifique.

    • Exportez la base de données en spécifiant un code temporel dans le passé, puis importez-la dans une nouvelle base de données. L'opération d'exportation PITR est compatible avec tous les filtres, y compris l'exportation de tous les documents et l'exportation de collections spécifiques.

    Vous pouvez cloner ou exporter des données PITR dont le code temporel est un code temporel entier (en minutes) au cours des sept derniers jours, mais pas avant le earliestVersionTime.

Tarifs

Avant d'activer la récupération à un moment précis pour votre base de données, tenez compte des informations tarifaires suivantes :

  • Stockage : Cloud Firestore mesure la taille de la base de données quotidiennement. Au cours d'un mois, ces points d'échantillonnage sont moyennés pour calculer la taille de stockage de la base de données. Cette valeur moyenne est multipliée par le prix unitaire de la récupération ponctuelle dans le temps (Go/mois). Pour en savoir plus, consultez les tarifs de stockage.

    Le stockage PITR ne dispose pas de niveau sans frais. Vous devez activer la facturation si vous souhaitez utiliser la récupération à un moment précis.

  • Facturation du calcul : toutes les requêtes que vous effectuez pendant la période de récupération ponctuelle de sept jours, que ce soit par le biais de lectures obsolètes ou d'exportations, entraînent des coûts d'opération de lecture en fonction du nombre de documents lus. Consultez la page Tarifs pour plus de détails.

  • Facturation minimale : vous pouvez être facturé jusqu'à un jour de coût de stockage PITR, même si vous désactivez PITR dans la journée suivant son activation.

Étape suivante