Descripción general de la recuperación de un momento determinado (PITR)

La recuperación de un momento determinado (PITR) de Firestore proporciona protección contra escrituras o eliminaciones accidentales. La PITR mantiene versiones de tus documentos de marcas de tiempo anteriores. Por ejemplo, en caso de que un desarrollador envíe datos incorrectos o realice eliminaciones o escrituras accidentales, la PITR puede recuperar los datos a un momento determinado del pasado (hasta un máximo de 7 días) de forma transparente.

Para cualquier base de datos activa que siga las prácticas recomendadas, el uso de la PITR no afecta el rendimiento de las lecturas o escrituras.

Ventana de la PITR

Después de habilitar la PITR, Firestore comienza a retener los datos de la PITR. Los datos de la PITR se conservan durante 7 días en la ventana de la PITR.

Puedes leer los datos de una marca de tiempo basada en el momento en que se habilitó la PITR:

Estado de habilitación de la PITR Datos de la PITR más recientes disponibles
Inhabilitado 1 hora antes del momento de la solicitud de lectura
habilitada hace 7 días o menos 1 hora antes de que se habilitara la PITR
habilitada hace más de 7 días 7 días antes del momento de la solicitud de lectura

Se retiene una sola versión por minuto en la ventana de PITR. Puedes leer documentos al nivel de detalle por minuto con una marca de tiempo de un minuto entero. Las lecturas que no están en el nivel de detalle por minuto, p.ej., 2023-05-30 09:00:00.1234AM, mostrarán un error que indica que read_time es demasiado antiguo.

En caso de varias operaciones de escritura, solo se retiene una versión de un documento. Por ejemplo, si un documento tiene varias operaciones de escritura que van desde v1, v2, ... vk entre la marca de tiempo 2023-05-30 09:00:00AM (exclusiva) y 2023-05-30 09:01:00AM (inclusive), una solicitud de lectura en la marca de tiempo 2023-05-30 09:01:00AM muestra la versión vk del documento.

Puedes leer a partir de los datos creados durante la ventana de la PITR. Los datos se almacenan a un nivel de detalle por minuto y puedes recuperarlos con el mismo nivel de detalle. La función de PITR de Firestore está inhabilitada de forma predeterminada.

El campo earliestVersionTime de tu base de datos especifica el tiempo de lectura más temprano permitido para tus datos.

Independientemente de si la PITR está habilitada o no, puedes leer documentos (pero no exportarlos) en cualquier marca de tiempo con nivel de detalle de microsegundos dentro de la última hora, pero no antes de earliestVersionTime.

Cómo recuperar datos

Existen dos maneras de recuperar datos:

  • Para recuperar una parte de la base de datos, realiza una lectura inactiva que especifique una condición de consulta o usa la búsqueda directa de claves junto con una marca de tiempo en el pasado. Luego, vuelve a escribir los resultados en la base de datos activa. Por lo general, se usa para realizar operaciones quirúrgicas en una base de datos activa. Por ejemplo, si borras accidentalmente un documento en particular o actualizas un subconjunto de datos de forma incorrecta, puedes recuperarlos con este método. Para obtener instrucciones, consulta Recupera una parte de tu base de datos.

  • Para recuperar la base de datos completa, exporta la base de datos especificando una marca de tiempo anterior y, luego, impórtala a una base de datos nueva. La operación de exportación de la PITR admite todos los filtros, incluida la exportación de todos los documentos y la exportación de colecciones específicas. Puedes exportar datos de PITR en los que la marca de tiempo sea una de un minuto completo dentro de los últimos siete días, pero no antes que la earliestVersionTime.

Precios

Ten en cuenta la siguiente información de precios antes de habilitar la PITR para tu base de datos:

  • Almacenamiento: Firestore mide el tamaño de la base de datos a diario. En un período de un mes, se promedian estos puntos de muestra para calcular el tamaño de almacenamiento de la base de datos. Este valor promedio se multiplica por el precio unitario de la PITR (GB al mes). Consulta los precios de almacenamiento para obtener más información.

    El almacenamiento de la PITR no tiene un nivel gratuito y debes habilitar la facturación si quieres usarla.

  • Facturación de procesamiento: Cualquier consulta que realices durante la ventana de PITR de 7 días, ya sea a través de operaciones de lectura inactivas o exportaciones, generan costos de operación de lectura según la cantidad de documentos leídos. Consulta pricing para obtener más información.

  • Facturación mínima: Es posible que se te cobre hasta 1 día de costo de almacenamiento de la PITR, incluso si la inhabilita en el plazo de un día después de la habilitación.

¿Qué sigue?