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

La récupération à un moment précis (PITR, Point-in-time Recovery) de Cloud Firestore fournit une protection contre les suppressions ou les écritures 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, des suppressions ou des écritures accidentelles, PITR peut récupérer les données à un moment antérieur précis (au maximum sept jours) sans problème.

Pour toute base de données active qui respecte les bonnes pratiques, l'utilisation de la récupération à un moment précis n'affecte pas les performances en lecture ou en écriture.

Fenêtre PITR

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 PITR.

Vous pouvez lire les données d'un code temporel en fonction de la date à laquelle la récupération PITR a été activée:

État de l'activation de la PITR Données PITR les plus anciennes disponibles
Désactivé 1 heure avant l'heure de la requête de lecture
Activation sous 7 jours 1 heure avant l'activation de la récupération PITR
activées il y a plus de 7 jours 7 jours avant l'heure de la requête de lecture

Une seule version par minute est conservée dans la fenêtre PITR. Vous pouvez lire des documents à la minute près à l'aide d'un horodatage d'une minute entière. Les lectures qui ne sont pas à la minute près, par exemple 2023-05-30 09:00:00.1234AM, renverront une erreur indiquant que la valeur read_time est trop ancienne.

En cas d'écritures multiples, une seule version du document est conservée. Par exemple, si un document a subi plusieurs écritures allant de v1, v2, ... vk entre le code temporel 2023-05-30 09:00:00AM (exclu) et 2023-05-30 09:01:00AM (inclus), 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 fenêtre PITR. Les données sont stockées à la minute près et vous pouvez les récupérer avec la même précision. La fonctionnalité PITR de Cloud Firestore est désactivée par défaut.

Le champ earliestVersionTime de votre base de données spécifie le délai de lecture le plus tôt autorisé pour vos données.

Que la récupération PITR soit activée ou non, vous pouvez lire (mais pas exporter) des documents à n'importe quel code temporel de granularité microseconde au cours de la dernière heure, mais pas avant la date de la première version.

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

Il existe deux 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 de clé directe avec un code temporel passé, puis écrivez à nouveau les résultats dans la base de données active. Elle 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 un sous-ensemble de données de manière incorrecte, vous pouvez les récupérer à l'aide de cette méthode. Pour obtenir des instructions, consultez la section Récupérer une partie de votre base de données.

  • Pour récupérer l'intégralité de la base de données, exportez la base de données en spécifiant un horodatage 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 exporter des données PITR où le code temporel correspond à une minute entière au cours des sept derniers jours, mais pas avant la date et l'heure de la version la plus ancienne.

Tarifs

Tenez compte des informations tarifaires suivantes avant d'activer la récupération PITR pour votre base de données:

  • Stockage: Cloud Firestore mesure la taille de la base de données quotidiennement. Sur la période d'un mois, la moyenne de ces points d'échantillon est calculée pour calculer la taille de stockage de la base de données. Cette valeur moyenne est multipliée par le prix unitaire de l'ITR (Go/mois). Pour en savoir plus, consultez les tarifs de stockage.

    Le stockage PITR n'est pas disponible en version sans frais. Vous devez activer la facturation pour pouvoir l'utiliser.

  • Facturation Compute: toutes les requêtes que vous effectuez pendant la période PITR de sept jours, que ce soit via des lectures obsolètes ou des 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 de la récupération à un moment précis, même si vous désactivez cette fonctionnalité dans un délai d'un jour après l'avoir activée.

Étape suivante