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

Firestore en mode Datastore offre une protection contre les suppressions ou les écritures accidentelles. La récupération à un moment précis gère les versions de vos entités à partir d'horodatages passés. Par exemple, si un développeur transmet des données incorrectes, des suppressions ou des écritures accidentelles, la récupération à un moment précis peut récupérer les données à un moment précis dans le passé (jusqu'à sept jours maximum) de manière fluide.

Pour toutes les bases de données actives qui respectent les bonnes pratiques, l'utilisation de la récupération à un moment précis n'affecte pas les performances des opérations de lecture ou d'écriture.

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

Une fois que vous avez activé la récupération à un moment précis, le mode Datastore commence à conserver les données PITR. Les données PITR sont conservées pendant sept jours.

Vous pouvez lire les données d'un code temporel en fonction du moment où la récupération à un moment précis a été activée:

État d'activation de la récupération à un moment précis Premières données PITR 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 à un moment précis
Activé il y a plus de 7 jours 7 jours avant l'heure 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 près à l'aide d'un horodatage entier. Une seule version d'un document est conservée en cas d'écritures multiples. Par exemple, si un document a fait l'objet de plusieurs écritures allant de v1, v2, ... vk entre 2023-05-30 09:00:00AM (exclusif) 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 au cours de la fenêtre PITR. Les données sont stockées à la minute près, et vous pouvez récupérer les données avec la même précision. La fonctionnalité de récupération à un moment précis du mode Datastore est désactivée par défaut.

Le champ earliestVersionTime de votre base de données spécifie la durée de lecture la plus proche autorisée pour vos données.

Que la récupération à un moment précis soit activée ou non, vous pouvez lire (mais pas exporter) des documents à n'importe quel horodatage de précision de l'ordre de la microseconde au cours de la dernière heure, mais pas avant 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 à l'aide de la recherche directe par clé avec un horodatage passé, puis écrivez les résultats dans la base de données active. Cette méthode est généralement utilisée pour des opérations chirurgicales sur une base de données active. Par exemple, si vous supprimez accidentellement une entité particulière ou si vous mettez à jour un sous-ensemble de données de manière incorrecte, vous pouvez la 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 code temporel 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 toutes les entités et l'exportation de genres ou d'espaces de noms spécifiques. Notez que l'exportation d'une base de données peut prendre plusieurs heures. 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 antérieure à la date de version anticipée (earliestVersionTime).

Tarification

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

  • Stockage: le mode Datastore mesure la taille de la base de données quotidiennement. Sur une période d'un mois, nous calculons la moyenne de ces points d'échantillonnage 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 à un moment précis (Go par mois). Pour plus d'informations, consultez les tarifs de stockage.

    Le stockage PITR ne propose pas de version gratuite et la facturation doit être activée si vous souhaitez utiliser la récupération à un moment précis.

  • Facturation des calculs: toutes les requêtes que vous effectuez au cours de la période de récupération à un moment précis de sept jours, via des lectures ou des exportations non actualisées, entraînent des coûts d'opération de lecture basés sur le nombre de documents lus. Consultez la page pricing pour plus de détails.

  • Facturation minimale: les frais de stockage PITR peuvent vous être facturés jusqu'à un jour, même si vous désactivez la récupération PITR dans les 24 heures suivant l'activation.

Étapes suivantes